OSDN Git Service

* config/rs6000/rs6000.c (setup_incoming_varargs): Remove
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2
3         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
4         code supporting old-style varargs.
5
6         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
7         an intermediate register for better optimisation.
8
9 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10
11         * cfgloopanal.c (variable_initial_value, variable_initial_values,
12         simple_loop_exit_p): Record the fact that initial value is extended
13         from inner mode.
14         (count_strange_loop_iterations, count_loop_iterations): Handle
15         ivs that iterate in a narrower mode. Fix handling of overflows.
16         Improve handling of NE conditions.
17         (inverse, fits_in_mode_p): New static functions.
18         (simple_increment): Detect variables that iterate in a narrower mode.
19         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
20
21 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
22
23         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
24         error.
25
26         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
27         needs VRSAVE.
28
29 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
30
31         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
32         conditional expressions as lvalues.
33
34 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
35
36         * tsystem.h: Add the prototype of strlen.
37         * unwind-pe.h (read_encoded_value_with_base): Add an
38         appropriate cast to handle a case where the pointer size is
39         smaller than sizeof (int).
40
41 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
42
43         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
44         (mips_delegitimize_address): Delete.
45         (mips_gotoff_global, mips_load_got_page): Declare.
46         (mips_load_got_global, mips_rewrite_small_data): Declare.
47
48         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
49         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
50         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
51         small_data_pattern.  Remove CONST from const_arith_operand's entry.
52
53         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
54         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
55         (mips_constant_type): Delete.
56         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
57         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
58         (NUM_SYMBOL_TYPES): New macro.
59         (mips_address_type): Remove ADDRESS_INVALID.
60         (machine_function): Add has_gp_insn_p.
61         (mips_constant_info): Delete.
62         (mips_address_info): Add the address type as an extra field.  Replace
63         the c field with symbol_type.
64         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
65         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
66         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
67         (mips_split_const, mips_symbolic_constant_p): New functions.
68         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
69         (mips_classify_address): Return true if the address is valid, storing
70         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
71         to test whether a LO_SUM address is allowed.
72         (mips_symbol_insns): Return 0 for general mips16 symbols.
73         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
74         Handle the new SYMBOL_GOTOFF_*s.
75         (mips_address_insns): Update call to mips_classify_address.
76         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
77         of mips_classify_constant.  Be more accurate about CONSTs.
78         (mips_global_pic_constant_p): Delete.
79         (const_arith_operand): Only accept CONST_INTs.
80         (call_insn_operand): Remove call to mips_classify_constant.
81         Let mips_symbolic_constant_p check for invalid offsets.
82         (move_operand): Check for general_operands first.  Only accept symbolic
83         constants if they satisfy mips_symbolic_constant_p and cannot be split.
84         (symbolic_constant): Use mips_symbolic_constant_p.
85         (global_got_operand, local_got_operand): New predicates.
86         (stack_operand): Update call to mips_classify_address.
87         (mips_legitimate_address_p): Likewise.
88         (mips_reloc, mips_lui_reloc): Delete.
89         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
90         Use emit_move_insn.
91         (mips_split_symbol, mips_unspec_address): New functions.
92         (mips_unspec_offset_high): New function.
93         (mips_load_got): Replace reloc argument with a symbol_type.
94         Use mips_unspec_address to create the address and put it in a
95         LO_SUM with the base register.
96         (mips_load_got16, mips_load_got32): Delete.
97         (mips_emit_high, mips_legitimize_symbol): Delete.
98         (mips_gotoff_global): New function.
99         (mips_load_got_page, mips_load_got_global): New functions.
100         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
101         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
102         Inline code to handle constants plus invalid offsets.  Use
103         mips_split_symbol to legitimize constant pool addresses.
104         (mips_delegitimize_address): Delete.
105         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
106         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
107         (mips_subword): Pass memrefs through mips_rewrite_small_data.
108         (mips_output_move): Remove use of mips_classify_constant.
109         (mips_expand_call): Use mips_unspec_offset_high to calculate the
110         high part of the GOT address for calls to global functions.
111         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
112         and mips_hi_relocs[].
113         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
114         Remove use of mips_classify_constant.
115         (mips_reloc_string): Delete.
116         (print_operand_reloc): New function.
117         (print_operand_address): Update call to mips_classify_address.
118         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
119         (small_data_pattern): New predicate.
120         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
121         (mips_function_has_gp_insn): New function.
122         (mips_global_pointer): Use it.
123         (mips_gp_insn): Delete.
124         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
125         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
126         from the start of the current function.
127         (mips16_gp_pseudo_reg): Revert last patch.
128
129         * config/mips/mips.md (RELOC_*): Delete.
130         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
131         (got): New insn attribute.
132         (type): Set to "load" if got == load.
133         (length): Set to 4 if got == load, 8 if got == xgot_high.
134         (lui[sd]i): Delete.
135         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
136         (*got_disp[sd]i, *got_page[sd]i): Likewise.
137         (*low[sd]i): Change constraints to "d".  Add a new define_split to
138         rewrite small data constants into LO_SUMs.
139         (loadgp): New insns.
140
141 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
142
143         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
144
145 2003-11-04  DJ Delorie  <dj@redhat.com>
146
147         * config/v850/v850.md (mulhisi3): Expand the const_int case
148         separately to avoid trying to sign extend the const.
149
150 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
151
152         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
153         addresses to be shared.
154         (force_const_mem): Return a copy of the pool entry.
155
156 2003-11-03  Andreas Jaeger  <aj@suse.de>
157
158         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
159
160 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
161
162         * Makefile.in (cpp.dvi): New target split from cpp.info.
163         (gcc.dvi):  New target split from gcc.info.
164         (gccint.dvi): New target split from gccint.info.
165         (cppinternals.dvi): New target split from cppinternals.info
166         (gccinstall.info): New specific rule.
167         (gccinstall.dvi): Likewise.
168         (dvi): Move targets to $(docobjdir).
169         ($(docobjdir)/%.dvi): New implicit rule.
170
171 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
172
173         * doc/gty.texi (tag, desc): Say more about role of desc values in
174         selecting between tags.
175
176 2003-11-03  Alexander Kabaev  <ak03@gte.com>
177
178         * real.c (encode_ieee_single): Ensure proper promotion.
179
180 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
181
182         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
183         and Andrew Pinski.
184
185 2003-11-03  Syd Polk  <spolk@apple.com>
186
187         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
188         marketing names to the list of supported processors.
189         * config/rs6000/rs6000.h: Ditto.
190         * doc/invoke.texi: Ditto.
191         * config.gcc: Ditto.
192
193 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
194
195         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
196         Merge two substitutions.
197         * fixinc/fixincl.x: Regenerate.
198         Fixes PR bootstrap/12666.
199
200 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
201
202         * doc/install-old.texi: Remove VMS documentation.
203
204 2003-11-03  Jan Hubicka  <jh@suse.cz>
205
206         * i386.c (override_options):  Remove hack enabling 128bit long double
207         commited by accident.
208
209 2003-11-02  Per Bothner  <per@bothner.com>
210
211         * c-opts.c (needValue):  Do cpp_find_main_file before processing
212         any imacros flags, so pfile->main_file is set for the latter.
213
214 2003-11-03  Andreas Jaeger  <aj@suse.de>
215             Zack Weinberg  <zack@codesourcery.com>
216
217         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
218         (SYSCALLS.c.X-warn): Suppress warnings.
219
220 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
221
222         PR optimization/12845
223         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
224
225 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
226
227         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
228         * config/i386/i386.c (print_reg): Abort on a virtual register
229         if code != -1; not if file == asm_out_file.
230         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
231         (DEBUG_PRINT_REG): Delete, unused.
232
233 2003-11-02  Andreas Schwab  <schwab@suse.de>
234
235         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
236         empty to avoid conflict with the definition from configure.
237
238 2003-11-02  Roger Sayle  <roger@eyesopen.com>
239
240         PR optimization/10817
241         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
242         (noce_try_move): New function to optimize an if-the-else into an
243         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
244         (noce_process_if_block): Attempt simplification with noce_try_move.
245
246         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
247         and improvements to the optimizations of IF_THEN_ELSE expressions.
248         (simplify_subreg): Silence signed/unsigned comparison warning.
249
250 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
251
252         * Makefile.in (targhooks.o, reload.o): Update dependencies.
253         (GTFILES): Add targhooks.c.
254         (gt-targhooks.h): New rule; depend on s-gtype.
255         * target.h (direct_pool_load_p): New hook.
256         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
257         (TARGET_INITIALIZER): Include it.
258         * targhooks.h (default_direct_pool_load_p): Declare.
259         (hook_bool_machine_mode_true): Declare.
260         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
261         gt-targhooks.h.
262         (pool_symbol): New variable.
263         (default_direct_pool_load_p): New function.
264         (hook_bool_machine_mode_true): New function.
265         * reload.c: Include target.h.
266         (find_reloads): If an alternative will force a constant into memory,
267         count an extra reload if constant pool symbols are not valid
268         addresses.  If an alternative uses memory to move values between
269         registers, count the move as two reloads rather than one.
270         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
271         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
272
273 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
274
275         PR optimization/12799
276         * postreload.c (reload_cse_move2add): Generate the add2
277         patterns manually.
278
279 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
280
281         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
282         Return 0 for all complex modes whose size is lesser or equal to
283         a word.  Add a ??? comment for the condition used with 16-byte
284         aligned modes.
285
286 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
287
288         * .cvsignore: Remove c-parse* and tradcif.c.
289         * objc/.cvsignore: Delete.
290
291 2003-11-01  Roger Sayle  <roger@eyesopen.com>
292
293         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
294         of NULL.
295
296 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
297
298         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
299
300         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
301
302         * collect2.c (scan_libraries): Fix typos.
303
304         PR preprocessor/12847
305         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
306         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
307         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
308         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
309         "CPP_".
310
311 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
312
313         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
314         no_units calculation.
315
316 2003-11-01  Andreas Jaeger  <aj@suse.de>
317
318         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
319         enumeration list.
320
321 2003-11-01  Andreas Schwab  <schwab@suse.de>
322
323         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
324         prototypes.
325         (SBSS_SECTION_FUNCTION): Likewise.
326
327 2003-11-01  Andreas Jaeger  <aj@suse.de>
328
329         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
330
331 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
332
333         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
334         prototypes.
335
336 2003-11-01  Andreas Jaeger  <aj@suse.de>
337
338         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
339         (uw_frame_state_for): Constify variables.
340         (extract_cie_info): Constify first argument.
341
342         * unwind-dw2-fde-darwin.c: Adjust prototype of
343         _Unwind_Find_registered_FDE for recent changes.
344         (examine_objects): Constify return value and local variable result.
345         (_Unwind_Find_FDE): Constify return value and local variable ret.
346
347 2003-10-31  Per Bothner  <pbothner@apple.com>
348
349         * c-opts.c (finish_options):  Change to returns boolean - false iff
350         the call to cpp_find_main_file fails.
351         (c_common_init):  Skip preprocess_file if finish_options failed.
352         (c_common_parse_file):  Break if finish_options failed.
353         Fixes PR preprocessor/12545.
354
355 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
356
357         * aclocal.m4: Blacklist ultrix* for mmap file.
358         * configure: Rebuilt.
359
360         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
361         reg_parm_stack_space.
362         * toplev.c (default_get_pch_validity): Fix warning.
363
364         * vax.c: Include toplev.h.
365         (vax_init_libfuncs): Fix typo (umod).
366         * vax.h (ASM_COMMENT_START): Define.
367         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
368
369 2003-10-31  Roger Sayle  <roger@eyesopen.com>
370
371         PR middle-end/11968
372         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
373         confusing comment; distributivity isn't handled in expand_expr.
374         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
375         in distributivity, if wrap-around semantics are specified with
376         -fwrapv.
377
378 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
379
380         PR 12315
381         * final.c (profile_function): Allow for NULL svrtx.
382
383 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
384
385         * pa.c (pa_select_section): Use new style declaration.
386         * som.h (readonly_data): Likewise.
387
388 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
389
390         * config/rs6000/rs6000.c: Update to C90 prototypes.
391
392 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
393
394         PR target/7513
395         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
396         code.
397
398 2003-10-31  Andreas Jaeger  <aj@suse.de>,
399             Zack Weinberg  <zack@codesourcery.com>
400
401
402         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
403         (__deregister_frame_info, __deregister_frame_info_bases):
404         Constify void * argument.
405         * unwind-dw2-fde.h (struct fde_vector):
406         Constify 'orig_data' and 'array' fields.
407         (__register_frame_info, __register_frame_info_bases)
408         (__deregister_frame_info, __deregister_frame_info_bases):
409         Constify void * argument.
410         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
411         return values, and casts of type fde *, struct dwarf_fde *,
412         and struct dwarf_cie *.
413         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
414         (__deregister_frame_info, __deregister_frame_info_bases):
415         Constify void * argument.
416         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
417         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
418         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
419         fde_split, SWAP, frame_downheap, frame_heapsort)
420         (classify_object_over_fdes, add_fdes, linear_search_fdes,
421         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
422         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
423         Constify arguments, local variables, return values, and casts
424         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
425         Use const pointer types in sizeof expressions, for clarity.
426         * unwind-dw2-fde-glibc.c
427         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
428         (struct unw_eh_callback_data): Constify 'ret' field.
429
430 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
431             David Edelsohn  <edelsohn@gnu.org>
432
433         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
434         (function_arg): Call it.
435         (rs6000_function_value): Widen integral return value to mode based
436         on TARGET_32BIT, not word_mode.
437         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
438         (UNITS_PER_ARG): New.
439         (RS6000_ARG_SIZE): Use it.
440
441 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
442
443         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
444         and gengtype-yacc.h.
445
446 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
447
448         PR optimization/8896
449         * postreload.c (reload_combine): Check that REGY doesn't die in an
450         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
451
452 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
453
454         PR/10239
455         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
456
457 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
458
459         PR/11640
460         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
461         immediatelly before BARRIER.
462
463 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
464
465         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
466
467 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
468
469         PR target/11271
470         * reload.c (find_reloads_address): Handle any register in
471         (PLUS (PLUS (REG) (REG)) (CONST_INT).
472
473 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
474
475         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
476         ENABLE_GC_CHECKING not in GGC_POISON.
477
478 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
479
480         PR bootstrap/9863
481         * configure.in: Bail out if awk is missing.
482         * configure: Regenerate.
483
484         PR ada/12761
485         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
486         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
487
488 2003-10-30  Richard Henderson  <rth@redhat.com>
489
490         * c-objc-common.c (c_tree_printer): Handle types correctly.
491         Factor code a bit.
492
493 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
494
495         * value-prof.c, web.c: Update to C90.
496
497 2003-10-30  Eric Christopher  <echristo@redhat.com>
498
499         * function.c (purge_addressof_1): Add case for REG_RETVAL
500         notes when modes are unequal.
501
502 2003-10-31  Jan Hubicka  <jh@suse.cz>
503
504         * i386-modes.def: Add XFmode format adjustment.
505
506 2003-10-30  Jan Hubicka  <jh@suse.cz>
507
508         * real.c (encode_ieee_extended): Back out previous patch.
509
510 2003-10-30  Jan Hubicka  <jh@suse.cz>
511
512         * real.c (encode_ieee_extended): Initialize whole array.
513         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
514         * i386-modes.def: Change definitions of TFmode and XFmode.
515         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
516         code.
517         (construct_container): Allow constructing of TFmode integer containers.
518         (ix86_return_in_memory):  XFmode is not returned in memory.
519         (init_ext_80387_constants): Always use XFmode.
520         (print_operand): Likewise.
521         (ix86_prepare_fp_compare_regs): Likewise.
522         (split_to_parts): Deal with TFmode.
523         (split_long_move): Simplify.
524         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
525         (ix86_memory_move_cost): Do not confuse TFmode.
526         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
527         (IS_STACK_MODE): TFmode is not stack mode.
528         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
529         (VALID_SSE_REG_MODE): Allow TFmode.
530         (VALID_FP_MODE_P): Disallow TFmode.
531         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
532         * i386.md (TFmode patterns): Kill.
533         (movtf, motf_rex64): New patterns.
534
535 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
536
537         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
538
539 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
540
541         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
542         (mov_lwr, mov_swl, mov_swr): Likewise.
543         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
544
545 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
546
547         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
548
549 2003-10-30  Richard Henderson  <rth@redhat.com>
550
551         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
552         test for irix6 rather than preprocessor test.
553
554 2003-10-30  Richard Henderson  <rth@redhat.com>
555
556         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
557
558 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
559
560         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
561         as a general flag that the return address register needs to be saved,
562         not necessarily because of __builtin_return_addr (0).
563         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
564         remove special handling of zSeries machines.
565         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
566         register as a regular register on zSeries machines.
567         (s390_reorg): Adjust calls to s390_split_branches and
568         s390_optimize_prolog.
569         (s390_frame_info): On zSeries machines, do not assume the return
570         register is always used.  Update regs_ever_live with current data
571         for the special registers.
572         (s390_emit_epilogue): Use save_return_addr_p to determine whether
573         the return register was saved.
574         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
575         RETURN_REGNUM fixed on zSeries machines.
576         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
577         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
578         via ahi-jgne pair on zSeries machines.
579         ("*doloop_di"): Likewise.
580         ("*doloop_di_long"): Remove.
581
582 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
583
584         * arm.c (arm_override_options): Revert change of arm_constant_limit
585         when optimizing for size.
586
587 2003-10-29  Richard Henderson  <rth@redhat.com>
588
589         * fold-const.c (fold_single_bit_test): Convert the input to the
590         operational intermediate type.
591
592 2003-10-29  Richard Henderson  <rth@redhat.com>
593
594         * builtins.c (std_build_builtin_va_list): New.
595         * expr.h (std_build_builtin_va_list): Declare.
596         * defaults.h (BUILD_VA_LIST_TYPE): New.
597         * system.h (BUILD_VA_LIST_TYPE): Poison.
598         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
599         * target.h (struct gcc_target): Add build_builtin_va_list.
600         * tree.c (build_common_tree_nodes_2): Use it.
601
602         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
603         config/alpha/alpha.h, config/alpha/unicosmk.h,
604         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
605         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
606         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
607         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
608         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
609         config/mips/mips.h, config/rs6000/rs6000-protos.h,
610         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
611         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
612         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
613         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
614         config/xtensa/xtensa.h: Rename foo_build_va_list to
615         foo_build_builtin_va_list; make it static.  Define
616         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
617         Update protos.
618
619         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
620         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
621
622 2003-10-29  James E Wilson  <wilson@specifixinc.com>
623
624         * recog.c (asm_operand_ok): Add missing break after case 'X'.
625         Change if statements to else if statements in default case.
626         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
627         in comment.
628         (constrain_operands_cached): Likewise.
629         (constrain_operands): Change if statements to else if statements in
630         default case.
631         * reload.c (find_reloads): Likewise.
632
633 2003-10-29  Richard Henderson  <rth@redhat.com>
634
635         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
636         shifts and rotates.
637
638 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
639
640         * config/rs6000/rs6000.md: Remove duplicate pattern.
641
642 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
643
644         * real.c (do_divide): Initialize result with a 0.
645
646         * configure.in <enable-checking for valgrind>: Look for
647         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
648         if it exists.
649         * configure, config.in: Regenerate.
650         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
651         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
652         #elif for other alternatives.
653         * ggc-page.c: Ditto.
654         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
655         include structure from ggc-common.c.
656
657 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
658
659         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
660         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
661         * pa.c (pa_adjust_insn_length): Check for btable branches using
662         attribute TYPE_BTABLE_BRANCH.
663         (pa_reorg): Simplify.
664         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
665         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
666         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
667         * pa.md (btable_branch): New instruction type.
668         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
669         btable branches.
670         (define_delay): Add btable branches to insn types that may have an
671         insn in the delay position.
672         (Z2, Z3): Add btable branch to list.
673         Simplify unamed pattern set copy pic_label_operand to register.  Add
674         PA 2.0 variant.
675         (short_jump): New jump for use in branch tables.
676         (casesi, casesi0): Revise for new branch table formats.
677         (casesi32, casesi32p, casesi64p): New casesi patterns.
678         (indirect_jump): Move.
679
680 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
681
682         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
683         !TARGET_POWERPC64.
684         (UNITS_PER_GPR_WORD): Delete.
685         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
686         (HARD_REGNO_MODE_OK): Same.
687         (CLASS_MAX_NREGS): Same.
688
689 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
690
691         * pa.h (ASM_COMMENT_START): Define.
692
693 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
694
695         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
696         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
697         component, not zero.
698
699 2003-10-29  Andreas Schwab  <schwab@suse.de>
700
701         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
702
703 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
704
705         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
706         Never return 1 for complex integral modes whose size is lesser or
707         equal to a word.
708         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
709         in the comment.
710         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
711         modes.
712         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
713         greater than 16 bytes by reference.
714
715 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
716
717         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
718         not TARGET_ILP32.
719         (ia64_initialize_trampoline): Use globalize_label target call.
720
721 2003-10-29  Andreas Schwab  <schwab@suse.de>
722
723         * doc/install.texi (Building): Add a sentence about building Ada
724         for a canadian cross.
725
726 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
727
728         * config/ia64/ia64.c (cmptf_libfunc): New static.
729         (ia64_expand_compare): Add logic to open-code calls to
730         _U_Qfcmp for TFmode comparisons.
731         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
732         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
733         never be generated anymore.
734         * config/ia64/ia64.md (cmptf): New expander.
735
736 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
737
738         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
739         (*sqrt_approx): New instruction pattern for approximate square roots.
740         (*setf_exp_xf): New instruction pattern for exponentiation.
741         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
742         (sqrtsf2_internal_thr): New define_and_split implementing
743         throughput-optimized inline calculation of SFmode square root.
744         (sqrtdf2_internal_thr): Likewise for DFmode.
745         (sqrtxf2_internal_thr): Likewise for XFmode.
746         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
747         latency- and throughput-optimized square root algorithms.
748         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
749         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
750         New macros.
751         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
752         -minline-sqrt-max-throughput.
753         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
754         and -minline-sqrt-max-throughput are given, notify the user
755         that both options cannot be used simultaneously.
756         If -minline-sqrt-min-latency is given, notify the user that
757         this mode is not yet implemented.
758         (rtx_needs_barrier): Reformat initial comment to obey
759         72-character width limit.  Support UNSPEC_SETF_EXP and
760         UNSPEC_FR_SQRT_RECIP_APPROX.
761
762 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
763
764         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
765         moves.
766
767 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
768
769         PR target/11598
770         PR libgcj/10610
771         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
772
773 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
774
775         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
776         an extra stack adjustment insn if the stack pointer is already
777         pointing at the right place.
778         (use_return_insn): Allow a return insn to be used when we have a
779         frame pointer if the stack pointer is in the right place.
780         (output_return_instruction): Handle it.
781
782 2003-10-28  Andreas Jaeger  <aj@suse.de>
783
784         * ggc-zone.c (check_cookies): Add missing variable.
785         Add void to prototypes.
786
787 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
788
789         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
790         * crtstuff.c (__do_global_ctors_1): Move prototype.
791         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
792         appropriate.
793         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
794         Mark parameter with __attribute__((unused)).
795
796 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
797
798         * c-decl.c (pushdecl): Clarify comment.
799
800 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
801
802         * doc/install.texi: Update instructions for Ada cross builds
803
804         PR ada/5909:
805         * doc/sourcebuild.texi: Document Ada test suite.
806
807 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
808
809         * config/m68hc11/m68hc11.c: Convert to ISO C90.
810         * config/m68hc11/m68hc11-protos.h: Likewise.
811
812 2003-10-27  Jan Hubicka  <jh@suse.cz>
813             Eric Botcazou  <ebotcazou@libertysurf.fr>
814
815         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
816         webizer pass dump.
817
818 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
819             Jan Hubicka  <jh@suse.cz>
820
821         * reload1.c (struct elim_table): Change offset, initial_offset and
822         previous_offset fields to HOST_WIDE_INT.
823         (offsets_at): Change from int to HOST_WIDE_INT.
824         (reload): Adjust offsets_at initialization.
825         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
826         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
827         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
828         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
829         if TARGET_64BIT.
830         (pro_epilogue_adjust_stack): New function.
831         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
832         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
833         (pro_epilogue_adjust_stack_1): Remove * in front of name.
834         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
835         (pro_epilogue_adjust_stack_rex64_2): New insn.
836
837         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
838
839         * config/i386/i386.c (ix86_expand_call): Replace 40 with
840         FIRST_REX_INT_REG + 3 /* R11 */.
841
842 2003-10-26  Richard Henderson  <rth@redhat.com>
843
844         * config/alpha/alpha.md (attr cannot_copy): New.
845         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
846         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
847         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
848
849 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
850
851         * ggc-zone.c:  New file, zone allocating collector.
852         * configure: Accept zone option for --with-gc
853         * configure.in: Ditto.
854         * ggc.h (ggc_pch_count_object): Pass bool indicating
855         stringiness. Update all callers.
856         (ggc_pch_alloc_object): Ditto.
857         (ggc_pch_write_object): Ditto.
858         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
859         type.
860         (ggc_alloc_rtvec): Ditto.
861         (ggc_alloc_tree): Use zone allocation, since some things using this macro
862         aren't a single typecode.
863         * ggc-none.c (ggc_alloc_typed): New function.
864         (ggc_alloc_zone): Ditto.
865         * ggc-page.c: Ditto on both functions.
866
867 2003-10-26  Gunther Nikl  <gni@gecko.de>
868
869         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
870         frame information is always valid.
871         (m68k_output_function_prologue): Remove superfluous TARGET_68881
872         test; fix formatting.
873
874 2003-10-26  Gunther Nikl  <gni@gecko.de>
875
876         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
877         reg_rev_mask computation.
878         (m68k_output_function_prologue): Fix usage of current_frame (one typo
879         and one missing); use reg_rev_mask not reg_mask.
880         (m68k_output_function_epilogue): Fix usage of current_frame;
881         use fpu_rev_mask not fpu_mask.
882
883 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
884
885         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
886         num_saved_regs, use current_frame.reg_no instead.
887
888 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
889             Paul Dale  <pauli@snapgear.com>
890
891         * doc/extend.texi (interrupt_handler): Add m68k to the
892         list of processors implementing it.
893         * doc/invoke.texi (-msep-data): Document new m68k option.
894         (-mno-sep-data): Likewise.
895         (-mid-shared-library): Likewise.
896         (-mno-id-shared-library): Likewise.
897         (-mshared-library-id): Likewise.
898
899 2003-10-26  Andreas Jaeger  <aj@suse.de>
900
901         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
902         comparison.
903         (_Unwind_SetGR): Likewise.
904
905 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
906
907         PR target/12690
908         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
909
910 2003-10-26  Gunther Nikl  <gni@gecko.de>
911
912         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
913         comment from here to...
914         (m68k_save_reg): ...here. Fix comment formatting.
915         (m68k_output_function_prologue): Fix comment formatting.
916         (m68k_output_function_epilogue): Likewise.
917         (const_method): Likewise.
918
919 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
920
921         * toplev.c (default_get_pch_validity): Guard the use of
922         target_options with #ifdef TARGET_OPTIONS.
923         (default_pch_valid_p): Likewise.
924
925 2003-10-26  Andreas Jaeger  <aj@suse.de>
926             Zack Weinberg  <zack@codesourcery.com>
927             Andreas Tobler <toa@pop.agri.ch>
928
929         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
930         (output_die): Likewise.
931         (print_die): Likewise.
932
933 2003-10-26  Andreas Jaeger  <aj@suse.de>
934
935         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
936         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
937         dwarf2out.c change.
938
939         * toplev.c (default_pch_valid_p): Fix warning.
940
941 2003-10-25  Roger Sayle  <roger@eyesopen.com>
942
943         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
944         RTL nodes.  If an operator's operands are unchanged, return the
945         original argument unchanged.
946
947 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
948
949         Fix bootstrap failure.
950         * expmed.c (store_bit_field): Don't compare bitsize against
951         modes with zero bit-size.
952
953         (extract_bit_field): Likewise
954
955 2003-10-25  Jan Hubicka  <jh@suse.cz>
956
957         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
958         (cfa_loc): Likewise.
959         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
960         HOST_WIDE_INT.
961         (args_size, old_args_size): change type to HOST_WIDE_INT.
962         (dwarf2out_def_cfa, dwarf2out_args_size,
963         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
964         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
965         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
966         AT_offset): Use HOST_WIDE_INT.
967         (based_loc_descr): offset is HOST_WIDE_INT.
968         (add_data_member): Likewise.
969         (add_const_value_attribute): Simplify.
970
971 2003-10-25  Richard Henderson  <rth@redhat.com>
972
973         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
974         (ix86_expand_prologue): Save and restore eax around stack probe
975         if it's live.
976
977 2003-10-25  Jan Hubicka  <jh@suse.cz>
978
979         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
980
981 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
982
983         PR target/12712
984         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
985         if the block has no predecessors.
986         (convert_regs_2): Document the problem with successors whose
987         only predecessor is the block to be processed.
988         (convert_regs): Don't create the arbitrary input stack here.
989
990 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
991
992         * genmodes.c (struct mode_data): Add contained and next_cont
993         fields.
994         (complete_mode): Maintain linked list of modes that have a
995         given component.
996         (emit_mode_unit_size): Delete.
997         (emit_mode_nunits): New.
998         (emit_insn_modes_c): Update to match.
999         (emit_mode_adjustments): Propagate size and alignment
1000         adjustments from component modes to their containers.
1001         * machmode.h (mode_unit_size): Delete.
1002         (mode_nunits): New.
1003         (GET_MODE_NUNITS): Just return the value in the table.
1004         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
1005         GET_MODE_SIZE.
1006         * expmed.c (store_bit_field, extract_bit_field): Can use a
1007         plain move instruction if bitsize >= GET_MODE_BITSIZE of
1008         destination/source mode, respectively.
1009         * varasm.c (assemble_real): Write out the full size of the
1010         constant, not just its bitsize.
1011         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
1012
1013         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
1014         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
1015         alignment of XF and TF modes in compliance with ia64 ABIs.
1016         Can now hardwire the format of both modes.
1017         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
1018         (general_tfmode_operand, destination_tfmode_operand)
1019         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
1020         general_xfmode_operand, destination_xfmode_operand,
1021         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
1022         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
1023         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
1024         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
1025         __float128.
1026         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
1027         Change TFmode to XFmode wherever appropriate.  Remove all
1028         references to INTEL_EXTENDED_IEEE_FORMAT.
1029         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
1030         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
1031         (PREDICATE_CODES): Update to match function renames.
1032         * config/ia64/ia64.md: Change TF to XF throughout; rename all
1033         patterns to match.  Remove all references to
1034         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
1035         function renames.
1036         * config/ia64/ia64-protos.c: Update all prototypes to match
1037         renamed functions.
1038         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
1039         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
1040         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
1041         __divtf3; keep old name for backward compatibility.
1042         (L__compat): New section providing forwarding stubs for
1043         __fixtfti, __fixunstfti, __floattitf.
1044         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
1045
1046 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
1047
1048         PR 10757
1049         * c-pch.c: Include target.h.  Improve comments.
1050         (struct c_pch_validity): Add target_data_length.
1051         (pch_init): Add target's validity data.
1052         (c_common_valid_pch): Check target's validity data.
1053         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
1054         (TARGET_PCH_VALID_P): New.
1055         (TARGET_INITIALIZER): Add new fields.
1056         * target.h: Include tm.h.
1057         (struct gcc_target): Add get_pch_validity, pch_valid_p.
1058         * toplev.h (default_get_pch_validity): New prototype.
1059         (default_pch_valid_p): New prototype.
1060         * toplev.c (default_get_pch_validity): New routine.
1061         (default_pch_valid_p): New routine.
1062         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
1063         target.h with $(TARGET_H).
1064         (c-pch.o): Add TARGET_H.
1065         * doc/tm.texi (PCH Target): New node.
1066         (TARGET_GET_PCH_VALIDITY): Document.
1067         (TARGET_PCH_VALID_P): Document.
1068
1069 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
1070
1071         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
1072         and $(docdir)/include from any *.texi dependencies.
1073         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
1074         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
1075         ($(docobjdir)/%.7): Likewise.
1076         (%.pod): New implicit rule.
1077         (cpp.pod): New dependency only rule.
1078         (gcc.pod): New intermediate rule with dependencies and commands.
1079         (gfdl.pod): Likewise.
1080         (fsf-funding.pod): Likewise.
1081
1082 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
1083
1084         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
1085         related code.
1086         * fixinc/fixinc.ptx: Remove.
1087         * fixinc/fixinc.svr4: Remove.
1088
1089 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
1090
1091         * config/s390/s390.c (load_multiple_operation): Allow both SImode
1092         and DImode if word_mode is DImode.
1093         (store_multiple_operation): Likewise.
1094         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
1095         ("*load_multiple_di"): Allow only if word_mode == DImode.
1096         ("movqi"): Use LLGC whenever TARGET_ZARCH.
1097         ("fix_truncdfsi2"): Fix incorrect temporary size.
1098         ("fix_truncsfsi2"): Likewise.
1099         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
1100         string for function return value operand.
1101         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
1102
1103 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
1104
1105         * c-parse.in (array_declarator): Use expr_no_commas.
1106         Fixes PR c/11943.
1107
1108 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
1109
1110         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
1111         associated includes in #ifndef inhibit_libc.
1112
1113 2003-10-24  Roger Sayle  <roger@eyesopen.com>
1114
1115         * doc/libgcc.texi: Document some more of the libgcc API.
1116
1117 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
1118
1119         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
1120         comparing a constant with small negative numbers and add costing
1121         for constants in conjunction with AND.
1122         (note_invalid_constants): Tidy previous change.
1123         (thumb_cmp_operand): Tidy.
1124         (thumb_cmpneg_operand): New function.
1125         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
1126         for size.
1127         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
1128         (PREDICATE_CODES): Add thumb_cmpneg_operand.
1129         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
1130         with a negative constant.
1131         (cbranchsi4_insn): Matcher for cbranchsi4.
1132         (cbranchsi4_scratch): Similar, but a scratch is available for
1133         handling negative constants.
1134         (movsi_cbranchsi4): New pattern.
1135         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
1136         and use the TST instruction.
1137         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
1138         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
1139         cannot see high regs or memory alternatives.
1140         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
1141
1142 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
1143
1144         * arm.c (note_invalid_constants): Try to extract the constant
1145         pool value using avoid_constant_pool_reference; only use
1146         get_pool_constant if that returns the original reference.
1147
1148 2003-10-24  Jan Hubicka  <jh@suse.cz>
1149
1150         PR c++/12624
1151         * varasm.c (notice_global_symbol): Disqualify global registers.
1152
1153 2003-10-23  Roger Sayle  <roger@eyesopen.com>
1154
1155         PR middle-end/11414
1156         * loop.c (load_mems): Use redirect_jump to forward jumps from
1157         the original loop end label to the new "loop sink" block's label.
1158
1159 2003-10-23  Roger Sayle  <roger@eyesopen.com>
1160
1161         PR middle-end/12705
1162         * optabs.c (expand_binop): When expanding complex operations
1163         inline, always calculate result into a new temporary register.
1164         Minor code clean-ups.
1165
1166 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1167
1168         * objc/lang-specs.h: Handle -print-objc-runtime-info.
1169         * doc/invoke.texi (Objective-C Dialect Options): Document it.
1170
1171 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
1172
1173         * config/i386/cygwin.asm. Add copyright notice. Add comment
1174         on why this code is needed.
1175
1176 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
1177
1178         * config/h8300/clzhi2.c: Fix warnings.
1179         * config/h8300/ctzhi2.c: Likewise.
1180         * config/h8300/fixunssfsi.c: Likewise.
1181         * config/h8300/parityhi2.c: Likewise.
1182         * config/h8300/popcounthi2.c: Likewise.
1183
1184 2003-10-23  James E Wilson  <wilson@specifixinc.com>
1185
1186         * gcc.c (option_map): Delete --target and --use-version.
1187
1188 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
1189             David Edelsohn  <edelsohn@gnu.org>
1190
1191         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
1192         TARGET_POWREPC64.
1193         (UNITS_PER_GPR_WORD): Define.
1194         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
1195         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1196         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
1197         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
1198         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
1199         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
1200         (rs6000_emit_prologue): Select reg_mode and reg_size using
1201         TARGET_32BIT, not TARGET_POWERPC64.
1202         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
1203         ABI / 64-bit computation mode
1204
1205 2003-10-22  Andrew Haley  <aph@redhat.com>
1206
1207         * toplev.c (output_file_directive): Allow for null input_name.
1208
1209 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1210
1211         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
1212
1213 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
1214
1215         * configure.in: In --enable-generated-files-in-srcdir option
1216         handling, fix default case handling.
1217         * configure: Regenerate.
1218
1219 2003-10-22  Phil Edwards  <phil@codesourcery.com>
1220
1221         * config.gcc:  Update *-*-vxworks* generic hook and comments.
1222         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
1223         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
1224         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
1225         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
1226         * config/windiss.h:  New file.
1227         * config/arm/t-vxworks:  New file.
1228         * config/arm/vxworks.h:  New file.
1229         * config/i386/t-vxworks:  New file.
1230         * config/i386/vxworks.h:  New file.
1231         * config/mips/t-vxworks:  New file.
1232         * config/mips/vxworks.h:  New file.
1233         * config/mips/windiss.h:  New file.
1234         * config/sh/t-vxworks:  New file.
1235         * config/sh/vxworks.h:  New file.
1236
1237 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1238
1239         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
1240         (h8300_saveall_function_p): New.
1241         (h8300_insert_attributes): Insert the saveall attribute if
1242         #pragma saveall is specified.
1243         (h8300_attribute_table): Add saveall.
1244         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
1245         * doc/extend.texi: Mention the saveall attribute.
1246
1247 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
1248
1249         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
1250         deprecation of casts as lvalues.
1251         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
1252         * fixinc/fixincl.x: Regenerate.
1253         * fixinc/tests/base/obstack.h: New test.
1254
1255 2003-10-22  Andreas Schwab  <schwab@suse.de>
1256
1257         PR target/12676
1258         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
1259         LP64 platforms.
1260
1261 2003-10-22  Jan Hubicka  <jh@suse.cz>
1262
1263         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
1264         presence of DW_AT_inline.
1265         (gen_subprogram_die): Likewise; do not abort instead of emitting
1266         DW_AT_not_inline.
1267
1268 2003-10-22  Jan Hubicka  <jh@suse.cz>
1269
1270         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
1271         global info is not ready.
1272
1273 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1274
1275         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
1276
1277 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
1278
1279         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
1280         ("*movstr_short"): ... into this insn pattern.
1281         ("movstr_short"): New expander.
1282         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
1283         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
1284         ("movstr_long"): New expander.
1285         ("clrstr_short_64", "clrstr_short_31"): Merge ...
1286         ("*clrstr_short"): ... into this insn pattern.
1287         ("clrstr_short"): New expander.
1288         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
1289         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
1290         ("clrstr_long"): New expander.
1291         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
1292         ("*cmpmem_short"): ... into this insn pattern.
1293         ("cmpmem_short"): New expander.
1294         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
1295         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
1296         ("cmpmem_long"): New expander.
1297         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
1298         (s390_expand_clrstr): Likewise.
1299         (s390_expand_cmpmem): Likewise.
1300
1301 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
1302
1303         * c-pch.c (struct c_pch_validity): Add pch_init field.
1304         (pch_init): Set it.
1305         (c_common_valid_pch): Check it.
1306
1307 2003-10-22  David Taylor <dtaylor@emc.com>
1308
1309         PR debug/12500
1310         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
1311
1312 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1313
1314         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
1315         alpha_return_in_memory if no VALTYPE specified.
1316
1317 2003-10-22  Jan Hubicka  <jh@suse.cz>
1318
1319         PR debug/12389
1320         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
1321         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
1322         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
1323         (cgraph_global_info): Add flag inlined
1324         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
1325         cgraph_function_possibly_inded_p
1326         * cgraphunit.c (mark_inline): Set inlined flag.
1327         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
1328         only for possibly inlined functions.
1329         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
1330         body of function.
1331
1332 2003-10-22  Andrew Haley  <aph@redhat.com>
1333
1334         * varasm.c (output_constructor): Make constructor annotation
1335         conditional on ASM_COMMENT_START.
1336
1337 2003-10-21  Jason Merrill  <jason@redhat.com>
1338
1339         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
1340         (get_narrower): Likewise.
1341
1342         * stor-layout.c (layout_decl): Do packed field alignment for
1343         bit-fields, too.
1344
1345 2003-10-21  Eric Christopher  <echristo@redhat.com>
1346
1347         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
1348
1349 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
1350
1351         * c-pch.c: Add comments in various places.
1352         (struct c_pch_validity): Add the lengths of various strings.
1353         (host_machine): New static.
1354         (target_machine): New static.
1355         (get_ident): Bump version number.
1356         (pch_init): Write out version, host, target validity data.
1357         (c_common_valid_pch): Check version, host, target.
1358         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
1359         TARGET_MACHINE.
1360
1361 2003-10-21  Jason Merrill  <jason@redhat.com>
1362
1363         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
1364         (EXPR_P): New macro.
1365
1366 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
1367
1368         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
1369         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
1370         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
1371         DImode.   Use convert_move to load ar.ccv.
1372         (ia64_expand_compare_and_swap): Likewise.
1373         If expand_expr doesn't put 'old' and 'new' in the proper
1374         modes, run them through convert_to_mode.
1375
1376 2003-10-21  Eric Christopher  <echristo@redhat.com>
1377
1378         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
1379         for too large bitfields.
1380
1381 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
1382
1383         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
1384
1385 2003-10-21  Andrew Haley  <aph@redhat.com>
1386
1387         * varasm.c (output_constructor): Annotate constructor.
1388
1389 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
1390
1391         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
1392         on existence of destination file.
1393
1394 2003-10-21  Jan Hubicka  <jh@suse.cz>
1395
1396         * haifa-sched.c (choose_ready): Initialize index.
1397
1398 2003-10-21  Jason Merrill  <jason@redhat.com>
1399
1400         * tree.c (build1): Fix off-by-one error.
1401
1402 2003-10-21  Robert Millan  <robertmh@gnu.org>
1403
1404         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
1405         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
1406         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
1407         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
1408
1409 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1410
1411         * web.c: Fix various comments.
1412
1413 2003-10-20  Nicolas Pitre <nico@cam.org>
1414
1415         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
1416         to 2 instead of 1 when optimize_size is true.  Gather code based on
1417         optimize_size together.  Add comment about XScale load latency.
1418
1419 2003-10-21  Gunther Nikl  <gni@gecko.de>
1420
1421         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
1422         obsolete comments.
1423
1424 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1425
1426         * Makefile.in: Get parsedir and docobjdir from configure.
1427         * configure.in: Recogonize --enable-generated-files-in-srcdir.
1428         Pass along parsedir and docobjdir.
1429         * configure: Regenerate.
1430         * doc/install.texi: Document --enable-generated-files-in-srcdir.
1431
1432 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1433
1434         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
1435         included.
1436
1437 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1438
1439         * c-common.c (expand_tree_builtin): Ensure creal and cimag
1440         functions do not return lvalues.
1441
1442 2003-10-20  Jason Merrill  <jason@redhat.com>
1443
1444         PR c/12553
1445         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
1446         appropriately.
1447
1448         PR c/11446
1449         * stor-layout.c (layout_decl): Fix alignment handling.
1450
1451 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1452
1453         * doc/extend.texi: Deprecate casts as lvalues.
1454
1455 2003-10-20  Jan Hubicka  <jh@suse.cz>
1456
1457         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
1458
1459         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
1460         with functions implicitly made inline.
1461
1462         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
1463         (cgraph_finalize_function): Use it.
1464         (cgraph_mark_inline): Allow incrmental decisions
1465         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
1466         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
1467         * tree-inline.c (limits_allow_inlining): Kill.
1468         (expand_call_inline): Always use unit-at-a-time path.
1469
1470 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
1471
1472         * fixinc/inclhack.def (hpux11_snprintf): New edit.
1473         * fixinc/fixincl.x: Regenerate.
1474         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
1475
1476 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
1477
1478         * Makefile.in (install-info): Simplify.
1479         ($(DESTDIR)$(infodir)/%.info): New rule.
1480         * configure.in (target_list): Remove install-info.
1481         * doc/.cvsignore (gcc.info*): Remove.
1482         (gccint.info*): Likewise.
1483         (gccinstall.info*): Likewise.
1484         (cpp.info*): Likewise.
1485         (cppinternals.info*): Likewise.
1486         (*.info*): Add it.
1487         * doc/sourcebuild.texi: Update description of install-info.
1488         * objc/Make-lang.in (objc.install-info): Remove.
1489
1490 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1491
1492         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
1493         Use it in _MIPS_SIM definition.
1494         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
1495
1496 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
1497
1498         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
1499         virtual register, but only if file == asm_out_file.
1500         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
1501         for ARG_POINTER_REGNUM.
1502
1503 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
1504
1505         * c-common.c (registered_builtin_types): New static.
1506         (c_common_type_for_mode): Consult registered_builtin_types.
1507         (c_register_builtin_type): Add type to registered_builtin_types.
1508         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
1509         all MODE_FLOAT modes, not just the ones corresponding to
1510         float_type_node, double_type_node, and long_double_type_node.
1511
1512 2003-10-20  Richard Henderson  <rth@redhat.com>
1513
1514         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
1515         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
1516
1517 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
1518
1519         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
1520         support new flag -minsert-sched-nops.
1521         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
1522         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
1523         support new flag -minsert-sched-nops.
1524         (is_cracked_insn, is_microcoded_insn): New functions.
1525         (rs6000_sched_finish): New function.
1526         (rs6000_issue_rate): Return 5 for power4.
1527         (get_next_active_insn, insn_terminates_group_p): New
1528         functions.
1529         (is_costly_group, force_new_group): New functions.
1530         (redefine_groups, pad_groups): New functions.
1531         (rs6000_variable_issue): Use new functions.
1532         * doc/invoke.texi (-minsert-sched-nops): Document new
1533         option.
1534
1535 2003-10-20  David S. Miller  <davem@redhat.com>
1536
1537         * config/sparc/sparc.md (type attribute): Add new insn types
1538         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
1539         (patterns emitting VIS insns): Use them.
1540         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
1541         * config/sparc/ultra3.md: Likewise.
1542
1543 2003-10-20  Falk Hueffner  <falk@debian.org>
1544
1545         PR target/12654
1546         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
1547         comparison against constant by adjusting the argument except for
1548         EQ and NE.
1549
1550 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
1551
1552         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
1553         arm1136jfs, and armv6j.
1554         * config/arm/arm.c (FL_ARCH6J): New macro.
1555         (FL_VFPV2): Likewise.
1556         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
1557         and arm1136jfs.
1558         (all_architectures): Add entry for armv6j.
1559         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
1560         arm1136js, and arm1136jfs.
1561         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
1562         (TARGET_CPU_arm1026ej_s): Likewise.
1563         (TARGET_CPU_arm1136j_s): Likewise.
1564         (TARGET_CPU_arm1136jf_s): Likewise.
1565         * doc/invoke.texi: Document new ARM cores and architecture
1566         variants.
1567
1568 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1569
1570         * Makefile.in (toplev.o): Add value-prof.h dependency.
1571         (value-prof.o): Add REGS_H dependency.
1572         * common.opt (fprofile-values, fvpt): New.
1573         * flags.h (flag_value_profile_transformations): Declare.
1574         * opts.c (common_handle_option): Handle -fprofile_values and
1575         -fvpt.
1576         * profile.c (branch_prob): Don't remove death notes here.
1577         * timevar.def (TV_VPT): New.
1578         * value-prof.c: Include regs.h.
1579         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
1580         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
1581         mod_subtract_transform, value_profile_transformations): New.
1582         (insn_values_to_profile): Call insn_divmod_values_to_profile.
1583         (find_values_to_profile): Add dumps.
1584         * value-prof.h (value_profile_transformations): Declare.
1585         * toplev.c: Include value-prof.h.
1586         (rest_of_handle_value_profile_transformations): New.
1587         (enum dump_file_index): Add DFI_vpt.
1588         (dump_file): Add vpt dump.
1589         (flag_value_profile_transformations): New.
1590         (lang_independent_options): Add flag_profile_values and
1591         flag_value_profile_transformations.
1592         (rest_of_compilation): Call
1593         rest_of_handle_value_profile_transformations.
1594         (process_options): Let -fvpt imply -fprofile-values.
1595         * doc/invoke.texi (-fvpt): Document.
1596
1597 2003-10-19  Jan Hubicka  <jh@suse.cz>
1598
1599         * i386.c (print_reg): Do not abort on certain registers.
1600
1601         PR optimization/12612
1602         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
1603         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
1604         match_scratch; avoid bogus paralles.
1605
1606         PR target/12674
1607         * i386.c (ix86_function_regparm): Disable implicit register passing
1608         conventions when profiling.
1609
1610 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1611             Richard Henderson  <rth@redhat.com>
1612
1613         PR optimization/8178
1614         * config/i386/i386.md (*movsi_zero): Delete.
1615         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
1616
1617 2003-10-19  Richard Henderson  <rth@redhat.com>
1618
1619         * config/alpha/alpha.c (fix_operator): New.
1620         (divmod_operator): Tidy.
1621         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
1622         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
1623         (PREDICATE_CODES): Update.
1624         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
1625         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
1626         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
1627         (fix_truncsfdi_ieee): Likewise.
1628         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
1629         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
1630         * config/alpha/alpha-protos.h: Update.
1631
1632 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
1633
1634         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
1635         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
1636         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
1637         constant operands.
1638
1639 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1640
1641         * doc/extend.texi: Fix typos.
1642         * doc/invoke.texi: Likewise.
1643
1644 2003-10-18  Nicolas Pitre <nico@cam.org>
1645
1646         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
1647         XScale optimizations not arm_arch_xscale.
1648         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
1649
1650 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
1651
1652         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
1653         * config/s390/s390.c (shift_count_operand): New function.
1654         (s390_extra_constraint): Use it to implement 'Y' constraint.
1655         (print_shift_count_operand): New function.
1656         (print_operand): Use it to implement '%Y'.
1657         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
1658         (PREDICATE_CODES): Add shift_count_operand.
1659         * config/s390/s390.md ("rotldi3"): Merge alternatives,
1660         using "shift_count_operand" predicate and "Y" constraint,
1661         and "%Y" to output the combined shift count.
1662         ("rotlsi3"): Likewise.
1663         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
1664         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
1665         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
1666         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
1667         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
1668         ("lshrsi3"): Likewise.
1669
1670 2003-10-18  Gunther Nikl  <gni@gecko.de>
1671
1672         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
1673         argument to asm_fprintf statement.
1674
1675 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
1676
1677         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
1678         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
1679         a "long long" argument.
1680
1681 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
1682
1683         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
1684         as well.
1685
1686 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
1687
1688         * rtl.h (rtl_size): Declare.
1689         (rtunion): Remove rtwint.
1690         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
1691         (RTX_HDR_SIZE, RTX_SIZE): New macros.
1692         (RTL_CHECK1): Adjust for new rtx_def layout.
1693         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
1694         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
1695         (X0WINT): Remove.
1696         (X0ANY): New macro.
1697         * rtl.def: Adjust comments for new rtx_def layout.
1698         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
1699         number of slots.
1700         * rtl.c (rtx_size): New array.
1701         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
1702         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
1703         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
1704         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
1705         * emit-rtl.c (copy_most_rtx): Likewise.
1706         (copy_rtx_if_shared): Use RTX_SIZE.
1707         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
1708         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
1709         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
1710         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
1711         an array.  Adjust output for new rtx_def layout.
1712         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
1713         * reload1.c (eliminate_regs): Use RTX_SIZE.
1714         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
1715         * gdbinit.in (pi): Likewise.
1716
1717 2003-10-18  Jan Hubicka  <jh@suse.cz>
1718
1719         * integrate.c (copy_decl_for_inlining): Revert previous patch.
1720
1721 2003-10-18  Jan Hubicka  <jh@suse.cz>
1722
1723         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
1724
1725 2003-10-18  Roger Sayle  <roger@eyesopen.com>
1726
1727         * libgcc.texi: Group multi-word types, such as "long double" and
1728         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
1729         Document __unord?f2 as returning a non-zero value, not just one.
1730
1731 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
1732
1733         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
1734         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
1735
1736 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1737
1738         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
1739         match_operand.
1740
1741 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1742
1743         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
1744         parameter packed_p.  Search for a DECL_PACKED field only if
1745         packed_p is false.  Pass packed_p recursively.
1746         (function_arg_record_value_2): Likewise.
1747         (function_arg_record_value): Update calls to
1748         function_arg_record_value_1 and function_arg_record_value_2.
1749
1750 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1751
1752         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
1753         was successfully forced to memory before using the result.
1754
1755 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1756
1757         PR optimization/8178
1758         * config/i386/i386.md (*movsi_zero): New insn to set
1759         a register to zero on TARGET_USE_MOV0 targets.
1760
1761 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
1762
1763         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
1764         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
1765
1766 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
1767
1768         * doc/invoke.texi (gcse-las): Fix typo.
1769
1770 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1771
1772         * doc/install.texi: Remove first part of the sentence for
1773         zsh not working.  Change gcc to GCC.
1774
1775         PR bootstrap/12546
1776         * doc/install.texi: Document that zsh does not work when
1777         configuring gcc.
1778
1779 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
1780
1781         * config/ptx4.h: Switch to DWARF 2; update comments.
1782
1783 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
1784             Hartmut Penner  <hpenner@de.ibm.com>
1785
1786         PR 10404, partial 11591, partial 11601
1787         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
1788         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
1789         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
1790         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
1791         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
1792         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
1793         (altivec_expand_stv_builtin): Adjust for the memory_operand.
1794         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
1795         (altivec_init_builtins): Use `long int' for memory offsets.
1796
1797 2003-10-17  Jan Hubicka  <jh@suse.cz>
1798
1799         * opts.c  (common_handle_option): Handle OPT_fweb
1800         * invoke.texi (-fweb): Add missing parts of documentation.
1801
1802 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1803
1804         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
1805         before redefinition.
1806
1807 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
1808
1809         * common.opt: Add description of the new -fgcse-las flag.
1810         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
1811         * gcse.c (hash_scan_set): Handle the case of store expression and
1812         insert the memory expression to the hash table, this way we make it
1813         possible to discover redundant loads after stores and remove them.
1814         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
1815         to pre_insert_copies, it is not the correct place to call it after
1816         adding stores to be in the available expression hash table.
1817         (pre_insert_copies): Added the call to update_ld_motion_stores when
1818         one or more copies were inserted.
1819         * opts.c (common_handle_option): Handle the -fgcse-las flag.
1820         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
1821
1822         * doc/invoke.tex: Document new -fgcse-las flag.
1823
1824 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
1825
1826         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
1827         for posterity, then remove it.
1828
1829 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
1830             Nathan Sidwell  <nathan@codesourcery.com>
1831
1832         * config/arm/arm.c (use_return_insn): Not a single instruction, if
1833         there's a frame pointer.
1834         (arm_output_epilogue): Protect stack pointer from being corrupted
1835         on interrupt.
1836
1837 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
1838
1839         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
1840
1841 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
1842
1843         * combine.c (simplify_set): Do not clear out undobuf.other_insn
1844         already set elsewhere.
1845
1846 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
1847
1848         * config/i386/i386.c (ix86_expand_prologue):  Use
1849         gen_allocate_stack_worker.
1850
1851 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1852
1853         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
1854         without gas.
1855         (mips-sgi-irix6*): Likewise.
1856
1857         * config/mips/iris6gas.h: New file.
1858         * gcc/config.gcc (mips-sgi-irix6*): Use it.
1859
1860         * config/mips/mips.h (TARGET_IRIX): Provide default.
1861         (TARGET_IRIX5): Likewise.
1862         (TARGET_SGI_O32_AS): Likewise.
1863         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
1864         (TARGET_IRIX5): Likewise.
1865         * config/mips/iris6.h (TARGET_IRIX6): Remove.
1866         (TARGET_IRIX5): Redefine as 0.
1867
1868         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
1869         linker workaround with TARGET_IRIX and mips_abi instead of
1870         ASM_OUTPUT_UNDEF_FUNCTION.
1871         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
1872         testing TARGET_IRIX and mips_abi explicitly.
1873         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
1874         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
1875
1876         * config/mips/mips.c (irix_output_external_libcall): Renamed from
1877         mips_output_external_libcall.
1878         Use new TARGET_IRIX in guard.
1879         * config/mips/mips-protos.h (irix_output_external_libcall): Match
1880         this.
1881         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
1882
1883         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
1884         Define as 0.
1885
1886         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
1887         depending on mips_abi.
1888         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
1889         * config/mips/mips.c (mips_output_function_prologue): Test
1890         FUNCTION_NAME_ALREADY_DECLARED at runtime.
1891         (mips_output_function_epilogue): Likewise.
1892         (build_mips16_function_stub): Likewise.
1893         (build_mips16_call_stub): Likewise.
1894         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
1895         default.
1896
1897         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
1898         IRIX 6 O32 assembler.
1899         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
1900         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
1901         _MIPS_SIM for O32 ABI.
1902         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
1903         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
1904         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
1905         Integrate O32 version.
1906         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
1907         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
1908         O32 ABI.
1909         (BSS_SECTION_ASM_OP_32): Define.
1910         (BSS_SECTION_ASM_OP_64): Likewise.
1911         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
1912         using them.
1913         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
1914         Move up to allow override for O32 ABI without GNU as.
1915         (EH_FRAME_SECTION_NAME): Define explicitly.
1916         (MUST_USE_SJLJ_EXCEPTIONS): Define.
1917         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
1918         DTORS_SECTION_ASM_OP): Dummy definitions.
1919         (TARGET_ASM_NAMED_SECTION): Undef statically.
1920         (EH_FRAME_SECTION_NAME): Likewise.
1921         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
1922         (LINK_SPEC): Only use default options -call_shared -no_unresolved
1923         without -r.
1924         Don't pass -init, -fini with -mabi=32.
1925         (COLLECT_PARSE_FLAG): Define.
1926
1927         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
1928         TARGET_IRIX.
1929         Renamed to use irix_ prefix.
1930         (iris6_asm_named_section): Likewise.
1931         (iris_section_align_entry_eq): Likewise.
1932         (iris_section_align_entry_hash): Likewise.
1933         (iris6_file_start): Likewise.
1934         (iris6_section_align_1): Likewise.
1935         (iris6_file_end): Likewise.
1936         (iris6_section_type_flags): Likewise.
1937         (iris_section_align_htab): Likewise.
1938         (iris_orig_asm_out_file): Likewise.
1939         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
1940         (TARGET_ASM_FILE_END): Likewise.
1941         (TARGET_SECTION_TYPE_FLAGS): Likewise.
1942
1943         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
1944         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
1945         override_options instead.
1946         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
1947         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
1948         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
1949         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
1950         assemblers.
1951         Likewise for constructor/destructor handling.
1952         (override_options): Handle IRIX O32 assembler quirks.
1953         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
1954         without gas.
1955         (mips_file_start): Use new TARGET_IRIX.
1956         (mips_declare_object_name): No special processing for IRIX O32
1957         assembler.
1958         (mips_finish_declare_object): Likewise.
1959         (irix_asm_output_align): Renamed from iris6_asm_output_align.
1960         Don't record alignment for O32 ABI.
1961         (irix_file_start): Renamed from iris6_file_start.
1962         Return early for O32 ABI.
1963         (irix_file_end): Renamed from iris6_file_end.
1964         Don't emit .section directives for O32 ABI.
1965         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
1966         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
1967
1968         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
1969         (MULTILIB_OSDIRNAMES): Likewise.
1970
1971 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1972
1973         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
1974         (main): Use it.
1975         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
1976
1977 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
1978
1979         * arm-modes.def (CC_Nmode): New condition code mode.
1980         * arm.c (thumb_condition_code): Delete.
1981         (arm_select_cc_mode): Handle single-bit test for Thumb.
1982         (arm_print_operand, cases 'd' and 'D'): Don't special case the
1983         condition code logic for Thumb.
1984         (get_arm_condition_code): Handle CC_Nmode.
1985         (thumb_cbrch_target_operand): New function.
1986         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
1987         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
1988         * arm.md: Add Thumb split patterns for zero_extract and
1989         sign_extract.
1990         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
1991         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
1992         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
1993         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
1994         (cbranchne_decr1): Re-work to use CC_Nmode.
1995
1996         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
1997         by the return instruction.  Add a use of the link register if it
1998         wasn't stored.
1999
2000 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
2001
2002         * flow.c (init_propagate_block_info): Don't abort if a conditional
2003         jump is not a comparison of a register.  Instead, just don't record
2004         conditional life information.
2005
2006 2003-10-16  Jan Hubicka  <jh@suse.cz>
2007
2008         PR optimization/12630
2009         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
2010         for operands 7 and 8.
2011
2012 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
2013
2014         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
2015
2016 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
2017
2018         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2019
2020         * config/i386/winnt.c (gen_stdcall_suffix): Make static
2021         (gen_fastcall_suffix): Likewise.
2022         (i386_pe_dllexport_p): Likewise.
2023         (i386_pe_dllimport_p): Likewise.
2024         (i386_pe_mark_dllexport): Likewise.
2025         (i386_pe_mark_dllimport): Likewise.
2026         (i386_pe_asm_named_section): Fix formatting.
2027
2028 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
2029
2030         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
2031         * system.h: Declare snprintf if necessary.
2032         * configure, config.in: Regenerate.
2033
2034 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
2035
2036         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
2037         arguments if TARGET_ALTIVEC_ABI.
2038
2039 2003-10-15  Roger Sayle  <roger@eyesopen.com>
2040
2041         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
2042         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
2043         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
2044         New functions.
2045         (expand_builtin_memcpy): Use integer_zerop instead of testing
2046         host_integerp and tree_low_cst directly.  Move misapplied hunk
2047         for optimization wher SRC and DEST point to the same location.
2048         (expand_builtin_mempcpy): From here.
2049         (expand_builtin_memmove): Use integer_zerop instead of testing
2050         host_integerp and tree_low_cst_directly.
2051         (expand_builtin_memset): Likewise.
2052         (expand_builtin_memcmp): Likewise (and for integer_onep).
2053         (expand_builtin_strncmp): Likewise.
2054         (fold_builtin): Call the appropriate fold_builtin_foo functions
2055         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
2056         strcmp and strncmp.
2057
2058 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
2059
2060         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
2061         prototype.  Clean up some whitespace.
2062         * config/darwin.c: Use gen_rtx_FOO (...) rather than
2063         gen_rtx (FOO, ...).
2064         (machopic_non_lazy_ptr_name): Make static.
2065         (name_needs_quotes): Allow '.' and '$' unquoted.
2066         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
2067         case.
2068
2069 2003-10-15  Gábor Lóki  <alga@rgai.hu>
2070
2071         * fold-const.c (tree_swap_operands_p): Disable some features
2072         when optimizing for size.
2073
2074 2003-10-15  David Daney  <ddaney@avtrex.com>
2075
2076         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
2077         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
2078         from leaf functions.
2079         (DWARF_FRAME_RETURN_COLUMN): Ditto.
2080         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
2081         by MD_FALLBACK_FRAME_STATE_FOR.
2082         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
2083
2084 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
2085
2086         * genmodes.c: Include hashtab.h.
2087         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
2088         (adj_bytesize, adj_alignment, adj_format, new_adjust)
2089         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
2090         (print_maybe_const_decl, emit_mode_adjustments): New.
2091         (known_modes): Rename to modes.
2092         (find_mode): Kill class argument; look up in hash table.
2093         (new_mode): Insert into hash table also.
2094         (new_adjust): New.
2095         (reset_float_format, make_partial_integer_mode)
2096         (make_vector_mode): Tweak error reporting.
2097         (reset_float_format): Correct type of fourth argument.
2098         (emit_insn_modes_h): Add #defines to help make mode_size,
2099         mode_base_align, and real_format_for_mode conditionally const.
2100         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
2101         (emit_real_format_for_mode): Likewise, but temporarily disabled.
2102         (emit_insn_modes_c): Call emit_mode_adjustments.
2103         (main): Initialize modes_by_name.
2104         * Makefile.in: Update dependencies.
2105         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
2106         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
2107         declarations of mode_size and mode_base_align.  Declare
2108         init_adjust_machine_modes.
2109         * toplev.c (backend_init): Call init_adjust_machine_modes.
2110
2111 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
2112
2113         * genmodes.c (calc_wider_mode): Allocate enough room for all the
2114         entries we'll possibly assign in the sort buffer.
2115
2116 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
2117
2118         * config.gcc (s390x-ibm-tpf*): New target.
2119         * doc/install.texi: Document it.
2120         * config/s390/t-tpf: New file.
2121         * config/s390/tpf.h: New file.
2122
2123 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
2124
2125         PR target/12598
2126         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
2127         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
2128         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
2129         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
2130         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
2131         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
2132         replace_equiv_address, not gen_rtx_MEM.
2133         * config/cris/cris.c (cris_mem_op): New match_operator function.
2134         (cris_notice_update_cc): Use replace_equiv_address, not
2135         gen_rtx_MEM.
2136         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
2137
2138 2003-10-15  Bernardo Innocenti <bernie@develer.com>
2139
2140         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
2141         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
2142         definitions after the other flags.
2143
2144 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
2145
2146         * c-parse.in (methoddef, methodproto): Call objc_add_method()
2147         instead of add_method().
2148         * objc/objc-act.c (objc_check_decl): Do not check for
2149         constant_string_type.
2150         (add_method): Rename to objc_add_method().
2151         (really_start_method): Call objc_add_method() instead of
2152         add_method().
2153         * objc/objc-act.h (add_method): Rename to objc_add_method().
2154
2155 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2156
2157         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
2158         (s390_slb_comparison): Likewise.
2159         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
2160         New functions.
2161         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
2162         and s390_slb_comparison.
2163         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
2164         zSeries machines.
2165         ("*adddi3_31z", "*subdi3_31z"): New insns.
2166         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
2167         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
2168         New insns.
2169
2170 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2171
2172         * configure.in: Clean up some feedback echoes.
2173         * configure: Regenerate.
2174
2175         * aclocal.m4: Properly quote names of macros being defined.
2176
2177         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
2178
2179 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
2180
2181         * config/ia64/ia64.c (ia64_expand_call): Force function address
2182         to DImode.
2183         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
2184
2185 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2186
2187         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
2188         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
2189         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
2190         "*divsf3_ibm"): Likewise.
2191
2192 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2193
2194         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
2195         target_alias with target_noncanonical.
2196
2197 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
2198
2199         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
2200         and add case for machines where outgoing register parameters
2201         get stack space.
2202
2203         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
2204         register when generating indirect address.
2205
2206 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
2207
2208         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
2209         * arm.md (cbranchne_decr1): Fix bootstrap warning.
2210
2211 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2212
2213         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
2214         * fixinc/fixincl.x: Regenerate.
2215         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
2216         testcase.
2217         Fixes PR bootstrap/9330.
2218
2219 2003-10-13  Eric Christopher  <echristo@redhat.com>
2220
2221         * config/frv/frv.c (frv_adjust_field_align): Redo check for
2222         too wide bitfields.
2223         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
2224         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
2225         (SBSS_SECTION_ASM_OP): Remove.
2226         (EXTRA_SECTIONS): Remove in_sbss.
2227         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
2228         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
2229         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
2230         named_section.
2231
2232 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2233
2234         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
2235         uses of ${target_alias} for directory names (and other places which
2236         won't like the empty string) with ${target_noncanonical}.  Introduce
2237         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
2238         available.
2239         * configure: Regenerate.
2240
2241 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
2242
2243         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
2244         * config/arm/arm.md: For splits which rely on conditional moves,
2245         remove ! TARGET_IWMMXT condition.
2246
2247 2003-10-13  David S. Miller  <davem@redhat.com>
2248
2249         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
2250         (find_cond_trap): Always increment if we emit a conditional
2251         trap insn.
2252
2253 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
2254
2255         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
2256         with min-insn-modes.o.
2257         (STAGESTUFF): Add min-insn-modes.c.
2258         (genobjs): Add genmodes.o.
2259         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
2260         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
2261         (min-insn-modes.c, min-insn-modes.o): New rules.
2262         (s-modes): Also generate min-insn-modes.c.
2263         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
2264         * genmodes.c (struct mode_data): Add format field.
2265         (blank_mode, validate_mode, complete_mode): Update to match.
2266         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
2267         (_SCALAR_MODE): Kill.
2268         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
2269         (emit_insn_modes_c_header): Adjust.
2270         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
2271         (emit_min_insn_modes_c): New functions.
2272         (emit_insn_modes_c): Call emit_real_format_for_mode.
2273         (main): Add -m option to generate min-insn-modes.c.
2274         * machmode.h: Update documentation.  Add format argument to
2275         all uses of FLOAT_MODE.
2276         * real.c: Don't define real_format_for_mode here.
2277
2278         * dwarfout.c: Move default definition of PRINT_REG...
2279         * defaults.h: ...here.
2280         * print-rtl.c: Include tm_p.h.
2281         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
2282         Kill.
2283         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
2284         this entire block with #ifndef GENERATOR_FILE.
2285         * regclass.c: Unconditionally define reg_names.
2286         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
2287         Don't define DEBUG_REGISTER_NAMES.
2288         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
2289         redefinition of REGISTER_NAMES.
2290         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
2291
2292         * combine.c: Change all preprocessor conditionals on
2293         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
2294         for clarity.
2295         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
2296         * configure.in: Don't define EXTRA_CC_MODES.
2297         * configure, config.in: Regenerate.
2298         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
2299
2300         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
2301         May assume that GET_MODE_CLASS is accurate for extra CC modes
2302         at all times.
2303
2304         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
2305         number of arguments to aggregate_value_p.
2306
2307         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
2308         * machmode.def: Explain ARCH-modes.def.  Document
2309         RESET_FLOAT_FORMAT.  Improve commentary on various mode
2310         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
2311         XF, or TF modes here.  Remove backward-compatibility
2312         definition of CC.
2313
2314         * config/alpha/alpha-modes.def: New file; define TF mode.
2315         * config/arc/arm-modes.def: Define XF mode.
2316         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
2317         float format for SF and DF modes.
2318         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
2319         * config/i386/i386-modes.def: Define XF and TF modes.
2320         * config/i960/i960-modes.def: Define TF mode.
2321         * config/ia64/ia64-modes.def: Define TF and OI modes.
2322         * config/m68k/m68k-modes.def: New file; define XF mode.
2323         * config/mips/mips-modes.def: New file; define TF mode, reset
2324         formats for SF and DF modes.
2325         * config/pa/pa-modes.def: Define TF mode.
2326         * config/rs6000/rs6000.c: Define TF and PSI modes.
2327         * config/s390/s390-modes.def: Define OI mode.
2328         * config/sh/sh-modes.def: New file; define PSI mode.
2329         * config/sparc/sparc-modes.def: Define TF mode.
2330         * config/vax/vax-modes.def: New file; reset formats for SF and
2331         DF modes.
2332
2333         * config/c4x/c4x.c (c4x_override_options): No need to mess
2334         with real_format_for_mode or set REAL_MODE_FORMATs.
2335         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
2336         variable.
2337         * config/i386/i386.c (override_options): No need to set
2338         REAL_MODE_FORMATs here.
2339         * config/i960/i960.c (i960_initialize): Likewise.
2340         * config/m68k/m68k.c (m68k_override_options): Likewise.
2341         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
2342         for TFmode only if not the default.
2343         * config/mips/mips.c (override_options): Likewise.
2344         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
2345         DFmode only if not the default.
2346
2347         * config/i370/i370.h (RET_REG): Don't consider TFmode.
2348         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
2349         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
2350         of modes that don't appear anywhere in the machine description.
2351
2352         * config/arc/arc-modes.def, config/arm/arm-modes.def
2353         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
2354         * config/i386/i386-modes.def, config/i960/i960-modes.def
2355         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
2356         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
2357         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
2358         * config/sparc/sparc-modes.def: Convert to new style for
2359         declaring extra CC modes.
2360
2361 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
2362
2363         * cpplex.c (_cpp_clean_line): In the common case of a line
2364         with no trigraphs and no \-newline, avoid writing to memory.
2365         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
2366         of the buffer member.  Make c an uchar to avoid unnecessary
2367         sign extensions.
2368
2369 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2370
2371         * configure.in: Remove unnecessary test.
2372         * configure: Regenerate.
2373
2374         * configure.in: Fix grammatical error.  Move UWIN host error to...
2375         * config.host: Here.
2376         * configure: Regenerate.
2377
2378 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
2379
2380         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
2381         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
2382         of flag_unsafe_math_optimizations.
2383         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
2384         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
2385         fused-madd and no-fused-madd.
2386         * doc/invoke.texi: Documented the new options fused-madd and
2387         no-fused-madd for S/390.
2388
2389 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
2390
2391         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
2392         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
2393         assign DEFAULT_ABI.
2394         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
2395         * config/rs6000/rs6000.c: Formatting.
2396         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
2397         when rs6000_alignment_string given.
2398
2399 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2400
2401         PR target/12538
2402         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
2403         (sparc_flat_must_save_register_p): New function to decide whether
2404         a register must be saved/restored in the function prologue/epilogue.
2405         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
2406
2407 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
2408
2409         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
2410         ISO C90 function declarations and definitions.
2411         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
2412
2413 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2414
2415         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
2416         config files which do the same thing.
2417         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
2418         config/freebsd6.h: Remove now unnecessary files.
2419
2420 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
2421
2422         * c-common.c (c_common_truthvalue_conversion): Warn if the
2423         address of a non-weak function is used as a truth value.
2424
2425 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
2426
2427         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
2428         a literal.
2429         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
2430         instead of a literal.
2431
2432 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
2433
2434         * doc/extend.texi (Function Attributes): Mention the exceptional
2435         path for noreturn-marked functions.
2436
2437 2003-10-12  Jan Hubicka  <jh@suse.cz>
2438
2439         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
2440         warning.
2441
2442 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
2443
2444         * config/i386/i386.c (x86_this_parameter): Fix typo.
2445
2446 2003-10-11  Jan Hubicka  <jh@suse.cz>
2447
2448         * Makefile.in (web.o): New.
2449         * web.c: New file.
2450         * rtl.h (web_main): Declare.
2451         * timervar.def (TV_WEB): New.
2452         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
2453         (rest_of_hanle_web): New.
2454         (flag_web): New static variable.
2455         (lang_independent_options): Add "web".
2456         (rest_of_compilation): Call rest_of_handle_web.
2457         * invoke.texi (-fweb): Document.
2458         * common.opt (fweb): New.
2459         * flags.h (flag_web): New.
2460         * opts.c (decode_options): Set flag_web at -O3.
2461
2462         * passes.texi (web construction):  Document.
2463         * invoke.texi (-O3): Document that -fweb is enabled.
2464
2465         * regrename.c (regrename_optimize): Deal better with situation when
2466         replacement failed.
2467
2468         * sched-ebb.c: Include params.h and profile.h
2469         (schedule_ebbs):  Use tracer parameters to discover superblocks
2470         * Makefile.in (sched-ebb.o):  Add dependencies.
2471
2472 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2473
2474         * fold-const.c (negate_mathfn_p): New function to determine whether
2475         a built-in mathematical function is sign preserving, f(-x) == -f(x).
2476         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
2477         (tree_swap_operands_p): Change API to take an additional argument
2478         indicating that the swapped operands evaluate in reverse order.
2479         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
2480         operand side-effects or we don't care about flag_evaluation_order.
2481         (reorder_operands_p): New function to check whether its safe to
2482         evaluate the given operands in reverse order.
2483         (negate_expr_p):  We can always negate integer constants unless
2484         we honor -ftrapv and the signed type would overflow.  Only allow
2485         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
2486         negation of COMPLEX_CST if both real and imaginary parts can be
2487         negated.  Allow negation through floating point extensions and
2488         sign-preserving built-in functions.
2489         (negate_expr):  Move the code to negate integers from "fold" to
2490         here.  Always negate integer constants unless we honor -ftrapv
2491         and the signed type would overflow.  Always negate real constants
2492         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
2493         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
2494         Optimize negation through floating point extensions and
2495         sign-preserving built-in functions (as defined by negate_mathfn_p).
2496         (fold): Adjust calls to tree_swap_operands_p.
2497         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
2498         to negate_expr_p/negate_expr.
2499         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
2500         allowed to convert (-A) - B into (-B) - A.
2501
2502 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2503
2504         * builtins.c (expand_builtin_strcmp): Defend against the possibility
2505         that gen_cmpstrsi may fail: Stabilize the argument list against
2506         re-evaluation and expand the library call directly using this saved
2507         argument list if a cmpstrsi sequence can't be generated.
2508         (expand_builtin_strncmp): Likewise.
2509
2510         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
2511
2512 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2513
2514         PR optimization/12260
2515         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
2516         operations through CONST nodes.  Optimize (neg (plus X C)) as
2517         (minus -C X) for constant values C.
2518         (simplify_binary_operation): Optimize (minus (neg X) C) as
2519         (minus -C X) for constant values C.
2520         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
2521         instead create (minus -C X).
2522
2523 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2524
2525         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
2526         safe_from_p for us, once it chooses an evaluation order.
2527         (expand_expr <MULT_EXPR>): Likewise.
2528         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
2529         places the second operand in "target", swap the operands.
2530         (do_store_flag): Let expand_operands call safe_from_p for us.
2531
2532 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2533
2534         PR optimization/12544
2535         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
2536         for DECL_NONLOCAL decls.
2537
2538 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2539
2540         * expr.c: Follow spelling conventions.
2541         * final.c: Likewise.
2542         * optabs.c: Likewise.
2543         * sched-deps.c: Likewise.
2544         * sdbout.c: Likewise.
2545
2546 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
2547
2548         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
2549         re-computing of variable.
2550
2551 2003-10-11  Richard Henderson  <rth@redhat.com>
2552
2553         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
2554         return_in_memory, make static, change signature to match target hook.
2555         (alpha_setup_incoming_varargs): Make static, change signature to
2556         match target hook, add code for vms and unicos.
2557         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
2558         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
2559         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
2560         TARGET_STRICT_ARGUMENT_NAMING,
2561         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
2562         * config/alpha/alpha-protos.h: Update.
2563         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
2564         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
2565         SETUP_INCOMING_VARARGS): Remove.
2566         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
2567         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
2568
2569 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
2570
2571         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
2572
2573 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2574
2575         * config/m68k/lb1sf68.asm: Follow spelling conventions.
2576         * config/m68k/m68k.c: Likewise.
2577         * config/m68k/m68k.h: Likewise.
2578         * config/m68k/m68k.md: Likewise.
2579
2580 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2581
2582         * builtins.c (expand_builtin_memcpy): Optimize case when the two
2583         pointer arguments are the equal, non-volatile and side-effect free.
2584         (expand_builtin_mempcpy): Likewise.
2585         (expand_builtin_memmove): Likewise.
2586         (expand_builtin_strcpy): Likewise.
2587         (expand_builtin_memcmp): Likewise.
2588         (expand_builtin_strcmp): Likewise.
2589         (expand_builtin_strncmp): Likewise.
2590
2591 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2592
2593         * combine.c (apply_distributive_law): Enable "distributive" floating
2594         point optimizations with -funsafe-math-optimizations.
2595
2596 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
2597
2598         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
2599
2600 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2601
2602         * config/m68k/m68k-protos.h: Remove the prototype for
2603         finalize_pic.
2604
2605 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2606
2607         * config/m68k/m68k.c: Fix comment typos.
2608
2609 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2610
2611         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
2612         int to bool.
2613         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
2614         (current_frame): New global var.
2615         (m68k_compute_frame_layout): Cache computations in current_frame.
2616         (m68k_initial_elimination_offset): Use values from current_frame
2617         instead of recomputing them.
2618         (use_return_insn): Likewise.
2619         (m68k_output_function_prologue): Likewise.
2620         (m68k_output_function_epilogue): Likewise.
2621         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
2622         inside the block for __pic__.
2623
2624 2003-10-11  Peter Barada <peter@baradas.org>
2625             Bernardo Innocenti  <bernie@develer.com>
2626
2627         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
2628         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
2629         (m68k_interrupt_function_p): New function.
2630         (m68k_handle_fndecl_attribute): Ditto.
2631         (m68k_compute_frame_layout): Ditto.
2632         (m68k_attribute_table): Define back-end specific attributes.
2633         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
2634         functions.
2635
2636 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2637
2638         * config/m68k/t-uclinux: New target Makefile fragment.
2639         * config/m68k/uclinux.h: New target macro file.
2640         * config.gcc (m68k-*-uclinux): New target definition.
2641
2642 2003-10-10  Roger Sayle  <roger@eyesopen.com>
2643
2644         * builtins.c (builtin_mathfn_code): Generalize to check whether
2645         the call is to any built-in function by comparing the call's
2646         argument list against the builtin decl's function type.
2647
2648 2003-10-10  Roger Sayle  <roger@eyesopen.com>
2649
2650         * cse.c (constant_pool_entries_regcost): New global variable to
2651         hold the register cost component of constant_pool_entries_cost.
2652         (fold_rtx): Calculate constant_pool_entries_regcost at the same
2653         time as constant_pool_entries_cost.
2654         (cse_insn): Set both src_folded_cost and src_folded_regcost from
2655         constant_pool_entries_cost and constant_pool_entries_regcost.
2656         (cse_main): Initialize constant_pool_entries_regcost to zero.
2657
2658         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
2659         the semantics of the sequence of bit operations used to negate
2660         a floating-point value.
2661         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
2662         the semantics of the bit operations used to abs a floating point
2663         value.
2664
2665 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2666             Paul Dale  <pauli@snapgear.com>
2667
2668         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
2669         support.
2670         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
2671         -fpic, -fPIC, -msep-data and -mid-shared-library.
2672         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
2673         (override_options): Add -msep-data and -mshared-library-id support.
2674         (m68k_output_function_prologue): Generate code to load A5 for
2675         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
2676         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
2677         (m68k_output_pic_call): New function.
2678         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
2679         (TARGET_ID_SHARED_LIBRARY): Ditto.
2680         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
2681         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
2682         (call_value): Likewise.
2683
2684 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
2685
2686         * gengenrtl.c (find_formats, genheader): Make i an unsigned
2687         int, remove cast of NUM_RTX_CODE.
2688         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
2689         entire file.  Remove the #ifs on GET_MODE_MASK etc and
2690         GET_MODE_WIDER_MODE etc.
2691
2692 2003-10-10  Eric Christopher  <echristo@redhat.com>
2693
2694         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
2695         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
2696         that set mode.
2697         * config/sh/sh.h (MODE_ENTRY): New macro.
2698         (MODE_EXIT): Ditto.
2699         (MODE_AFTER): Ditto.
2700         * config/sh/sh.md: Change for MODE_AFTER. Add
2701         fp_set attribute.
2702         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
2703
2704 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
2705
2706         * genmodes.c, mode-classes.def: New files.
2707         * machmode.def: Rewritten to genmodes.c interface.
2708         * Makefile.in (extra_modes_file): New substitution variable.
2709         (MACHMODE_H): No longer includes machmode.def or
2710         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
2711         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
2712         (OBJS-common): Add insn-modes.o.
2713         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
2714         genmodes$(build_exeext).
2715         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
2716         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
2717         (s-genrtl): Don't depend on $(RTL_BASE_H).
2718         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
2719         or $(RTL_BASE_H); just rtl.def.
2720         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
2721         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
2722         substitute definition of NUM_RTX_CODE.  Add casts to avoid
2723         warnings.
2724         * machmode.h: Include insn-modes.h, not machmode.def.  Include
2725         mode-classes.def to define enum mode_class.  Tweak definitions
2726         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
2727         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
2728         (inner_mode_array): Renamed mode_inner.
2729         (mode_base_align): New.
2730         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
2731         mode_unit_size, mode_wider_mode, mode_mask_array,
2732         inner_mode_array, class_narrowest_mode): Delete definitions.
2733         * stor-layout.c (get_mode_alignment): Use mode_base_align.
2734         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
2735         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
2736
2737         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
2738         No need to define BITS_PER_UNIT.
2739
2740 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2741
2742         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
2743         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
2744         (ia64_initialize_trampoline): If not using GAS, declare trampoline
2745         as global.
2746         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
2747         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
2748
2749         * stor-layout.c (compute_record_mode): Don't force BLKmode if
2750         field is zero-length BLKmode.
2751         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
2752         zero-size references.
2753
2754         * combine.c (distribute_links): Properly test for REG being set.
2755
2756         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
2757         gen_lowpart and company except for REG.
2758
2759 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2760
2761         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
2762
2763 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
2764
2765         * config.gcc (mips*-*-netbsd*): Remove content-free line.
2766
2767 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
2768
2769         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
2770         gcov_position_t and gcov_type.
2771
2772 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
2773
2774         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
2775         * configure: Regenerate.
2776
2777 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
2778
2779         * config/h8300/h8300.md (define_asm_attributes): Specify
2780         the length of an asm insn more precisely.
2781
2782 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2783
2784         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
2785
2786 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
2787
2788         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
2789         FP register number to 48 and MAC16 accumulator to 0x210.
2790
2791 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2792
2793         * config.gcc: Remove redundant thread_file setting clauses for
2794         various *-*-linux* targets.
2795
2796 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
2797
2798         * config/h8300/h8300.md (define_asm_attributes): New.
2799
2800 2003-10-09  Roger Sayle  <roger@eyesopen.com>
2801
2802         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
2803         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
2804
2805 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
2806
2807         * haifa-sched.c (ok_for_early_schedule): New function.
2808         (early_queue_to_ready): New function.
2809         (schedule_block): Allow early removal of insns from Q.
2810         (schedule_insn): Update INSN_TICK in case of premature
2811         issue.
2812         * common.opt (sched_stalled_insns): New flag.
2813         (sched_stalled_insns_dep): New flag.
2814         * flags.h: Same above flags.
2815         * opts.c: Same as above.
2816         * toplev.c: Same as above.
2817         * target.h (targetm.sched.is_costly_dependence): New
2818         hook.
2819         * target-def.h: Same as above.
2820         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
2821         Support new flag -msched-costly-dep.
2822         (DEFAULT_SCHED_COSTLY_DEP): Define.
2823         * config/rs6000/rs6000.c:
2824         (rs6000_is_costly_dependence): New function.
2825         (is_load_insn, is_store_insn): New functions.
2826         (is_load_insn1, is_store_insn1, is_mem_ref): New
2827         functions.
2828         * doc/invoke.texi (-fsched-stalled-insns-dep)
2829         (-fsched-stalled-insns, -msched-costly-dep): Document
2830         options.
2831         * doc/tm.texi (is_costly_dependence): Define new
2832         scheduler target hook.
2833
2834 2003-10-09  Jason Merrill  <jason@redhat.com>
2835
2836         PR c++/6392
2837         * c-common.c (c_build_qualified_type): Look through arrays first.
2838         (c_apply_type_quals_to_decl): Look through arrays.
2839
2840         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
2841         types with constructors.
2842
2843         * coverage.c (build_ctr_info_value): Use build_decl to make a
2844         VAR_DECL.
2845         (create_coverage): Likewise.
2846
2847         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
2848         here.
2849         (expand_asm_operands): Not here.
2850         (parse_input_constraint): No longer static.
2851         * tree.h: Declare it.
2852
2853 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2854
2855         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
2856         libgcc_s.so.
2857         (SHLIB_INSTALL): Likewise.
2858
2859 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2860
2861         * doc/install.texi: Remove reference to removed 'pthreads' thread
2862         option.
2863
2864 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
2865
2866         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
2867         operand 2.
2868
2869 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2870
2871         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
2872         up related case statements.
2873         * configure.in: Don't accept --enable-threads=pthreads,
2874         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
2875         supported thread files in case clause.
2876         * configure: Regenerate.
2877
2878 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
2879
2880         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
2881         definition to above SPARC_STACK_BOUNDARY_HACK.
2882
2883 2003-10-08  Jason Merrill  <jason@redhat.com>
2884
2885         * c-pretty-print.c (pp_c_postfix_expression)
2886         <COMPOUND_LITERAL_EXPR>: Fix thinko.
2887
2888 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2889
2890         * mklibgcc.in: Don't hide undefined or typeless symbols.
2891
2892 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2893
2894         PR optimization/12142
2895         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
2896         uses of the register in the SET_SRC.  Remove unnecessary argument.
2897         * pa.c (legitimize_pic_address): Before reload, use a scratch register
2898         for the intermediate result in loading the address of a SYMBOL_REF.
2899         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
2900         which loads the SYMBOL_REF address.
2901
2902 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
2903             Eric Botcazou  <ebotcazou@libertysurf.fr>
2904
2905         PR bootstrap/12490
2906         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
2907         to define the size of the extern_C_braces array.  Set it to 200.
2908         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
2909
2910 2003-10-08  Carlo Wood  <carlo@alinoe.com>
2911
2912         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
2913         a space after the -o option.  flex 2.5.31 understands both, with
2914         and without the space. Removed that space.
2915
2916 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
2917
2918         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
2919         (compute_frame_size): Initialize it.  Remove the .cprestore slot
2920         from args_size.
2921         (mips_output_function_prologue): Simplify accordingly.
2922         (mips_debugger_offset): Change the mips16 frame pointer offset from
2923         current_function_outgoing_args to cfun->machine->frame.args_size.
2924         (mips_initial_elimination_offset): Likewise.
2925         (mips_expand_prologue): Likewise.
2926         (mips_expand_epilogue): Likewise.
2927
2928 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
2929
2930         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
2931         (EXTRA_MEMORY_CONSTRAINT): Define.
2932         (CAN_ELIMINATE): Remove lwu workaround.
2933         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
2934         Use a 'W' constraint for the source operand.
2935
2936 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2937
2938         * genopinit.c (main): Output code to declare undefined
2939         variables.
2940
2941 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
2942
2943         * gengtype-lex.l: Remove -Wtraditional cruft.
2944         * Makefile.in (gengtype-lex.c): Likewise.
2945
2946 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2947
2948         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
2949
2950 2003-10-07  Jason Merrill  <jason@redhat.com>
2951
2952         PR c++/12519
2953         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
2954         it isn't a decl.
2955
2956 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
2957
2958         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
2959         not overridden.
2960         Fixes PR bootstrap/12173.
2961
2962 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
2963
2964         * errors.c: Don't include coretypes.h or tm.h.
2965         (trim_filename): Use IS_DIR_SEPARATOR.
2966         * Makefile.in: Update dependencies of errors.o and
2967         $(BUILD_PREFIX_1)errors.o.
2968
2969 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
2970
2971         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
2972         account when aligning arguments.
2973         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
2974         * defaults.h (STACK_POINTER_OFFSET): ... to here.
2975         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
2976         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
2977         (SPARC_STACK_BOUNDARY_HACK): Define.
2978         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
2979         arrange for vector parameters to varargs functions to be passed
2980         in both memory and GPRs when appropriate.
2981         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
2982         aligned.
2983
2984         * hooks.c (hook_bool_tree_true): New.
2985         (hook_rtx_tree_int_null): New.
2986         (hook_rtx_rtx_null): Use NULL, not 0.
2987         * hooks.h: Add 'extern' to everything.
2988         (hook_bool_tree_true): New.
2989         (hook_rtx_tree_int_null): New.
2990         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
2991         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
2992         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
2993         prototype.
2994         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
2995         (setup_incoming_varargs): Prototype.
2996         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
2997         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
2998         (TARGET_STRUCT_VALUE_RTX): Define.
2999         (TARGET_RETURN_IN_MEMORY): Define.
3000         (TARGET_SETUP_INCOMING_VARARGS): Define.
3001         (TARGET_STRICT_ARGUMENT_NAMING): Define.
3002         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
3003         (init_cumulative_args): Use rs6000_return_in_memory.
3004         (setup_incoming_varargs): Make 'static'.
3005         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
3006         (PROMOTE_FUNCTION_RETURN): Delete.
3007         (STRUCT_VALUE): Delete.
3008         (RETURN_IN_MEMORY): Delete.
3009         (SETUP_INCOMING_VARARGS): Delete.
3010
3011 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
3012
3013         * doc/invoke.texi (Warning Options): Simplify and clarify the
3014         descriptions of -Wnonnull and -Winit-self.
3015
3016 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
3017
3018         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
3019         indicees for floating-point conversersion libcalls.
3020
3021 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
3022
3023         * Makefile.in: Add more comments separating large conceptually
3024         separate sections.
3025
3026         * configure.in: Clean up thread file logic.
3027         * configure: Regenerate.
3028
3029 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
3030
3031         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
3032         (switch_to_section): Handle in_readonly_data.
3033         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
3034         readonly data.
3035
3036 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
3037
3038         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
3039         it.
3040         (cbranchne_decr1): New Thumb pattern.
3041         * arm.c (arm_addimm_operand): New insn predicate.
3042         * arm-protos.h: Add a prototype for it.
3043         * arm.h (PREDICATE_CODES): Add it.
3044
3045 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
3046
3047         * sched-int.h (sched_info): New field
3048         sched_max_insns_priority.
3049         * sched-rgn.c (init_ready_list): Add invocations to
3050         targetm.sched.adjust_priority.
3051         (sched_max_insns_priority): Init new field.
3052         * sched-ebb.c (sched_max_insns_priority): Init new field.
3053         * haifa-sched.c (set_priorities): Set
3054         sched_info->sched_max_insns_priority.
3055         * config/rs6000/rs6000.h:
3056         (rs6000_sched_restricted_insns_priority_str): Support new
3057         flag -mprioritize-restricted-insns.
3058         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
3059         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
3060         function.
3061         (rs6000_adjust_priority): Change priority of restricted
3062         insns, using above new function and new flag.
3063         * doc/invoke.texi (-mprioritize-restricted-insns): Document
3064         new option.
3065
3066 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
3067
3068         * expr.c (cmpstr_optab, cmpmem_optab): New.
3069         * genopinit.c: Initialize them.
3070         * optabs.h: Declare them.
3071         * optabs.c (init_optabs): Clear them.
3072         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
3073         block memory compare insns, not conditional chains.  Restructure
3074         the fallback generation of a call to memcmp/bcmp for better
3075         readability.
3076
3077 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
3078
3079         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
3080         (mips_save_restore_fn): New typedef.
3081         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
3082         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
3083         (save_restore_insns): Remove, replacing with...
3084         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
3085         (mips_save_reg, mips_restore_reg): New function.
3086         (mips_expand_prologue, mips_expand_epilogue): Rework.
3087         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
3088         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
3089         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
3090
3091 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
3092
3093         * config/mips/mips.c (mips_expand_prologue): Remove unused
3094         traversal of function arguments.
3095
3096 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
3097
3098         * doc/invoke.texi: Remove documentation of -mentry.
3099         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
3100         (override_options, mips_save_reg_p): Remove handling.
3101         (compute_frame_size, mips_output_function_prologue): Likewise.
3102         (mips_expand_prologue, mips_expand_epilogue): Likewise.
3103         * config/mips/mips.h (mips_entry_string): Remove declaration.
3104         (TARGET_OPTIONS): Remove -mentry.
3105         * config/mips/mips16.S: Remove mention of -mentry.
3106
3107 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
3108
3109         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
3110         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
3111         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
3112         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
3113         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
3114         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
3115         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
3116         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
3117         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
3118         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
3119         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
3120         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
3121         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
3122         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
3123         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
3124         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
3125         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
3126         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
3127         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
3128         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
3129         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
3130         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
3131         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
3132         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
3133         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
3134         (fixunstfti_libfunc): Delete.
3135         * optabs.h (struct optab_handlers): Break out of struct optab.
3136         (struct convert_optab, convert_optab, enum convert_optab_index,
3137         convert_optab_table, sext_optab, zext_optab, trunc_optab,
3138         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
3139         sfloat_optab, ufloat_optab): New.
3140         (set_conv_libfunc): Prototype.
3141         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
3142         (trunc_optab): Renamed btrunc_optab.
3143         * builtins.c (expand_builtin_mathfn): Update to match.
3144         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
3145         (convert_optab_table, new_convert_optab, init_convert_optab)
3146         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
3147         (set_conv_libfunc): New.
3148         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
3149         (expand_float, expand_fix): Use new conversion optabs,
3150         not old insn code tables or long chains of ifs.
3151         (init_optabs): No need to clear old insn code tables.
3152         Initialize the new optabs, not the old libfunc array entries.
3153         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
3154         * genopinit.c: Initialize conversion optabs, not the
3155         former insn code tables.  Remove unnecessary casts.
3156         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
3157         * expr.c (convert_move): Remove redundant check that
3158         to_real==from_real.  Use the conversion optabs instead
3159         of long chains of tests of modes.  Move partial-integer-mode
3160         interconversion above all integer conversion.  Do not recurse
3161         on a value forced into a register in the original mode.
3162
3163         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
3164         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
3165         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
3166         in new conversion optabs; do not reference the old libfunc
3167         array entries.  No need to include libfuncs.h.
3168
3169 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3170
3171         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
3172         point comparison sequence with a REG_EQUAL note that describes
3173         the comparison's semantics.
3174
3175 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3176
3177         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
3178         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
3179
3180 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3181             Zack Weinberg  <zack@codesourcery.com>
3182
3183         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
3184         instruction by using LCT_CONST and then calling emit_libcall_block
3185         ourselves.
3186
3187 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3188
3189         PR optimization/11974
3190         * optabs.c (expand_unop): Promote libcall outmode according to
3191         hard_libcall_value.
3192
3193 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
3194
3195         * real.h (REAL_MODE_FORMAT): New macro.
3196         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
3197         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
3198         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
3199         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
3200         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
3201         directly to real_format_for_mode array, wherever possible.
3202
3203 2003-10-06  Devang Patel  <dpatel@apple.com>
3204
3205         * dwarf2out.c (is_main_source): Remove variable.
3206         (dwarf2out_start_source_file): Do not check is_main_source.
3207         Do not reset is_main_source.
3208         (dwarf2out_init): Do not initialize is_main_source.
3209
3210 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3211
3212         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
3213         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
3214         introduced some multi-line prototypes.
3215         * fixinc/fixincl.x: Regenerate.
3216
3217 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3218
3219         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
3220         * config/mips/mips.c (stack_operand): New predicate.
3221         * config/mips/mips.md: Use it for the destination of mips16 insns
3222         that store $31.
3223
3224 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3225
3226         * config/mips/mips.md (*lowsi): Renamed from lowsi.
3227         (*lowdi): Likewise lowdi.
3228         (*lowsi_mips16, *lowdi_mips16): New patterns.
3229         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
3230         mips16 CONSTANT_RELOC handling.
3231         (mips_delegitimize_address): Adjust for new sdata representation.
3232
3233 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3234
3235         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
3236         skip any remaining register arguments.
3237
3238 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3239
3240         * reload.c (find_reloads_subreg_address): Use correct offset for
3241         paradoxical MEM subregs on big-endian targets.
3242
3243 2003-10-06  Andrew Haley  <aph@redhat.com>
3244
3245         * tree.c (get_callee_fndecl): Call
3246         lang_hooks.lang_get_callee_fndecl.
3247         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
3248         (lhd_get_callee_fndecl): New.
3249
3250 2003-10-06  Andrew Pinski  <apinski@apple.com>
3251
3252         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
3253         error in calculating the length of the string.
3254         (machopic_stub_name): Likewise.
3255
3256 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3257
3258         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
3259         describing the return value of the comparison libcall to the
3260         REG_RETVAL instruction of the emitted sequence.
3261
3262 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3263
3264         PR optimization/12215
3265         * cse.c (cse_set_around_loop): Emit the move at the beginning
3266         of the next basic block for trapping sets.
3267
3268 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3269
3270         PR optimization/11637
3271         * combine.c (adjust_for_new_dest): New function to adjust the
3272         notes and LOG_LINKS when the dest of an insn has changed.
3273         (try_combine): Use it when deleting the first insn of a two-insn
3274         parallel or splitting a two-load parallel.
3275
3276 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3277
3278         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
3279         if TARGET_EXPLICIT_RELOCS.
3280
3281 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
3282
3283         PR bootstrap/12512
3284         * Makefile.in (info): Use double-colon rules.
3285         (dvi): Likewise.
3286         (generated-manpages): Likewise.
3287         * configure.in: Do not create lang.info, lang.dvi, or
3288         lang.generated-manpages hooks.
3289         * configure: Regenerated.
3290         * objc/Make-lang.in (objc.info): Remove.
3291         (objc.dvi): Remove.
3292         (objc.generated-manpages): Remove.
3293         * doc/sourcebuild.texi: Update description of info, dvi, and
3294         generated-manpages hooks.
3295
3296 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3297
3298         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
3299
3300 2003-10-05  Andrew Pinski  <apinski@apple.com>
3301
3302         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
3303         errors in memcpy destinations.
3304         (machopic_stub_name): Likewise.
3305
3306 2003-10-05  Andrew Pinski <apinski@apple.com>
3307
3308         * config/darwin.c (machopic_non_lazy_ptr_name):
3309         Change strcat to memcpy and add length together.
3310         (machopic_stub_name): Likewise.
3311
3312 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
3313
3314         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
3315         signal trampoline codes.
3316
3317 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
3318
3319         * config/mips/mips.md (*divsf3): Move description of
3320         SB-1 F2 erratum from here to...
3321         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
3322         flag_unsafe_math_optimizations is not.
3323
3324 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
3325
3326         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
3327         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
3328
3329 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3330
3331         * c-pretty-print.c: Fix comment typos.
3332         * c-pretty-print.h: Likewise.
3333         * calls.c: Likewise.
3334         * cfgloopmanip.c: Likewise.
3335         * cgraphunit.c: Likewise.
3336         * cppfiles.c: Likewise.
3337         * final.c: Likewise.
3338         * function.c: Likewise.
3339         * gcov-io.h: Likewise.
3340         * gcse.c: Likewise.
3341         * genoutput.c: Likewise.
3342         * loop.c: Likewise.
3343         * postreload.c: Likewise.
3344         * reg-stack.c: Likewise.
3345         * regmove.c: Likewise.
3346         * sched-int.h: Likewise.
3347         * sched-rgn.c: Likewise.
3348         * simplify-rtx.c: Likewise.
3349         * tree-inline.c: Likewise.
3350         * config/m68hc11/m68hc11.h: Likewise.
3351         * config/mmix/mmix.c: Likewise.
3352         * config/mn10300/mn10300.md: Likewise.
3353         * config/sh/sh.h: Likewise.
3354
3355 2003-10-05  Richard Henderson  <rth@redhat.com>
3356
3357         * tree-inline.c (remap_type): New.
3358         (remap_decl): Use it.  Remap DECL_SIZE*.
3359         (copy_body_r): Use it.
3360         (walk_tree): Walk TREE_TYPE too.
3361         (copy_tree_r): Don't walk subtrees of types.
3362         * tree.c (variably_modified_type_p): Restructure.  Consider integer
3363         types with non-const bounds variably modified.
3364
3365 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3366
3367         * doc/invoke.texi: Fix typos.
3368
3369 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3370
3371         * fold-const.c: Follow spelling conventions.
3372         * function.c: Likewise.
3373         * config/c4x/c4x.h: Likewise.
3374         * config/c4x/c4x.md: Likewise.
3375         * config/frv/frv.md: Likewise.
3376         * config/rs6000/aix.h: Likewise.
3377         * config/rs6000/linux64.h: Likewise.
3378         * config/xtensa/xtensa.c: Likewise.
3379
3380 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3381
3382         * c-pretty-print.c: Fix comment formatting.
3383         * cfglayout.c: Likewise.
3384         * cfgloopanal.c: Likewise.
3385         * cppcharset.c: Likewise.
3386         * dbxout.c: Likewise.
3387         * ggc-page.c: Likewise.
3388         * ggc.h: Likewise.
3389         * target.h: Likewise.
3390
3391 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
3392
3393         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
3394
3395 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3396
3397         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
3398         Convert to ISO C90 function declarations and definitions.
3399
3400 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
3401
3402         * libfuncs.h
3403         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
3404         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
3405         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
3406         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
3407         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
3408         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
3409         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
3410         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
3411         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
3412         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
3413         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
3414         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
3415         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
3416         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
3417         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
3418         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
3419         Delete.
3420         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
3421         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
3422         (le_optab, unord_optab): New.
3423
3424         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
3425         from the code_to_optab table, not a giant switch; use
3426         swap_condition; do widening only if a comparison function that
3427         we can call exists in a wider mode, not if a cmp_optab insn or
3428         libfunc exists in a wider mode; call protect_from_queue
3429         exactly once on each operand.
3430         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
3431
3432         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
3433         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
3434         Set floating point comparison libfuncs using set_optab_libfunc
3435         on the appropriate optab.
3436
3437         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
3438         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
3439         selector conditionals.
3440
3441 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
3442
3443         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
3444         identical to m68hc12 as far as libraries are concerned.
3445
3446 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3447
3448         PR c/12446
3449         * c-typeck.c (convert_for_assignment): Issue an error for
3450         array to pointer assignment after default conversion.
3451         (digest_init): Likewise.
3452
3453 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
3454
3455         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
3456
3457 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
3458
3459         * doc/extend.texi (Function Attributes): Fix title of GNU C
3460         Preprocessor manual.
3461         (C++ Extensions): Fix reference to "Predefined Macros" in the
3462         GNU C Preprocessor manual.
3463
3464 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
3465
3466         * doc/extend.texi: Document how GCC estimates and relies on the size
3467         of an asm.
3468
3469 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
3470
3471         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
3472         arguments downward for big-endian o64.
3473
3474 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
3475
3476         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
3477         PCH generation, avoiding too-frequent flushes when writing to NFS
3478         file system.
3479
3480 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
3481
3482         * objc/objc-act.c (lookup_category): Mark as 'inline'.
3483
3484 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
3485             Ziemowit Laski  <zlaski@apple.com>
3486
3487         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
3488         New functions.
3489         (lookup_method_in_hash_lists): New parameter indicating whether
3490         we are messaging 'Class' or 'id'.
3491         (check_duplicates): Likewise; do not assume all methods will
3492         be either class or instance methods.
3493         (generate_category, finish_class): Use lookup_category().
3494         (add_method): Use add_method_to_hash_list(); insert instance
3495         methods of root classes into the global class method hash table.
3496         (add_category): Use lookup_category(); avoid constructing
3497         duplicate categories.
3498         (really_start_method): Add method to corresponding @interface,
3499         if not already there (and if the @interface exists).
3500         (finish_message_expr, finish_objc): Adjust calls to
3501         check_duplicates().
3502
3503 2003-10-03  Roger Sayle  <roger@eyesopen.com>
3504
3505         PR optimization/9325, PR java/6391
3506         * fold-const.c (fold_convert): For floating point to integer
3507         conversions, return the maximum/minimum representable integer
3508         value if the real constant overflows the destination type.
3509         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
3510         meaning don't truncate the result to a floating point mode.
3511         Simplify the logic by calling real_from_integer directly.
3512         * simplify-rtx.c (simplify_unary_operation):  Implement the
3513         same semantics for folding floating point to integer conversions
3514         in RTL.
3515
3516 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
3517
3518         * config/mips/mips.c (mips_emit_prefetch): Restructure
3519         to avoid use of arrays, handle indexed prefetch.
3520         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
3521         (ISA_HAS_PREFETCHX): New deffine.
3522         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
3523         update comments.
3524         (prefetch_indexed_di, prefetch_indexed_si): New insns.
3525
3526 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
3527             Roger Sayle  <roger@eyesopen.com>
3528
3529         PR optimization/12289
3530         * calls.c (emit_call_1): Pretend to have popped the arguments
3531         to noreturn and longjmp functions instead of ignoring them.
3532         (expand_call): Don't adjust stack_pointer_dela while
3533         inhibit_defer_pop is set.
3534
3535 2003-10-03  Andreas Schwab  <schwab@suse.de>
3536
3537         PR bootstrap/12276
3538         * configure.in: Check for libunwind on the host only if building
3539         a native compiler.
3540         * configure: Regenerated.
3541
3542 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
3543
3544         * unwind-pe.h (read_encoded_value_with_base): Constify u and
3545         its inizialization cast.
3546
3547 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
3548
3549         PR target/12485
3550         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
3551
3552 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
3553
3554         PR optimization/12180
3555         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
3556         functions containing calls to __builtin_next_arg.
3557
3558 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
3559
3560         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
3561         in instructions being output.
3562         * config/mips/mips.md (prefetch_si_address): Change third
3563         operand's constraint letter to 'I'.
3564         (prefetch_di_address): Likewise.
3565         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
3566
3567 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
3568
3569         * system.h: Poison macros obsoleted by earlier patch.
3570         * config/cris/cris.c: C90-ify a function definition.
3571
3572 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
3573
3574         PR/12292
3575         * combine.c (make_field_assignment): Check whether rtx's code
3576         is CONST_INT before using INTVAL.
3577
3578 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
3579
3580         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
3581         htab_find_slot_with_hash.
3582         (cgraph_node_for_identifier): Use NO_INSERT.
3583         (cgraph_remove_node): Use NO_INSERT.
3584         (cgraph_varpool_node): Use INSERT.
3585         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
3586
3587 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
3588
3589         Waldek Hebisch <hebisch@math.uni.wroc.pl>
3590         PR/12072
3591         * varasm.c (compare_constant): Fix thinko.
3592
3593 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
3594
3595         * config/frv/frv.c (frv_issue_rate): New function.
3596         (frv_pack_insns): Use it.
3597         (TARGET_SCHED_ISSUE_RATE): Define.
3598
3599 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
3600
3601         * config/mcore/mcore.c: Convert to ISO C90 function declarations
3602         and definitions.
3603         * config/mcore/mcore.h: Likewise.
3604         * config/mcore/mcore-protos.h: Likewise.
3605
3606 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
3607
3608         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
3609         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
3610
3611 2003-10-01  Per Bothner  <pbothner@apple.com>
3612
3613         * c-lex.c (src_line):   Remove unneeded static variable.
3614         (cb_line_change):  Set input_line directly, instead of src_line.
3615         (get_non_padding_token):  We no longer need to compensate for the
3616         "horrible things" the C++ front-end does with the current line number,
3617
3618         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
3619         callback even when popping the main file.
3620         * c-lex.c (fe_file_change):  Handle a NULL new_map.
3621         * fix-header.c (cb_file_change):  Likewise.
3622         * c-ppoutput.c (pp_file_change):  Likewise.
3623
3624         * cppinit.c (cpp_read_main_file):  Split into two functions:
3625         Distribute _cpp_stack_file call over the two functions.
3626         (cpp_find_main_file):  New function.
3627         Don't call _cpp_do_file_change even if working_directory flag set.
3628         (cpp_push_main_file):  New function.
3629         * cppfiles.c (_cpp_find_failed):  New helper function.
3630         (find_file):  Made non-static and renamed to _cpp_find_file.
3631         (_cpp_stack_file):  No longer needed.  But note the following.
3632         (stack_file):  Made non-static and renamed to _cpp_stack_file.
3633         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
3634         call with calls to cpp_find_main_file and cpp_push_main_file.
3635         (search_path_head):  If there is no current buffer, use main_file.
3636         * cpphash.h:  Update function declarations.
3637         * cpplib.h:  Update function declarations.
3638
3639         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
3640         (c_common_parse_file):  No longer need to call cpp_read_main_file
3641         when file_index > 0 (as in multi-file or server compiation).
3642         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
3643         as this now happens before cpp_push_main_file.
3644         (push_command_line_include):  When done with options, pass LC_LEAVE
3645         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
3646         (fe_file_change):  Handle NULL new_map, and simplify.
3647         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
3648         08-28 change, since we're never called with a NULL buffer.
3649         (_cpp_lex_direct):  Likewise.
3650         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
3651         Return false if buffer is NULL at end.
3652
3653         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
3654         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
3655         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
3656         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
3657         remove the unused return_at_eof parameter.
3658         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
3659         Update callers of cpp_push_buffer.
3660
3661 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
3662
3663         * target.h (init_libfuncs): New hook.
3664         * target-def.h: Default TARGET_INIT_BUILTINS and
3665         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
3666         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
3667         * builtins.c (default_init_builtins): Delete.
3668         * expr.h (default_init_builtins): Delete prototype.
3669         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
3670         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
3671         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
3672         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
3673         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
3674         and UMODDI3_LIBCALL,
3675
3676         * Makefile.in (optabs.o): Depends on target.h.
3677         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
3678         * optabs.c: Include target.h.
3679         (prepare_float_lib_cmp): No need for #ifdef around use of
3680         FLOAT_LIB_COMPARE_RETURNS_BOOL.
3681         (set_optab_libfunc): New function.
3682         (init_optabs): Delete use of all *_LIBCALL defines.
3683         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
3684         * optabs.h: Prototype set_optab_libfunc.
3685
3686         * config.gcc: Remove all references to pa/long_double.h,
3687         ia64/hpux_longdouble.h, and gofast.h.
3688         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
3689         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
3690
3691         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
3692         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
3693         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
3694         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
3695         * config/sparc/sparc.c, config/vax/vax.c:
3696         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
3697         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
3698
3699         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
3700         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
3701         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
3702         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
3703         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
3704         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
3705         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
3706         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
3707         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
3708
3709         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
3710         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
3711         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
3712         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
3713         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
3714
3715         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
3716         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
3717         SUN_INTEGER_MULTIPLY_64 to 0.
3718         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
3719         SUN_INTEGER_MULTIPLY_64 to 1.
3720         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
3721         SUN_INTEGER_MULTIPLY_64 to 0.
3722         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
3723         Define US_SOFTWARE_GOFAST.
3724         * config/vax/vax.h: Default TARGET_ELF to 0.
3725         * config/vax/elf.h: Redefine TARGET_ELF to 1.
3726
3727         * config/gofast.h: Don't define any macros here.  Provide one
3728         static function, gofast_maybe_init_libfuncs, which does what
3729         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
3730         is already defined.  Do not clear negation libfuncs.  Do
3731         not mess with HFmode, XFmode, or TFmode libfuncs.
3732
3733         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
3734
3735 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
3736
3737         PR C/12466
3738         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
3739
3740 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3741
3742         * config/mips/xm-iris5.h: Remove, unnecessary.
3743         * config.build (mips-sgi-irix5*): Remove.
3744         (mips-sgi-irix6*o32): Likewise.
3745         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
3746         (mips-sgi-irix5cross64): Likewise.
3747         (mips-sgi-irix5*): Likewise.
3748         * config.host (mips-sgi-irix5*): Remove.
3749         (mips-sgi-irix6*o32): Likewise.
3750
3751 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
3752
3753         * dbxout.c (dbxout_fptype_value): Delete.
3754         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
3755
3756 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
3757
3758         * output.h (compute_reloc_for_constant): Declare.
3759         * varasm.c (compute_reloc_for_constant): Extract from...
3760         (output_addressed_constants): ... here.  Adjust all callers.
3761
3762 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3763
3764         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
3765         * configure: Rebuilt.
3766
3767 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3768
3769         * fold-const.c (make_range): When handling unsigned, don't reverse
3770         range if high bound is zero.
3771
3772 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
3773
3774         * config/frv/frv.h (PREDICATE_CODES): Added
3775         condexec_si_media_operator, condexec_sf_add_operator and
3776         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
3777         and condexec_sf_unary_operator.
3778
3779 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3780
3781         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
3782         * configure: Rebuilt.
3783
3784 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3785
3786         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
3787         Allow override.
3788         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
3789
3790 2003-09-23  David S. Miller  <davem@redhat.com>
3791
3792         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
3793         before redefining.
3794         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
3795
3796 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
3797
3798         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
3799         C90 function declarations and definitions.
3800
3801 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
3802
3803         * config.gcc (cris-*-linux*): Revert mistaken commit.
3804
3805 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3806
3807         PR optimization/11753
3808         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
3809         the length in the non-V9 case.
3810
3811 2003-09-30  Richard Henderson  <rth@redhat.com>
3812
3813         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
3814         DWARF_ALT_FRAME_RETURN_COLUMN.
3815         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
3816         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
3817         (uw_frame_state_for): Return end-of-stack for null return address.
3818         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
3819
3820         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
3821         (alpha_expand_prologue): Store a zero for it.
3822         (alpha_expand_epilogue): Don't reload it.
3823         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
3824         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
3825         for the sigframe return address.
3826
3827 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
3828
3829         * sdbout.c: Convert to ISO C90 prototypes.
3830         * objc/objc-act.c: Likewise.
3831
3832 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
3833
3834         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
3835         * config/i386/winnt.c: Likewise.
3836         * config/i386/cygming.h: Likewise.
3837
3838 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
3839
3840         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
3841         (A ^ B) - B for any B.
3842
3843 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
3844
3845         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
3846         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
3847
3848 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
3849
3850         * arm/ieee754-sf.S: Tidy formatting.
3851
3852 2003-09-30  Nicolas Pitre  <nico@cam.org>
3853
3854         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
3855         and ARM_MOD_BODY.
3856         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
3857         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
3858         added better divisor alignment in the other case.
3859         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
3860         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
3861         macros above, add fast exits for divisor >= dividend, etc.
3862
3863 2003-09-30  Nicolas Pitre  <nico@cam.org>
3864
3865         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
3866         L_fixdfsi target.
3867         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
3868
3869 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
3870
3871         * config.gcc: Default use_fixproto to 'no'.
3872
3873 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
3874
3875         PR optimization/12345
3876         * config/mips/mips-protos.h (mips_restore_gp): Remove.
3877         (mips_gp_save_slot): Declare.
3878         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
3879         (mips_gp_save_slot): ...this new function.
3880         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
3881         and mips_output_move to generate the output template.
3882         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
3883         a gp load after a noreturn call.  Load the gp using a move rather
3884         than an exception_receiver pattern.
3885         (call_value_internal, call_value_multiple_internal): Likewise.
3886         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
3887
3888 2003-09-30  Carlo Wood  <carlo@alinoe.com>
3889
3890         PR debug/12319
3891         * cfglayout.c (insn_scope):  Use prologue_locator and
3892         epilogue_locator; return the outer function scope for
3893         pro- and epilogue insns.
3894
3895 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
3896
3897         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
3898         REAL_TYPEs based on the bitsize of the type's mode, not the
3899         mode directly.
3900
3901 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3902
3903         * dwarf2out.c (default_eh_frame_section): Split into ...
3904         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
3905         functions.
3906         * output.h (named_section_eh_frame_section): Declare.
3907         (collect2_eh_frame_section): Likewise.
3908
3909 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
3910
3911         * real.c (real_sqrt): Use get_canonical_qnan directly.
3912
3913         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
3914
3915         * varasm.c (assemble_real): Use real_to_target directly,
3916         calculate the number of significant elements of the result
3917         array and write them out in a loop, instead of using a giant
3918         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
3919         macro.
3920
3921 2003-09-29  Jan Hubicka  <jh@suse.cz>
3922
3923         PR c++/12175
3924         * varasm.c (notice_global_symbol): Discard external symbols.
3925
3926         PR optimization/12286
3927         * gcov-io.c (gcov_read_words): Fix memmove call.
3928         * profile.c (compute_branch_probabilities): Add extra sanity checks.
3929
3930 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3931
3932         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
3933         Solaris 7-9.
3934
3935         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
3936         wildcards which explicitly match micro versions.
3937         * fixinc/fixincl.x: Regenerate.
3938
3939 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3940
3941         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
3942         (A ^ B) - B, where B is any power of 2 minus 1.
3943
3944 2003-09-29  Jan Hubicka  <jh@suse.cz>
3945
3946         * libgcov.c (gcov_exit): Fix two pastos.
3947
3948 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3949
3950         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
3951         define_split immediately below to form define_insn_and_split.
3952
3953 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3954
3955         * config/h8300/h8300.md (*tstsi_variable_bit): New.
3956         (*tstsi_variable_bit_qi): Likewise.
3957
3958 2003-09-28  Phil Edwards  <phil@codesourcery.com>
3959
3960         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
3961         reference name.
3962
3963 2003-09-28  Richard Henderson  <rth@redhat.com>
3964
3965         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
3966         file and line separately.
3967
3968 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3969
3970         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
3971         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
3972         "*subdi3_borrow_cconly"): New insns.
3973         ("*addsi3_sub", "*subsi3_sub"): Remove.
3974         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
3975         ("*subsi3_cc"): Fix op_type attribute.
3976
3977 2003-09-28  Richard Henderson  <rth@redhat.com>
3978
3979         * stmt.c (expand_asm_operands): Take a location_t, instead of
3980         individual file and line.
3981         * c-typeck.c (c_expand_asm_operands): Likewise.
3982         * tree.h (expand_asm_operands): Update decl.
3983         * c-common.h (c_expand_asm_operands): Likewise.
3984         * c-semantics (genrtl_asm_stmt): Update call.
3985
3986 2003-09-28  Philip Blundell  <philb@gnu.org>
3987
3988         * config/arm/arm.c (legitimize_pic_address): Check
3989         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
3990         (arm_assemble_integer): Likewise.
3991
3992 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
3993
3994         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
3995         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
3996         config/c4x/c4x.h:
3997         Convert to ISO C90 function declarations and definitions.
3998
3999 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
4000
4001         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
4002         Convert to ISO C90 function declarations and definitions.
4003
4004 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
4005
4006         * config/mips/mips.c (mips_constant_info): Add reloc field.
4007         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
4008         underlying symbol, not to an unspec.
4009         (mips_delegitimize_address, print_operand): Clean up accordingly.
4010
4011 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
4012
4013         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
4014         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
4015         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
4016         (mips_classify_constant): Use it.
4017         (mips_splittable_symbol_p): Add an offset argument.
4018         (mips_classify_address): Adjust call accordingly.
4019         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
4020         than a relocation unspec.  Update call to mips_splittable_symbol_p.
4021         Generalize the code that copes with symbols + invalid offsets.
4022         (print_operand): Allow '%R' to be applied to small data addresses.
4023         (mips_reloc_string): Remove RELOC_GPREL16.
4024         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
4025         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
4026         relocation operators.
4027         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
4028         constants accordingly.
4029
4030 2003-09-27  Roger Sayle  <roger@eyesopen.com>
4031
4032         * toplev.c (flag_evaluation_order): New global variable.
4033         * flags.h (flag_evaluation_order): Prototype here.
4034         * expr.c (expand_operands): If we need to preserve observable
4035         evaluation order, protect exp1 from clobbering exp0's result.
4036
4037 2003-09-28  Andreas Jaeger  <aj@suse.de>
4038
4039         * c-decl.c (finish_function): Convert definition to ISO C90.
4040         * ifcvt.c (mark_loop_exit_edges): Likewise.
4041         * ra-rewrite.c (emit_colors): Likewise.
4042
4043 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
4044
4045         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
4046         * config.gcc (arm*-*-uclinux*): Disable fixproto.
4047         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
4048         powerpc-*-eabialtivec*): Disable fixproto.
4049
4050 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
4051
4052         PR optimization/12340
4053         * loop.h (struct induction): Document the new semantics
4054         of the 'same' field for bivs.
4055         * unroll.c (biv_total_increment): Don't count the same
4056         biv increment several times.
4057         (loop_iterations) [GENERAL_INDUCT]: Likewise.
4058
4059 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
4060
4061         * unroll.c (loop_interations)[GT]: Add missing break.
4062
4063 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
4064
4065         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
4066         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
4067         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
4068         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
4069         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
4070         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
4071         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
4072         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
4073         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
4074         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
4075         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
4076         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
4077         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
4078         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
4079         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
4080         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
4081         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
4082         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
4083         config/alpha/xm-vms.h, config/arc/arc-modes.def,
4084         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
4085         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
4086         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
4087         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
4088         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
4089         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
4090         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
4091         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
4092         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
4093         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
4094         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
4095         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
4096         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
4097         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
4098         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
4099         config/i960/i960-c.c, config/i960/i960-coff.h,
4100         config/i960/i960-modes.def, config/i960/i960-protos.h,
4101         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
4102         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
4103         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
4104         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
4105         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
4106         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
4107         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
4108         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
4109         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
4110         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
4111         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
4112         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
4113         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
4114         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
4115         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
4116         config/mcore/mcore-protos.h, config/mcore/mcore.c,
4117         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
4118         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
4119         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
4120         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
4121         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
4122         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
4123         config/mips/vr.h, config/mn10300/linux.h,
4124         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
4125         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
4126         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
4127         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
4128         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
4129         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
4130         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
4131         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
4132         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
4133         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
4134         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
4135         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
4136         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
4137         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
4138         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
4139         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
4140         fixinc/fixinc.svr4: GNU CC -> GCC.
4141
4142 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
4143
4144         * objc/objc-act.c (tm_p.h): Tweak order.
4145         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
4146
4147 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
4148
4149         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
4150         Include t-slibgcc-elf-ver and t-linux in tmake_file.
4151         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
4152         Disable fixproto.
4153         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
4154         Disable fixproto.
4155         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
4156         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
4157
4158         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
4159
4160 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
4161
4162         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
4163         * objc/objc-act.c (tm_p.h): Include.
4164
4165 2003-09-26  Per Bothner  <pbothner@apple.com>
4166
4167         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
4168         No longer any need to reverse by recursion.
4169
4170 2003-09-26  Roger Sayle  <roger@eyesopen.com>
4171             Richard Henderson  <rth@redhat.com>
4172
4173         PR optimization/11741
4174         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
4175         appropriate set to match that in hash_scan_insn.  Fall back to
4176         the original copy method, if we can't validate changing insn.
4177         (pre_delete): Only delete instructions that have a single_set,
4178         instead of aborting when we encounter an PARALLEL insn with more
4179         then one SET.
4180
4181 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
4182
4183         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
4184         ("builtin_longjmp"): Insn deleted.
4185         ("save_stack_nonlocal"): Save literal pool base pointer behind
4186         backchain and stack pointer.
4187         ("restore_stack_nonlocal"): Restore literal pool base pointer.
4188         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
4189         the stack save area for the nonlocal goto case.
4190
4191 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4192
4193         PR bootstrap/12358
4194         * pa.c (output_bvb): Fix typo.
4195
4196 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4197
4198         * expmed.c (store_bit_field): Don't search for an integer mode
4199         unless we need the result.
4200
4201 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4202
4203         * expr.c (emit_move_insn_1): If there is no move pattern for the
4204         original mode, try using a pattern for the corresponding integer mode.
4205
4206 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4207
4208         PR middle-end/9200
4209         * combine.c (if_then_else_cond): Tighten mode check.
4210
4211 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4212
4213         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
4214         'struct _cpp_strbuf'.
4215
4216         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
4217         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
4218         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
4219         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
4220         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
4221         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
4222         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
4223         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
4224         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
4225         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
4226         * config/i386/i386-aout.h, config/i386/i386-coff.h,
4227         config/i386/i386-interix.h, config/i386/i386-interix3.h,
4228         config/i386/i386-modes.def, config/i386/i386-protos.h,
4229         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
4230         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
4231         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
4232         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
4233         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
4234         "GNU compiler" -> GCC.
4235         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
4236         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
4237         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
4238         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
4239         config/i386/freebsd-aout.h, config/i386/freebsd.h,
4240         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
4241
4242 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
4243
4244         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
4245         "local" to the callgraph dump.  Output "after inlining" earlier.
4246         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
4247         callgraph dumps.  Correct misspellings.
4248         (cgraph_decide_inlining):  Output number of insns before inlining.
4249         Output the calling function into which a function is inlined.
4250         (cgraph_decide_small_functions): Format dump file like always_inline.
4251
4252 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
4253
4254         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
4255
4256 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
4257
4258         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
4259         FPR slots in the save area.
4260         (s390_emit_epilogue): Likewise.
4261
4262 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
4263
4264         * cgraph.h (cgraph_remove_edge): Declare.
4265         * cgraph.c (cgraph_remove_edge): Make extern.
4266         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
4267         instead of cgraph_remove_call.
4268
4269 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
4270
4271         * objc/objc-act.c (gen_declaration_1): Fix printf format.
4272
4273 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
4274
4275         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
4276         arm7tdmi core.
4277
4278 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4279
4280         * config/darwin-protos.h (objc_image_info_section):
4281         New prototype.
4282
4283 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4284
4285         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
4286
4287 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4288
4289         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
4290         tsc701 as a --with-cpu, --with-tune setting for sparc.
4291
4292 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4293
4294         * c-parse.in (objc_try_stmt): Do not specify a %type.
4295
4296 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4297
4298         * config.gcc: New 'widely ported system' clause for rtems.
4299         Set thread file there, not in individual clauses.
4300
4301 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
4302
4303         PR target/6222
4304         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
4305         passed on the stack.
4306
4307 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4308
4309         * config.gcc (widely ported systems section): Mostly alphabetize
4310         by system.  Comment the case where we can't.
4311         * config.gcc (widely ported systems section): Reindent and clean up.
4312
4313         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
4314         Actually allow ep9312 as an arm --with-arch setting.
4315
4316         * config.gcc (*-hpux11): Disable fixproto.
4317
4318 2003-09-24  Phil Edwards  <phil@codesourcery.com>
4319
4320         PR pch/12112
4321         * gcc/cppfiles.c (pch_open_file): Return based on combined
4322         result of all files.
4323         (validate_pch): Return validate flag for current file.
4324
4325 2003-09-24  Roger Sayle  <roger@eyesopen.com>
4326
4327         PR bootstrap/12358
4328         * fold-const.c (tree_swap_operands_p): Only reorder operands when
4329         one of the operands is constant.
4330
4331 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
4332
4333         MERGE OF objc-improvements-branch into MAINLINE:
4334         * Makefile.in (C_OBJS): Add in stub-objc.o.
4335         (c-parse.y): Change sed demarcations to begin with '@@'.
4336         (stub-objc.o): New rule.
4337         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
4338         flag_replace_objc_classes): New flags.
4339         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
4340         RID_AT_SYNCHRONIZED): New keywords.
4341         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
4342         flag_replace_objc_classes): New flags.
4343         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
4344         objc_comptypes, objc_message_selector, lookup_objc_ivar,
4345         get_current_scope, objc_mark_locals_volatile): New prototypes,
4346         some moved from c-tree.h.
4347         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
4348         (finish_decl): Adjust where objc_check_decl() gets called.
4349         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
4350         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
4351         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
4352         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
4353         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
4354         '@@end_ifc', respectively.
4355         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
4356         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
4357         objc_finally_block): New rules.
4358         (component_decl_list2): Clean up semantic action for @defs construct.
4359         (component_decl, c99_block_start): Remove call to add_objc_decls().
4360         (poplevel): Add call to objc_clear_super_receiver().
4361         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
4362         constructs.
4363         (classdef, methodprotolist): Clean up/simplify.
4364         (methodprotolist2): Eliminate.
4365         (methodproto): Call add_method() instead of add_class_method() and
4366         add_instance_method().
4367         (receiver): Add TYPENAME production.
4368         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
4369         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
4370         AT_SYNCHRONIZED.
4371         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
4372         objc_comptypes, objc_message_selector)
4373         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
4374         struct and pointer types.
4375         (build_c_cast): Do not discard ObjC protocol qualifiers.
4376         (convert_for_assignment): Cache result of comp_target_types() instead
4377         of calling it more than once.
4378         * c.opt (fnext-runtime): Update description string.
4379         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
4380         New ObjC/ObjC++-specific flags.
4381         * function.h (GCC_FUNCTION_H): Header guard.
4382         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
4383         * stub-objc.c: New file, to be used to satisfy references to ObjC
4384         functions by the C and C++ front-ends.
4385         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
4386         * config/darwin.h (FUNCTION): Add in_objc_image_info.
4387         (SECTION_FUNCTION): Add objc_image_info_section.
4388         * doc/invoke.texi: Link to GCC web site for Objective-C information.
4389         (-fconstant-string-class): Update documentation.
4390         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
4391         -fzero-link): New documentation.
4392         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
4393         with '@@'.
4394         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
4395         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
4396         throughout; provide casts for return values from memory allocation
4397         functions (xmalloc, alloca, ggc_alloc, etc.).
4398         (OBJC_VOID_AT_END): New macro.
4399         (rtl.h): Do not #include any more.
4400         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
4401         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
4402         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
4403         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
4404         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
4405         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
4406         val_stack_pop): New.
4407         (objc_check_decl): Fix precondition for error message, along with
4408         the message itself.
4409         (lookup_and_install_protocols): Remove nonexistent protocols from
4410         protocol list instead of returning error_mark_node.
4411         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
4412         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
4413         (synth_module_prologue): General clean-up; construct NeXT-specific
4414         runtime API prototypes if needed.
4415         (build_string_class_template): Remove.
4416         (check_string_class_template, string_layout_checked): New.
4417         (build_objc_string_object): Generalize to work with
4418         -fconstant-string-class.
4419         (build_objc_symtab_template): Fix layout for the NeXT runtime.
4420         (build_metadata_decl): New.
4421         (forward_declare_categories): Call build_metadata_decl() instead of
4422         create_builtin_decl() et al.
4423         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
4424         void_list_node_1.
4425         (build_selector_reference_decl, build_class_reference_decl,
4426         build_objc_string_decl): Do not set TREE_READONLY.
4427         (get_proto_encoding): Do not call hack_method_prototype().
4428         (get_class_reference): Add failure mode for invalid class names;
4429         support -fzero-link; defer if in an ObjC++ template declaration.
4430         (objc_declare_alias, objc_declare_class): Fix up duplicate name
4431         lookup; check for global scope if in ObjC++.
4432         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
4433         RECORD_TYPE, IDENTIFIER_NODE, etc.)
4434         (objc_is_id): Removed.
4435         (objc_is_object_ptr): New function.
4436         (get_class_ivars_from_name): New function, used for @defs construct.
4437         (get_class_ivars): Add option to return raw ivars; create a
4438         ClASS_OWN_IVARS list for each class as needed.
4439         (objc_enter_block, objc_exit_block, objc_declare_variable,
4440         objc_build_throw_stmt, val_stack_push, val_stack_pop,
4441         objc_build_try_enter_fragment, objc_build_extract_expr,
4442         objc_build_try_exit_fragment, objc_build_extract_fragment,
4443         objc_build_try_prologue, objc_build_try_epilogue,
4444         objc_build_catch_stmt, objc_build_catch_epilogue,
4445         objc_build_finally_prologue, objc_build_finally_epilogue,
4446         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
4447         objc_build_synchronized_epilogue, build_objc_exception_stuff):
4448         New functions.
4449         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
4450         the future).
4451         (build_private_template): Fix up calls to get_class_ivars().
4452         (offset_is_register, forwarding_offset): Remove.
4453         (objc_method_parm_type, objc_encoded_type_size): New functions.
4454         (encode_method_prototype): Simplify to no longer depend on
4455         back-end information.
4456         (build_tmp_function_decl_xxx, build_tmp_function_decl,
4457         hack_method_prototype): Removed.
4458         (generate_protocol_references): Remove calls to
4459         build_tmp_function_decl().
4460         (generate_protocols): Adjust calls to encode_method_prototype().
4461         (build_class_template): Generate sel_id' and 'gc_object_type' fields
4462         for the NeXT runtime.
4463         (synth_forward_declarations): Call build_metadata_decl().
4464         (check_ivars): Check that the number of ivars matches also.
4465         (build_super_template): Modify super_type directly; disable debugging
4466         output while generating decl.
4467         (build_ivar_list_initializer): Skip list elements that are not
4468         FIELD_DECLs.
4469         (ivar_list_length): New function.
4470         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
4471         and encode_method_prototype() instead of encode_method_def().
4472         (build_shared_structure_initializer): Generate 'sel_id' field for
4473         the NeXT runtime.
4474         (generate_category): Do not set TREE_USED.
4475         (build_keyword_selector): Ditto; transform into a function argument
4476         chain.
4477         (get_arg_type_list): If there are no user-specified arguments, use
4478         '...'; use OBJC_VOID_AT_END.
4479         (check_duplicates): Add a parameter indicating whether methods or
4480         selectors are being checked.
4481         (receiver_is_class_object): Add parameters indicating whether
4482         receiver is 'self' or 'super'; robustify.
4483         (build_message_expr): Defer call to finish_message_expr() if
4484         inside an ObjC++ template.
4485         (lookup_method_in_hash_lists): New function.
4486         (finish_message_expr): Complete rewrite/fix.
4487         (build_objc_method_call): Ditto; factor out commonalities between
4488         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
4489         messenger variants on the NeXT.
4490         (lookup_instance_method_static, lookup_class_method_static):
4491         Fold into a single lookup_method_static() function with an
4492         additional parameter.
4493         (add_class_method, add_instance_method): Fold into a single
4494         add_method() function with an additional parameter.
4495         (add_category): Make duplicate categories a hard error in ObjC++.
4496         (add_instance_variable): Properly handle unnamed ivars, arrays of
4497         zero or no size and bitfields.  In ObjC++, check for nontrivial
4498         C++ class instances.
4499         (is_public): Allow C functions to access non-@public ivars, with
4500         a warning.
4501         (start_class): Move common initializations to
4502         synth_module_prologue(); check for global scope if in ObjC++.
4503         (continue_class): Fix calls to finish_struct().
4504         (objc_declare_protocols, start_protocol): Check for global scope
4505         if in ObjC++.
4506         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
4507         (encode_aggregate_within): Rewrite to properly distinguish
4508         struct tags from typedefs in both ObjC and ObjC++.
4509         (encode_bitfield, encode_complete_bitfield): Remove.
4510         (encode_next_bitfield, encode_gnu_bitfield): New functions.
4511         (encode_field_decl): Call encode_next_bitfield() or
4512         encode_gnu_bitfield() as needed.
4513         (synth_self_and_ucmd_args): New function.
4514         (start_method_def): Use it.
4515         (objc_types_are_equivalent): New function.
4516         (comp_proto_with_proto): Use it instead of comptypes(), since
4517         we need symmetry.
4518         (really_start_method): Use lookup_method_static() instead of
4519         lookup_class_method_static() and lookup_instance_method_static();
4520         Emit 'extern "C"' if in ObjC++ mode.
4521         (add_objc_decls): Removed.
4522         (UOBJC_SUPER_scope): New variable.
4523         (get_super_receiver): Move construction of 'super' from
4524         add_objc_decls(); remove dependency on struct objc_class.
4525         (encode_method_def): Removed; encode_method_prototype() is
4526         used instead.
4527         (objc_clear_super_receiver): New function.
4528         (objc_expand_function_end): Do not do anything for ordinary
4529         C functions.
4530         (finish_method_def): Mark ObjC methods as un-inlinable.
4531         (gen_declaration_1): Emit widths of bitfields.
4532         (finish_objc): Call generate_objc_image_info() if needed;
4533         use check_duplicates() when checking for selector duplicates.
4534         (generate_objc_image_info): New function.
4535         * objc/objc-act.h (add_instance_method, add_class_method,
4536         get_class_ivars): Remove prototypes.
4537         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
4538         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
4539         objc_build_catch_stmt, objc_build_catch_epilogue,
4540         objc_build_finally_prologue, objc_build_finally_epilogue,
4541         add_method, get_class_ivars_from_name): New prototypes.
4542         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
4543         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
4544         TRANSLATION_UNIT_DECLs.
4545         (OBJC_TYPE_NAME): New.
4546         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
4547         got included.
4548         (IS_SUPER): Robustify.
4549         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
4550         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
4551         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
4552         objc_exception_match_decl, objc_exception_throw_decl,
4553         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
4554         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
4555         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
4556         objc_catch_type): New ObjC/ObjC++ roots.
4557         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
4558         ObjC/ObjC++ tree node codes.
4559
4560 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
4561
4562         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
4563         code path that calls a handler.
4564
4565 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4566
4567         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
4568         Disable fixproto.
4569
4570         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
4571         the section giving $with_cpu defaults by target.
4572
4573         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
4574         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
4575         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
4576         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
4577         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
4578         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
4579
4580 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
4581
4582         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
4583         together.  Protect load string instruction with TARGET_STRING.
4584         (movti_string): Collapse case 1 and 2 together.
4585
4586 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
4587
4588         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
4589
4590 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
4591
4592         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
4593         do...while(0)
4594
4595 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4596
4597         * config.gcc: Move use_fixproto=no from generic vxworks clause to
4598         specific one.
4599
4600         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
4601         (accidentally missed in last pass).
4602
4603 2003-09-23  Andrew Pinski  <apinski@apple.com>
4604
4605         PR bootstrap/12383
4606         * configure: Regenerate.
4607
4608 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4609
4610         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
4611         missed in last pass).
4612
4613 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
4614
4615         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
4616         constant.
4617
4618 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4619
4620         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
4621
4622         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
4623         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
4624         powerpcle-*-eabi*): Disable fixproto.
4625
4626         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
4627         specific FreeBSD clauses.
4628         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
4629         specific NetBSD clauses.
4630         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
4631         to specific OpenBSD clauses.
4632
4633 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4634
4635         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
4636         without adding a frame note.
4637         * pa.md (allocate_stack): Save pic register in new frame marker when
4638         generating pic code.
4639
4640 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
4641
4642         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
4643         cgraph_expand_functions.
4644
4645 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4646
4647         * Makefile.in (gnucompare*): Merge into ...
4648         (slowcompare*): ... here.
4649         (fastcompare*): New targets.
4650         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
4651         other "fast" cmp programs.
4652         * configure: Regenerate.
4653
4654 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4655
4656         * targhooks.c: Include output.h.
4657         * Makefile.in (targhooks.o): Add output.h to dependency list.
4658
4659 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4660
4661         * config.host: Removed superfluous newline.
4662
4663 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4664
4665         * config.gcc: Use ${target}, not $machine.
4666         * configure.in: Don't set $machine.
4667         * configure: Regenerate.
4668
4669 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
4670
4671         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
4672
4673         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
4674         pass zero-size arrays by reference.
4675         (rs6000_va_arg): Likewise.
4676
4677 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4678
4679         * config.gcc: Set use_fixproto=no in each specific *-gnu*
4680         configuration, rather than the generic one.
4681
4682 2003-09-23  Richard Henderson  <rth@redhat.com>
4683
4684         * tree-inline.c (remap_save_expr): Map new save_expr to identity
4685         rather than to error_mark_node.
4686
4687 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4688
4689         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
4690         Update description.
4691         * configure: Regenerate.
4692         * config.in: Likewise.
4693         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
4694         HAVE_GAS_SHF_MERGE value.
4695         * varasm.c (mergeable_string_section): Likewise.
4696         (mergeable_constant_section): Likewise.
4697
4698 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4699
4700         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
4701         value.
4702
4703 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4704
4705         * target.h (struct gcc_target): New member external_libcall.
4706         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
4707         (TARGET_ASM_OUT): Use it.
4708         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
4709         * targhooks.c: Convert to ISO C 90.
4710         (default_external_libcall): New function.
4711         * targhooks.h (default_external_libcall): Declare.
4712         * varasm.c (assemble_external_libcall): Use
4713         targetm.asm_out.external_libcall instead of
4714         ASM_OUTPUT_EXTERNAL_LIBCALL.
4715         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
4716         (mips_output_external_libcall): Declare.
4717         * config/mips/mips.c (mips_output_external_libcall): Change
4718         definition guard.
4719         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
4720         Only operate for O32 ABI.
4721         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
4722         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
4723         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
4724         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
4725
4726 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
4727
4728         * config.gcc: Do per-target disabling of fixproto here in clauses,
4729         not in t- fragments.
4730         * configure.in: Adjust to set STMP_FIXPROTO correctly.
4731         * configure: Regenerate.
4732         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
4733         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
4734         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
4735         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
4736         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
4737         t-interix, t-linux-aout:  Delete files consisting only of
4738         setting of STMP_FIXPROTO.
4739
4740         * config.host: Allow unknown hosts (not targets).  Allow
4741         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
4742         empty clauses.  Remove useless obsolete-configuration clause.
4743         Prune unsupported configuration list.  Collapse identical
4744         clauses for closely related systems.  Rewrite comment for
4745         unsupported hosts list.  Reorganize a little.
4746
4747 2003-09-22  Richard Henderson  <rth@redhat.com>
4748
4749         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
4750         not precision.
4751
4752 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
4753             Hartmut Penner  <hpenner@de.ibm.com>
4754             Segher Boessenkool  <boessen@de.ibm.com>
4755
4756         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
4757         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
4758         (rs6000_split_altivec_in_gprs): Rename to ...
4759         (rs6000_split_multireg_move): Add support for update addressing.
4760         * config/rs6000/rs6000-protos.h: Same.
4761         * config/rs6000/altivec.md: Same.
4762         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
4763         multiple GPRs.
4764         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
4765         (movti_power): Use new splitter for multiple GPRs.
4766         (movti_string): Same.
4767         (movti_ppc64): Same.
4768
4769 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
4770
4771         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
4772         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
4773
4774 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
4775
4776         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
4777         (andsi3): Set attr cc to set_zn when using shifts or adds.
4778
4779 2003-09-22  Bernardo Innocenti <bernie@develer.com>
4780
4781         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
4782
4783 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
4784
4785         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
4786         Resurrect -mrtd option.
4787
4788 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
4789
4790         PR target/12281
4791         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
4792         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
4793
4794 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
4795
4796         PR target/9786
4797         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
4798         after potential deletion of trapping insn. Avoids later ICE
4799         from call to fixup_abnormal_edges.
4800         (convert_regs_2): Stack the current block successors before
4801         processing this block, that is, before the potential deletion of
4802         dead edges by convert_regs_1, because these edges have been used
4803         to initialize the predecessors count.
4804
4805 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
4806
4807         * real.c: Fix several nits in the head comment.
4808
4809 2003-09-21  Richard Henderson  <rth@redhat.com>
4810
4811         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
4812         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
4813         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
4814         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
4815         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
4816
4817 2003-09-21  Richard Henderson  <rth@redhat.com>
4818
4819         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
4820         (TREE_FILENAME, TREE_LINENO): Likewise.
4821         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
4822         (TREE_LOCUS_SET_P): New.
4823         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
4824         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
4825         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
4826         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
4827         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
4828
4829 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
4830
4831         * config/vax/vax-protos.h: Convert to ISO C90.
4832         * config/vax/vax.c: Convert to ISO C90.
4833
4834 2003-09-21  Graham Stott  <grahams@btinternet.com>
4835
4836        PR target/12353
4837        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
4838
4839 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
4840
4841         PR target/12301
4842         * reorg.c (stop_search_p): Return 1 for insns that can
4843         throw internally.
4844
4845 2003-09-20  Richard Henderson  <rth@redhat.com>
4846
4847         * c-format.c (gcc_diag_char_table): Add %J.
4848         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
4849         (check_format_types): Fix wanted_type name lookup.
4850         (init_dynamic_diag_info): Setup %J.
4851         * diagnostic.c (text_specifies_location): Implement %J.
4852         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
4853         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
4854         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
4855         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
4856         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
4857
4858         * tree-inline.c: Include intl.h
4859         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
4860         * Makefile.in (tree-inline.o): Update.
4861
4862 2003-09-20  Roger Sayle  <roger@eyesopen.com>
4863
4864         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
4865         transformation of a>=0 into (unsigned)a<0x80000000.
4866
4867 2003-09-20  Andrew Pinski <apinski@apple.com>
4868
4869         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
4870
4871 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
4872
4873         * Makefile.in: Don't set (unused) DLLTOOL.
4874
4875         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
4876         Remove obsolete references to ENQUIRE.
4877
4878 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4879
4880         * configure.in: Remove --with-elf, which doesn't work.
4881         * configure: Regenerate.
4882         * config.gcc: Remove references to $elf, which does nothing.
4883
4884         * config/i386/xm-vsta.h: Remove xm-file believed useless.
4885         * config.build (i386-vsta): Remove reference to it.
4886         * config.host (i386-vsta): Remove reference to it.
4887
4888 2003-09-19  Phil Edwards  <phil@codesourcery.com>
4889
4890         * doc/install.texi:  Document the multiple testsuite options.
4891
4892 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
4893
4894         * doc/install.texi (Specific): Add the specific versions of GCC
4895         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
4896         version 3 and older was discontinued.
4897
4898 2003-09-19      Joel Sherrill <joel@oarcorp.com>
4899
4900         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
4901         68881.
4902
4903 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
4904
4905         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
4906         for -m68030, -m68020-60 and -m68020-40.
4907         * config/m68k/m68k.h (TARGET_68030): New target flag.
4908         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
4909         TARGET_REGPARM): Remove.
4910         * config/m68k/m68k.h: Regroup and renumber target flags.
4911         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
4912         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
4913         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
4914         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
4915         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
4916
4917 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4918
4919         * config/m68k/t-rtems (m68k-*-rtems*): New.
4920         * config.gcc: Use config/m68k/t-rtems.
4921
4922 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4923
4924         * config/mips/t-rtems: New.
4925         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
4926
4927 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
4928
4929         * cgraph.c: Fix typo in debugging output.
4930
4931 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
4932             Eric Botcazou <ebotcazou@libertysurf.fr>
4933
4934         PR target/12166
4935         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
4936
4937 2003-09-18  Mike Stump  <mrs@apple.com>
4938
4939         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
4940         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
4941         cb_ident, cb_def_pragma):  Use fileline typedef.
4942         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
4943
4944 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
4945
4946         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
4947         total parm size if a parm has incomplete type.
4948         (gen_fastcall_suffix): Likewise.
4949
4950 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4951
4952         * except.c (output_function_exception_table): Adjust last change
4953         to handle TYPE of INTEGER_CST.
4954
4955 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
4956
4957         PR target/11184
4958         * builtins.c (expand_builtin_apply): Use convert_memory_address
4959         before returning the value.
4960
4961         * alias.c (find_base_value): Simplify use of
4962         convert_memory_address.
4963         (find_base_term): Likewise.
4964         * builtins.c (expand_builtin_stejmp_setup): Likewise.
4965         (expand_builtin_longjmp): Likewise.
4966         (expand_builtin_prefetch): Likewise.
4967         (get_memory_rtx): Likewise.
4968         (expand_builtin_return): Likewise.
4969         (expand_builtin_memcpy): Likewise.
4970         (expand_builtin_strncpy): Likewise.
4971         (expand_builtin_memset): Likewise.
4972         (expand_builtin_va_arg): Likewise.
4973         (expand_builtin_va_copy): Likewise.
4974         (expand_builtin_alloca): Likewise.
4975         * calls.c (expand_call): Likewise.
4976         * except.c (expand_builtin_extract_return_addr): Likewise.
4977         (expand_builtin_eh_return): Likewise.
4978         * explow.c (convert_memory_address): Define even when
4979         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
4980         is already in the right mode.
4981         * explow.c (memory_address): Simplify use of convert_memory_address.
4982         (probe_stack_range): Likewise.
4983         * expmed.c (make_tree): Likewise.
4984         * expr.c (emit_block_move_in_libcall): Likewise.
4985         (expand_assignment): Likewise.
4986         (expand_expr): Likewise.
4987         * function.c (assign_parms): Likewise.
4988         (expand_function_end): Likewise.
4989         * integrate.c (copy_rtx_and_substitute): Likewise.
4990         * stmt.c (expand_computed_goto): Likewise.
4991
4992 2003-09-18  Roger Sayle  <roger@eyesopen.com>
4993
4994         * simplify-rtx.c (simplify_unary_operation): Only transform
4995         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
4996         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
4997
4998 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4999
5000         PR target/11674
5001         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
5002
5003 2003-09-18  Roger Sayle  <roger@eyesopen.com>
5004
5005         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
5006         PARITY_EXPR): Delete unused tree codes.
5007         * c-common.c (c_common_truthvalue_conversion): Delete references
5008         to FFS_EXPR and POPCOUNT_EXPR.
5009         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
5010         (pp_c_expression): Likewise.
5011         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
5012         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
5013         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
5014         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
5015         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
5016         and long long variants.
5017
5018 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5019
5020         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
5021         * c-pretty-print.c: Fix formatting.
5022         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
5023         (pp_c_type_specifier): Tidy.
5024         (pp_c_compound_literal): New function.
5025         (pp_c_initializer): Simplify..
5026         (pp_c_initializer_list): Likewise.
5027         (pp_c_brace_enclosed_initializer_list): New function.
5028         (pp_c_postfix_expression): Simplify.
5029
5030 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
5031
5032         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
5033         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
5034
5035 2003-09-17  Richard Henderson  <rth@redhat.com>
5036
5037         * tree-optimize.c (tree_rest_of_compilation): Save and restore
5038         input_location.
5039
5040 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
5041
5042         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
5043
5044 2003-09-17  Richard Henderson  <rth@redhat.com>
5045
5046         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
5047
5048 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5049
5050         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
5051         * configure: Regenerate.
5052
5053 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
5054
5055         PR debug/12066
5056         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
5057         * langhooks-def.h (lhd_return_null_tree_v): New function.
5058         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
5059         (LANG_HOOKS_DECLS): Add it to the intializer.
5060         * langhooks.c (lhd_return_null_tree_v): New function.
5061         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
5062
5063 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
5064
5065         * configure.in: Quote gcc_config_arguments for configargs.h.
5066         * configure: Regenerated.
5067         * gccbug.in: Don't shell-expand gcc_config_arguments.
5068
5069 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5070
5071         PR c++/11357
5072         * c-pretty-print.c (pp_c_floating_constant): Append
5073         type-annotation to floating constants.
5074
5075 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5076
5077         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
5078         Define _ABIO32.
5079         Use it for _MIPS_SIM.
5080         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
5081
5082         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
5083         Moved ...
5084         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
5085         updating comment.
5086         Fixes PR target/10190.
5087
5088 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
5089
5090         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
5091         to shared libraries.
5092
5093 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
5094
5095         PR optimization/11646
5096         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
5097         EDGE_ABNORMAL flag for EH edges.
5098         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
5099         if dead edges were purged.
5100
5101 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
5102
5103         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
5104         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
5105         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
5106         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
5107
5108 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
5109
5110         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
5111         returned by tablejump_p.
5112
5113 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
5114
5115         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
5116
5117 2003-09-16  Roger Sayle  <roger@eyesopen.com>
5118
5119         PR bootstrap/12269
5120         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
5121         argument to be VOIDmode, taking the mode of the comparison from
5122         the operands.  Only call simplify_relational_operation if we
5123         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
5124         if comparison has a floating point result.  Ensure that the
5125         result is always of the specified mode.
5126         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
5127         (simplify_unary_operation): Ensure the correct mode and cmp_mode
5128         are always passed to simplify_gen_relational.  Simplify NOT of
5129         comparison operator in any mode, not just BImode.
5130         (simplify_ternary_operation): Correct tests on the return value
5131         of simplify_relational_operation to use const_true_rtx, not
5132         const1_rtx.  Abort if it ever returns a non-constant result.
5133
5134         * cfgloopanal.c (count_strange_loop_iterations): Use the function
5135         simplify_relational_operation, not simplify_gen_relational, if
5136         we're only interested in constant comparisons and will ignore
5137         non-constant results.
5138
5139 2003-09-16  Roger Sayle  <roger@eyesopen.com>
5140
5141         * fold-const.c (tree_swap_operands_p): New function to determine
5142         the prefered ordering of operands.
5143         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
5144         operands to commutative, comparison or ternary operators.  Replace
5145         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
5146         transformation of A ? B : C into !A ? C : B.
5147
5148 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
5149
5150         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5151         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5152         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5153         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5154         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5155         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5156         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5157         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5158
5159 2003-09-16  Jason Merrill  <jason@redhat.com>
5160             Jakub Jelinek  <jakub@redhat.com>
5161
5162         * c-common.c (handle_warn_unused_result_attribute): New function.
5163         (c_common_attribute_table): Add warn_unused_result.
5164         (c_expand_expr): Issue warning when result of inlined function
5165         with warn_unused_result attribute is ignored.
5166         * calls.c (expand_call): Issue warning when result of function
5167         with warn_unused_result attribute is ignored.
5168         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
5169         * expr.c (expr_wfl_stack): Define.
5170         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
5171         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
5172         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
5173         bit if inlined function has warn_unused_result attribute.
5174         * input.h (expr_wfl_stack): Declare.
5175         * doc/extend.texi: Document warn_unused_result attribute.
5176
5177 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
5178
5179         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
5180
5181 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
5182
5183         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
5184         ATTRIBUTE_UNUSED.
5185         (call_insn_operand): For PIC, don't allow a direct call to a
5186         function in a different section than the current one.
5187
5188 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5189
5190         * doc/invoke.texi (Warning Options): Add missing hyphen before
5191         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
5192         Move "-Wold-style-definition" to the C-only section.
5193         Fix the ordering of the warning options.
5194
5195 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5196             Jeff Law  <law@redhat.com>
5197
5198         * gcse.c (remove_reachable_equiv_notes): New.
5199         replace_store_insn): Call it.  Update antic list.
5200         (store_killed_in_insn): Take REG_EQUAL notes into account.
5201         (build_store_vectors, delete_store): Add parameter to
5202         replace_store_insn call.
5203
5204 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
5205
5206         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
5207         SYMBOL_REF_LOCAL_P.
5208
5209 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
5210
5211         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
5212         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
5213         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
5214         Likewise.
5215         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
5216         Likewise.
5217         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
5218         * config/sparc/sparc.c (function_arg_padding): Likewise.
5219
5220 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
5221
5222         * haifa-sched.c (schedule_block): Use ready_remove_first instead
5223         of choose_ready for non-dfa insn scheduling.
5224
5225 2003-09-15  Andreas Jaeger  <aj@suse.de>
5226             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5227
5228         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
5229         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
5230         * c-parse.in: Warn about old-style parameter definition.
5231         * c-common.c: Define warn_old_style_defintion.
5232         * c-common.h: Declare it.
5233         * c.opt: Add Wold-style-defintion.
5234
5235 2003-09-15  Andreas Jaeger  <aj@suse.de>
5236
5237         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
5238         * config/rs6000/rs6000.c: Likewise.
5239
5240 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5241
5242         PR optimization/10914
5243         * expr.h (get_condition, canonicalize_condition): Declaration changed.
5244         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
5245         and canonicalize_condition calls.
5246         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
5247         delete_null_pointer_checks): Ditto.
5248         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
5249         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
5250         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
5251         (canonicalize_condition, get_condition): Allow to return comparisons
5252         of cc mode registers.
5253         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
5254         cc mode registers comparison in condition.
5255
5256 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
5257
5258         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
5259         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
5260         function.
5261         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
5262
5263 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
5264
5265         * combine.c (simplify_comparison): Convert
5266         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
5267         (eq (and (lshiftrt X Y) 1) 0).
5268
5269 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
5270
5271         * alias.c: Follow spelling conventions.
5272         * cpphash.h: Likewise.
5273         * fold-const.c: Likewise.
5274
5275 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
5276
5277         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
5278         * c-lex.c (cb_line_change): Skip line changing whenever
5279         c-ppoutput.c would.
5280
5281 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
5282
5283         * ra.c: Convert to ISO C90 prototypes.
5284         * ra-build.c: Likewise.
5285         * ra-colorize.c: Likewise.
5286         * ra-debug.c: Likewise.
5287         * ra-rewrite.c: Likewise.
5288
5289 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
5290
5291         * Makefile.in (%.dvi): Remove excess $(docdir).
5292
5293 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
5294
5295         * function.c (STACK_BYTES): Move definition to head of file.
5296         (assign_parms): Don't pass current_function_pretend_args_size
5297         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
5298         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
5299         excess before laying out the argument.
5300
5301 2003-09-14  Andreas Jaeger  <aj@suse.de>
5302
5303         * objc/objc-act.c: Convert to ISO C90 prototypes.
5304         * objc/objc-act.h: Likewise.
5305
5306 2003-09-14  Olaf Hering  <olh@suse.de>
5307
5308         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
5309
5310 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
5311
5312         PR target/12021
5313         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
5314         as they already are done in config/m68k/m68k.h.
5315         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
5316
5317         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
5318         (machopic_output_stub): Only generate pic base symbols when using pic
5319         and generate them in the form L00000000$spb.
5320
5321 2003-09-13  Richard Henderson  <rth@redhat.com>
5322
5323         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
5324         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
5325         * cgraph.h: Update.
5326
5327 2003-09-12  Dale Johannesen  <dalej@apple.com>
5328
5329         * config/rs6000/rs6000.c: Fix typos in previous.
5330
5331 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
5332
5333         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
5334         when allocating pp->buffer.
5335
5336 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
5337
5338         * config/darwin.c (machopic_select_rtx_section): Use
5339         const_data_section for things that might require relocation.
5340
5341 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
5342
5343         PR bootstrap/12264
5344         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
5345
5346 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
5347
5348         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
5349         * config/xtensa/linux.h (ASM_SPEC): Likewise.
5350         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
5351         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
5352         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
5353         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
5354         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
5355         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
5356         and redefine corresponding TARGET_* macros with constants from the
5357         xtensa-config.h header.
5358         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
5359         for the options listed above.
5360
5361 2003-09-12  Dale Johannesen  <dalej@apple.com>
5362
5363         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
5364         * config/rs6000/rs6000-c.c:  Ditto.
5365         * config/rs6000/rs6000.c:  Ditto.
5366         * config/rs6000/ sysv4.h:  Ditto.
5367
5368 2003-09-12  Chris Lattner <sabre@nondot.org>
5369
5370         * loop.c: Move comments describing BIV's and GIV's to top of file
5371
5372 2003-09-12  Roger Sayle  <roger@eyesopen.com>
5373
5374         PR optimization/8967
5375         * alias.c (write_dependence_p): Modify to take an additional constp
5376         argument that controls whether the UNCHANGING_RTX_P flags are used.
5377         (anti_dependence, output_dependence): Adjust write_dependence_p
5378         callers to pass this additional argument, to return the same result.
5379         (unchanging_anti_dependence): New variant of anti_dependence that
5380         ignores the UNCHANGING_RTX_P property on memory references.
5381         * rtl.h (unchaning_anti_dependence): Prototype here.
5382         * flow.c (init_propagate_block): Place fake constant mem writes on
5383         the mem_set_list so that dead writes to const variables are deleted.
5384         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
5385         (mark_used_regs): Likewise.
5386
5387 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
5388
5389         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
5390         (mcore_secondary_reload_class): Declare.
5391         (mcore_output_inline_const_forced): Remove.
5392         * config/mcore/mcore.md (movsi): Remove the code that forced
5393         non-inlineable constants into a register if the target was r15
5394         or the stack pointer.  Remove constant restrictions from the main
5395         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
5396         of an r <- P alternative.  Remove fallback define_insn for reload.
5397         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
5398         define_insn.  Use mcore_output_move in the remaining define_insn.
5399         Adjust condition and constraints in the way as for movsi.
5400         (movdi): Always split unacceptable constants into two.  Use
5401         simplify_gen_subreg instead of operand_subword{,_force}.
5402         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
5403         (mcore_output_move): Support HImode and QImode moves as well.
5404         (mcore_m15_operand_p): New function.
5405         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
5406         (mcore_secondary_reload_class): New function.
5407         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
5408         terms of mcore_secondary_reload_class.
5409
5410 2003-09-11  Mike Stump  <mrs@apple.com>
5411
5412         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
5413
5414 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5415
5416         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
5417         MODE exactly, then only convert logN(N) -> 1.0 if
5418         flag_unsafe_math_optimizations is set.
5419
5420         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
5421         init_builtin_dconsts): Delete.
5422         * emit-rtl.c (dconstpi, dconste): Define.
5423         (init_emit_once): Initialize dconstpi & dconste.
5424         * real.h (dconstpi, dconste): Declare.
5425
5426 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
5427
5428         PR fortran/11522
5429         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
5430         for ultimate origin even if block is abstract.
5431
5432 2003-09-11  Roger Sayle  <roger@eyesopen.com>
5433
5434         * combine.c (combine_simplify_rtx): Move several NOT and NEG
5435         optimizations from here...
5436         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
5437         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
5438
5439 2003-09-11  Richard Henderson  <rth@redhat.com>
5440
5441         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
5442         Tweek tests for function already generated.
5443         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
5444         * cgraph.h (cgraph_finalize_function): Update for extra arg.
5445         * c-decl.c (finish_function): Likewise.
5446
5447 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
5448
5449         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
5450
5451 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
5452
5453         * real.c: Update URL to VAX floating point docs.
5454         (decode_vax_d): Extract 8 exponent bits instead of 7.
5455
5456 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
5457
5458         * combine.c (force_to_mode): Set fuller_mask based only on mask,
5459         not op_mode.
5460
5461 2003-09-11  Jan Hubicka  <jh@suse.cz>
5462
5463         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
5464         on why function is not inlinable; do not check
5465         the body.
5466         (inline_forbidden_p): Move to...
5467         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
5468         deal with alloca, longjmp.
5469         (inline_forbidden_p): New static function.
5470         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
5471         find_builtin_longjmp_call): Kill.
5472
5473 2003-09-10  Richard Henderson  <rth@redhat.com>
5474
5475         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
5476         * cgraphunit.c: Update to match.
5477         (record_call_1): Rearrange.  Call lang hook for language nodes.
5478         (cgraph_analyze_function): Don't call lower_function.
5479         * langhooks.h (struct lang_hooks_for_callgraph): Replace
5480         lower_function with analyze_expr.
5481         * langhooks-def.h: Update to match.
5482         * langhooks.c (lhd_callgraph_analyze_expr): New.
5483
5484 2003-09-10  Martin Husemann  <martin@duskware.de>
5485
5486         PR target/11965
5487         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
5488         constants greater than 63.
5489         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
5490         against constants greater than 31.
5491         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
5492         constants greater than 63.
5493
5494 2003-09-09  Richard Henderson  <rth@redhat.com>
5495
5496         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
5497         * cgraph.h (cgraph_finalize_function): Update.
5498         * c-decl.c (finish_function): Update.
5499
5500 2003-09-09  Devang Patel  <dpatel@apple.com>
5501
5502         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
5503         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
5504
5505 2003-09-09  Eric Christopher  <echristo@redhat.com>
5506
5507         * configure.in: Change usage of 'head' to 'sed 1q'.
5508         * configure: Regenerate.
5509
5510 2003-09-09  Richard Henderson  <rth@redhat.com>
5511
5512         * except.c: Include cgraph.h.
5513         (output_function_exception_table): Invoke
5514         cgraph_varpool_mark_needed_node.
5515         * Makefile.in (except.o): Update.
5516
5517 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
5518
5519         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
5520         and use it throughout.
5521
5522 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5523
5524         * builtins.c (real_dconstp, fold_builtin_logarithm,
5525         fold_builtin_exponent): New, split out from fold_builtin.  Also
5526         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
5527         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
5528         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
5529         of hardcoded array size.
5530         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
5531         (tree_expr_nonnegative_p): Likewise.
5532         * real.h (dconst3, dconst10, dconstthird): New.
5533
5534 2003-09-09  Jan Hubicka  <jh@suse.cz>
5535
5536         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
5537         inline functions.
5538         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
5539         DECL_SAVED_TREE.
5540
5541 2003-09-09  Roger Sayle  <roger@eyesopen.com>
5542
5543         * builtins.c (fold_builtin_cabs): Protect the complex argument
5544         against multiple evaluation when optimizing cabs* into sqrt*.
5545
5546 2003-09-09  Jan Hubicka  <jh@suse.cz>
5547
5548         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
5549
5550 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
5551
5552         * Makefile.in: Revert yesterday's change.
5553
5554 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
5555             Peter Barada <peter@baradas.org>
5556
5557         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
5558         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
5559         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
5560         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
5561         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
5562         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
5563         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
5564         (m68k_compute_frame_layout): New function.
5565         (m68k_initial_elimination_offset): New function.
5566         (m68k_output_function_prologue): ColdFire-specific movem handling.
5567         (m68k_output_function_epilogue): Likewise.
5568         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
5569         (ARG_POINTER_REGNUM): Add new definition.
5570         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
5571         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
5572         (CAN_ELIMINATE): Likewise.
5573         (INITIAL_ELIMINATION_OFFSET): Likewise.
5574
5575 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
5576
5577         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
5578         by removing redundant variable cfa_store_offset.
5579
5580 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
5581
5582         * langhooks-def.h (lhd_register_builtin_type): New function.
5583         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
5584         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
5585         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
5586         * langhooks.c (lhd_register_builtin_type): New function.
5587         * c-common.h (c_register_builtin_type): Declare.
5588         * c-common.c (c_register_builtin_type): New function.
5589         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
5590         c_register_builtin_type.
5591         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
5592         __float80, and __float128 macros.
5593         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
5594         __float80, and __float128 types.
5595
5596 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5597
5598         * builtin-types.def
5599         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
5600         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
5601         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
5602         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
5603         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
5604         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
5605         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
5606         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
5607         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
5608         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
5609         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
5610         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
5611         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
5612         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
5613         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
5614         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
5615         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
5616         New.
5617         * doc/extend.texi: Document new builtins.
5618
5619 2003-09-09  Jan Hubicka  <jh@suse.cz>
5620
5621         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
5622         finalization.
5623         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
5624         functions, check for COMDAT.
5625         (cgraph_assemble_pending_functions): Break out from...
5626         (cgraph_finalize_function): ... here; allow redefinig of extern inline
5627         functions.
5628         (record_call_1): Record function references only in non-unit-at-a-time
5629         mode.
5630         (cgraph_analyze_function): Reset current_function_decl.
5631         (cgraph_finalize_compilation_unit):  Assemble pending functions.
5632
5633 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
5634
5635         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
5636         (libgov.a): Likewise.
5637         (libgcc_eh.a): Likewise.
5638
5639 2003-09-08  Roger Sayle  <roger@eyesopen.com>
5640
5641         * fold-const.c (operand_equal_p): Clarify documentation.
5642
5643 2003-09-08  Richard Henderson  <rth@redhat.com>
5644
5645         * c-decl.c (c_expand_body_1): Push and pop function context here.
5646         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
5647         nested argument instead of computing nesting ourselves.
5648
5649 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
5650
5651         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
5652         regstack if optimizing but not scheduling after reload.
5653
5654 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
5655
5656         * config/sparc/sparc.c (struct machine_function): New type.
5657         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
5658         (sparc_override_options): Initialize init_machine_status.
5659         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
5660         tie_symbolic_operand, tle_symbolic_operand): New functions.
5661         (symbolic_operand): Disallow tls_symbolic_operand.
5662         (symbolic_memory_operand): Likewise.
5663         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
5664         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
5665         New functions.
5666         (sparc_tls_symbol): New variable.
5667         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
5668         legitimize_address): New functions.
5669         (print_operand): Handle %&.
5670         (sparc_init_machine_status, get_some_local_dynamic_name,
5671         get_some_local_dynamic_name_1): New functions.
5672         (sparc_output_dwarf_dtprel): New function.
5673         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
5674         constant_address_p.
5675         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
5676         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
5677         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
5678         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
5679         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
5680         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
5681         (ASM_OUTPUT_DWARF_DTPREL): Define.
5682         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
5683         tie_symbolic_operand, tle_symbolic_operand.
5684         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
5685         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
5686         (tls_call_delay): New attribute.
5687         (in_call_delay): Use it.
5688         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
5689         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
5690         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
5691         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
5692         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
5693         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
5694         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
5695         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
5696         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
5697         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
5698         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
5699         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
5700         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
5701         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
5702         insns.
5703         * config/sparc/sparc-protos.h (legitimate_constant_p,
5704         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
5705         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
5706         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
5707         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
5708         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
5709         * configure.in (sparc*-*-*): Add TLS check.
5710         * configure: Rebuilt.
5711
5712 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
5713
5714         PR target/11689
5715         * config/i386/i386.c (memory_address_length): Fix computation when
5716         the base is esp or ebp.
5717
5718 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
5719
5720         PR c++/11852
5721         * varasm.c (initializer_constant_valid_p): Correct logic for
5722         CONSTRUCTORs.
5723
5724 2003-09-07  Roger Sayle  <roger@eyesopen.com>
5725
5726         * expr.c (expand_operands): New function to expand an operand pair.
5727         (expand_expr): Call expand_operands whenever we need to expand both
5728         operands of a binary operator.
5729         (do_store_flag): Likewise for operands of comparison operations.
5730
5731 2003-09-07  Roger Sayle  <roger@eyesopen.com>
5732
5733         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
5734         (-A)*B if we care about sign-dependent rounding.
5735
5736 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
5737
5738         * c-pretty-print.h (pp_c_left_brace): Declare.
5739         (pp_c_right_brace): Likewise.
5740         * c-pretty-print.c (pp_c_left_brace): Now a function
5741         (pp_c_right_brace): Likewise.
5742
5743 2003-09-07  Jan Hubicka  <jh@suse.cz>
5744
5745         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
5746
5747 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5748
5749         * diagnostic.c (warn_deprecated_use): Move to toplev.c
5750
5751 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5752
5753         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
5754         * Makefile.in (langhooks.o): Depend on diagnostic.h
5755
5756 2003-09-06  James E Wilson  <wilson@tuliptree.org>
5757
5758         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
5759         simplify.
5760
5761 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
5762
5763         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
5764         and use it throughout.
5765
5766 2003-09-07  Jan Hubicka  <jh@suse.cz>
5767
5768         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
5769
5770         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
5771         virables.
5772
5773         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
5774         functions.
5775         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
5776
5777 2003-09-06  Jan Hubicka  <jh@suse.cz>
5778
5779         PR target/12070
5780         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
5781
5782         PR opt/12082
5783         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
5784
5785 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5786
5787         * diagnostic.c (announce_function): Move to toplev.c.
5788
5789 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5790
5791         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
5792         volatile mem.
5793
5794 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5795
5796         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
5797         when gc checking is enabled.
5798
5799 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
5800
5801         PR c/9862
5802         * c-decl.c (c_expand_body_1): Move return warning from here...
5803         (finish_function): ...to here.
5804
5805 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
5806
5807         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
5808         a subset of the input class.
5809
5810 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
5811
5812         * config/i860/i860.c: Follow spelling conventions.
5813         * config/i860/i860.h: Likewise.
5814         * config/sh/sh.h: Likewise.
5815
5816 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
5817
5818         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
5819         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
5820         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
5821
5822 2003-09-05  Roger Sayle  <roger@eyesopen.com>
5823             Richard Henderson  <rth@redhat.com>
5824
5825         PR optimization/1823
5826         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
5827         multiplication to implement division by constant integer.
5828
5829 2003-09-05  Jan Hubicka  <jh@suse.cz>
5830
5831         * opts.c (decode_options): Enable unit-at-a-time at -O2.
5832         * params.def (max-inline-insns-single): Set to 500
5833         (max-inline-insns-auto): Set to 150
5834         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
5835
5836 2003-09-04  Richard Henderson  <rth@redhat.com>
5837
5838         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
5839         (cgraph_mark_needed_node): Remove needed argument.
5840         * cgraph.h: Update to match.
5841         * cgraphunit.c (decide_is_function_needed): Split out from ...
5842         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
5843         if we generated the function.
5844         (record_call_1): Update for cgraph_mark_reachable_node.
5845         * varasm.c (mark_referenced): Likewise.
5846         * objc/objc-act.c (mark_referenced_methods): Likewise.
5847
5848 2003-09-04  DJ Delorie  <dj@redhat.com>
5849
5850         * targhooks.c: Add comment explaining the migration process.
5851
5852 2003-09-04  Eric Christopher  <echristo@redhat.com>
5853
5854         * config/frv/t-frv: Fix path for frv-abi.h.
5855         * config/frv/frv-asm.h: Fix string concatenation.
5856
5857 2003-09-04  DJ Delorie  <dj@redhat.com>
5858
5859         * builtins.c (apply_args_size): Guard against a NULL cfun.
5860         (expand_builtin_apply_args_1): Likewise.
5861         (expand_builtin_apply): Likewise.
5862         Fixes PR bootstrap/12172.
5863
5864 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5865
5866         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
5867         assembler supports Sun syntax for cmov.
5868         * configure: Regenerate.
5869         * config.in: Likewise.
5870         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
5871         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
5872         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
5873         Fixes PR target/12101.
5874
5875 2003-09-04  Matt Austern  <austern@apple.com>
5876
5877         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
5878         with verbosity 0, instead of DECL_NAME, for human-readable string.
5879
5880 2003-09-04  Eric Christopher  <echristo@redhat.com>
5881
5882         * targhooks.c (default_return_in_memory): Allow
5883         unconverted ports.
5884
5885 2003-09-04  Eric Christopher  <echristo@redhat.com>
5886
5887         * targhooks.c (default_return_in_memory): Fix typo
5888         in last checkin.
5889
5890 2003-09-04  Eric Christopher  <echristo@redhat.com>
5891
5892         * targhooks.c (default_return_in_memory): Fix default
5893         definition.
5894
5895 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
5896
5897         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
5898         deleted function.
5899         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
5900         enable coff-only code in m68k.c.
5901
5902 2003-09-04  Nick Clifton  <nickc@redhat.com>
5903
5904         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
5905         v850e1.
5906         * config/v850/v850.h: Accept v850e1 as a default CPU.
5907         Accept -mv850e1 as a command line option.
5908         * doc/invoke.texi: Document new -mv850e1 command line switch.
5909         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
5910         -mv850e.
5911
5912 2003-09-04  Nick Clifton  <nickc@redhat.com>
5913
5914         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
5915         * config/v850/t-v850: Only produce one extra multilib - for
5916         the v850e.
5917         * config/v850/t-v850e: New file: Only produce one extra
5918         multilib - for the v850.
5919
5920 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
5921
5922         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
5923         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
5924         * unwind.h (_Unwind_GetBSP): New prototype.
5925         * libgcc-std.ver: Add empty GCC_3.3.2 version.
5926         * mkmap-symver.awk: For symbol versions with no exported symbols,
5927         don't put anything into version script, just change all symbol
5928         versions which inherit from it to inherit from its ancestor.
5929
5930 2003-09-04  Eric Christopher  <echristo@redhat.com>
5931
5932         * config/mips/mips.c (mips_expand_prologue): Convert to
5933         calls.struct_value_rtx hook.
5934         (reg_or_const_float_1_operand): New.
5935         * config/mips/mips.h: Update Comments.
5936         (mips_arg): Add reg_or_const_float_1_operand.
5937         * config/mips/mips.md (divdf3); Convert to expander.
5938         (divsf3): Ditto.
5939         (*divdf3): New pattern.
5940         (*divsf3): Ditto.
5941
5942 2003-09-04  Jan Hubicka  <jh@suse.cz>
5943
5944         * toplev.c (wrapup_global_declarations): Fix final pass in
5945         unit-at-atime mode.
5946
5947 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
5948
5949         * doc/extend.texi: Document removal of cast-as-lvalue extension in
5950         C++.
5951
5952 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
5953
5954         * gcc.c (process_command): Fix typo.
5955
5956 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
5957
5958         optimization/11980
5959         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
5960         (PTRDIFF_TYPE): Likewise.
5961         (WCHAR_TYPE_SIZE): Likewise.
5962
5963 2003-09-03  DJ Delorie  <dj@redhat.com>
5964
5965         * targhooks.c: New file.
5966         * targhooks.h: New file.
5967         * Makefile.in: Add targhooks.o support.
5968         (function.o): Depend on$(TARGET_H).
5969         (stmt.o): Likewise.
5970         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
5971         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
5972         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
5973         (expand_builtin_saveregs): Convert to
5974         calls.expand_builtin_saveregs hook.
5975         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
5976         here, instead of ...
5977         (get_parm_info) ... here.
5978         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
5979         hook.
5980         (finish_function): Handle calls.promote_prototypes hook here too.
5981         * c-typeck.c (convert_arguments): Convert to
5982         calls.promote_prototypes hook.
5983         (c_convert_parm_for_inlining): Likewise.
5984         * calls.c (initialize_argument_information): Convert to
5985         calls.promote_function_args hook.
5986         (expand_call): Convert to calls.struct_value_rtx,
5987         calls.strict_argument_naming,
5988         calls.pretend_outgoing_varargs_named, and
5989         calls.promote_function_return hooks.  Pass fndecl to
5990         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
5991         hooks, so they can use that.
5992         (emit_library_call_value_1): Likewise.
5993         * combine.c (setup_incoming_promotions): Convert to
5994         calls.promote_function_args hook.
5995         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
5996         * expr.c (expand_assignment): Pass call to aggregate_value_p.
5997         (expand_expr): Likewise.
5998         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
5999         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
6000         RETURN_IN_MEMORY macro defaults.
6001         * final.c (profile_function): Convert to calls.struct_value_rtx
6002         hook.
6003         * function.c (aggregate_value_p): Accept function type tree as
6004         second parameter; try to deduce fntype from it.  Convert to
6005         calls.return_in_memory hook.
6006         (assign_parms): Convert to calls.setup_incoming_varargs,
6007         calls.strict_argument_naming, calls.promote_function_args,
6008         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
6009         aggregate_value_p.
6010         (expand_function_start): Likewise.  Convert to
6011         calls.struct_value_rtx hook.
6012         (expand_function_end): Convert to calls.promote_function_return hook.
6013         (allocate_struct_function): Pass fndecl to aggregate_value_p.
6014         * hard-reg-set.h: Update comments to new hook names.
6015         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
6016         * reg-stack.c (stack_result): Likewise.
6017         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
6018         * stmt.c (expand_value_return): Convert to
6019         calls.promote_function_return hook.
6020         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
6021         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
6022         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
6023         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
6024         TARGET_STRICT_ARGUMENT_NAMING,
6025         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
6026         * target.h: Likewise.
6027         * tree.h (aggregate_value_p): Also takes a tree to deduce function
6028         attributes from (for target hooks).
6029         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
6030         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
6031         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
6032         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
6033         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
6034         to hooks.
6035
6036         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
6037         to aggregate_value_p.
6038         * config/arm/arm.c (arm_init_cumulative_args,
6039         arm_output_mi_thunk): Likewise.
6040         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
6041         Likewise.
6042         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
6043         mips_can_use_return_insn): Likewise.
6044         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
6045         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
6046         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
6047         aggregate_value_p.
6048         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
6049         function to aggregate_value_p.
6050         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
6051         aggregate_value_p.
6052
6053         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
6054         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
6055         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
6056         (sh_handle_renesas_attribute, sh_promote_prototypes,
6057         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
6058         sh_setup_incoming_varargs, sh_strict_argument_naming,
6059         sh_pretend_outgoing_varargs_named): New decls.
6060         (targetm): Add new hooks.
6061         (calc_live_regs): Save MACL and MACH if the function has the
6062         renesas attribute.
6063         (sh_expand_prologue): Support renesas attribute.
6064         (sh_builtin_saveregs): Make static.
6065         (sh_build_va_list): Support renesas attribute.
6066         (sh_va_start): Likewise.
6067         (sh_va_arg): Likewise.
6068         (sh_promote_prototypes): New.
6069         (sh_function_arg): New, moved from sh.h.  Support renesas
6070         attribute.
6071         (sh_function_arg_advance): Likewise.
6072         (sh_return_in_memory): Likewise.
6073         (sh_strict_argument_naming): Likewise.
6074         (sh_pretend_outgoing_varargs_named): Likewise.
6075         (sh_struct_value_rtx): New.
6076         (sh_attribute): Add renesas attribute.
6077         (sh_handle_renesas_attribute): New.
6078         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
6079         (sh_ms_bitfield_layout_p): Support renesas attribute also.
6080         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
6081         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
6082         -mhitachi.
6083         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
6084         target hooks.
6085         (sh_args): Add renesas_abi flag.
6086         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
6087         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
6088         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
6089         stack for the renesas abi.
6090         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
6091         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
6092         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
6093         call cookie to indicate renesas calls.
6094
6095 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
6096
6097         * gcse.c (replace_one_set): New function.
6098         (pre_insert_copy_insn): Change the order of copying
6099         to make copy propagation discover additional PRE opportunities.
6100
6101 2003-09-03  Roger Sayle  <roger@eyesopen.com>
6102
6103         PR optimization/11700.
6104         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
6105         of a hard register is representable before trying to simplify it
6106         using subreg_hard_regno.
6107
6108 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6109
6110         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
6111         * configure: Regenerate.
6112
6113 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6114
6115         * intl.h (N_): Remove parentheses.
6116
6117 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
6118
6119         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
6120         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
6121         definition and code blocks compiled when not defined.
6122         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
6123         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
6124         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
6125         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
6126
6127 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
6128
6129         * cgraphunit.c (visited_nodes): New static variable.
6130         (record_call_1): Use walk_tree with visited_nodes.
6131         (cgraph_create_edges): Use walk_tree with visited_nodes.
6132         Setup/teardown visited_nodes hashtable.
6133
6134 2003-09-03  Roger Sayle  <roger@eyesopen.com>
6135
6136         * toplev.c (flag_rounding_math): New global variable.
6137         (f_options): Add to the list of language independent options.
6138         * flags.h (flag_rounding_math): Prototype here.
6139         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
6140         * common.opt (frounding-math): New common command line option.
6141         * opts.c (common_handle_option): Handle OPT_frounding_math.
6142         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
6143
6144         * doc/invoke.texi: Document this new command line option.
6145
6146 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6147
6148         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
6149
6150 2003-09-03  Jan Hubicka  <jh@suse.cz>
6151
6152         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
6153         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
6154         * c-objc-common.c: Kill include of gt-c-objc-common.h
6155         (expand_deferred_fns, deffer_fn): Kill function.
6156         (deferred_fns): Kill variable.
6157         (finish_cdtor): Update finish_function call.
6158         (c_objc_common_finish_file): Always call cgraph code.
6159         * c-parse.c: Regenerate.
6160         * c-parse.y: Regenerate.
6161         * c-tree.h (finish_function): Update prototype.
6162         * objc-acct.c (build_module_descriptor, finish_method_def):
6163         Update call of finish_function.
6164         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
6165         forward prototype.
6166         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
6167         function and assemble it if needed.
6168         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
6169         mode.
6170         (cgraph_optimize): Likewise.
6171         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
6172         even when it has no inline callees.
6173         * c-parse.in: Update calls to finish_function.
6174
6175 2003-09-03  Nick Clifton  <nickc@redhat.com>
6176
6177         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
6178         Use #error to generate the message if TARGET_DEFAULT is not
6179         recognised.
6180
6181 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
6182
6183         * config/mips/mips.h (MASK_UNUSED1): Remove.
6184         (MASK_XGOT, TARGET_XGOT): Define.
6185         (TARGET_SWITCHES): Add an entry for -mxgot.
6186         (ASM_SPEC): Map -mxgot to -xgot.
6187         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
6188         whether we're using a big-GOT sequences.
6189         (mips_legitimize_const_move, mips_expand_call): Likewise.
6190         (override_options): Revert 2003-01-09 change.
6191         * doc/invoke.texi: Document -mxgot.
6192
6193 2003-09-02  Jason Merrill  <jason@redhat.com>
6194
6195         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
6196         * config/sparc/sol2.h: Not here.
6197
6198 2003-09-02  Roger Sayle  <roger@eyesopen.com>
6199
6200         * expr.c (expand_expr): The code following both_summands performs
6201         the same task as simplify_gen_binary.  Replace all gotos to
6202         both_summands with a call to simplify_gen_binary and delete the
6203         now unused label.
6204
6205 2003-09-02  Jason Merrill  <jason@redhat.com>
6206
6207         PR c++/7327
6208         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
6209
6210 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
6211
6212         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
6213         (cgraph_optimize_function): Set current_function_decl to the
6214         fndecl we're integrating from.
6215
6216 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6217
6218         * builtins.def: Break out _Complex math functions into their
6219         own category.
6220
6221 2003-09-02  Andreas Jaeger  <aj@suse.de>
6222
6223         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
6224
6225 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
6226
6227         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
6228         finding the note again.
6229
6230 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6231
6232         * config.gcc: Remove host-specific rewrites of target_alias.
6233
6234 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
6235
6236         * Makefile.in (genprogs): Fix typo.
6237
6238         * Makefile.in (gencheck.o): Remove build commands.
6239         (dummy-conditions.o): Likewise.
6240         (read-rtl.o): Likewise.
6241         (gensupport.o): Likewise.
6242         (genconfig$(build_exeext)): Remove rule.
6243         (genconfig.o): Remove build commands.
6244         (genflags$(build_exeext)): Remove rule.
6245         (genflags.o): Remove build commands.
6246         (gencodes$(build_exeext)): Remove rule.
6247         (gencodes.o): Remove build commands.
6248         (genconstants.o): Remove build commands.
6249         (genemit$(build_exeext)): Remove rule.
6250         (genemit.o): Remove build commands.
6251         (genrecog$(build_exeext)): Remove rule.
6252         (genrecog.o): Remove build commands.
6253         (genextract$(build_exeext)): Remove rule.
6254         (genextract.o): Remove build commands.
6255         (genpeep$(build_exeext)): Remove rule.
6256         (genpeep.o): Remove build commands.
6257         (genattr$(build_exeext)): Remove rule.
6258         (genattr.o): Remove build commands.
6259         (genprognames): New variable.
6260         (genprogs): Likewise.
6261         (genobjs): Likewise.
6262         (genprogs): New rule.
6263         (genobjs): Likewise.
6264         (genattrtab.o): Remove build commands.
6265         (genautomata.o): Likewise.
6266         (genoutput$(build_exeext)): Remove rule.
6267         (genoutput.o): Remove build commands.
6268         (gengenrtl.o): Likewise.
6269         (genpreds.o): Likewise.
6270         (gengtype.o): Likewise.
6271         (genconditions.o): Likewise.
6272         (gen-protos.o): Likewise.
6273         (scan.o): Likewise.
6274         (fix-header.o): Likewise.
6275         (scan-decls.o): Likewise.
6276         (check-g++): Combine with other check targets.
6277         (check-gcc): Likewise.
6278         (check-g77): Likewise.
6279         (check-objc): Likewise.
6280
6281 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6282
6283         * config.gcc: Remove host-specific stuff which is unused here
6284         since the introduction of config.host.
6285
6286         * doc/fragments.texi: Mention config.host.
6287         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
6288         of config.build, config.host, and config.gcc.
6289
6290 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
6291
6292         * c-decl.c (pushdecl): Don't put variables on
6293         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
6294         incomplete.
6295
6296 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6297
6298         * config.host: New file.
6299         * config.gcc: Remove some host-specific stuff and some
6300         logic needed only for repeated invocation.
6301         * configure.in: Use config.host.
6302         * configure: Regenerate.
6303
6304 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
6305
6306         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
6307         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
6308         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
6309         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
6310         * tree.def (BIT_ANDTC_EXPR): Kill.
6311
6312 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6313
6314         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
6315         * configure: Regenerate.
6316
6317         * config.gcc:  Remove references to install_headers_dir, now unused
6318         since introduction of config.build.
6319         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
6320
6321         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
6322         config.build.
6323
6324         * config.build: New file.
6325         * config.gcc: Remove some build-specific stuff.
6326         * configure.in: Use config.build.
6327         * configure: Regnerate.
6328
6329 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
6330             Roger Sayle  <roger@eyesopen.com>
6331
6332         PR middle-end/11823
6333         * stmt.c (expand_end_case_type): Only use jump tables for dense
6334         switch statements when optimizing for size.
6335
6336 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
6337
6338         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
6339         the != 0 case, which ensures pending stack adjustments are flushed.
6340
6341 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6342
6343         * configure.frag: Delete file.
6344         * configure.in: Rename the substitution variables
6345         dep_host_xmake_file and dep_tmake_file to xmake_file and
6346         tmake_file respectively.  Do not expand $srcdir in the
6347         value of these; leave that for Make.  Introduce a new
6348         substitution varaible, all_lang_makefrags, which lists
6349         subdirectory Make-lang.in files; exclude these from
6350         all_lang_makefiles, which is now only for subdirectory
6351         outputs.  Do not invoke configure.frag.  Do not set nor
6352         AC_SUBST_FILE target_overrides, host_overrides, or
6353         language_fragments. Create build subdirectories in
6354         config.status extra commands.
6355         * configure: Regenerate.
6356         * Makefile.in: Update substitutions to match changes to
6357         configure.  Use include directives instead of @-insertions
6358         to read in host, target, and language fragments.
6359         (Makefile rule): Do not invoke configure.frag.  Do not copy
6360         config.status to config.run before executing it.  Set
6361         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
6362         regenerated.
6363         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
6364
6365 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6366
6367         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
6368         * c-typeck.c (same_translation_unit_p): New function.
6369         (comptypes): Use it instead of flags parameter to identify
6370         structure types from different translation units.
6371         * c-decl.c (duplicate_decls): Always call comptypes with
6372         COMPTYPE_STRICT flags argument.
6373         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
6374         to file_scope_decl.
6375
6376 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6377
6378         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
6379         * c-decl.c (struct c_scope): Remove "incomplete" field.
6380         (pushdecl): Attach variables with incomplete types to
6381         the TYPE_MAIN_VARIANT of the incomplete type in question.
6382         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
6383         to complete, not at current_scope->incomplete.  All such
6384         variables do need completion.
6385
6386 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
6387         Nicolas Pitre <nico@cam.org>
6388
6389         * arm/lib1funcs.asm (RETCOND): Delete.
6390         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
6391         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
6392         (__ARM_ARCH__): Move here from ieee754-?f.S.
6393         (RET, RETc): Clean up definitions.
6394         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
6395         (FUNC_END): New macro that marks the end of any function.
6396         (ARM_FUNC_START): New macro that allows an assembler routine to be
6397         implemented in ARM code even if a Thumb-only build.
6398         Unconditionally include ieee754-?f.S.
6399         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
6400         Mark ends of functions.
6401         Split into separate conditionally-compiled units.
6402         Use RETLDM to return from routines.
6403         * arm/ieee754-sf.S: Similarly.
6404         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
6405         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
6406         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
6407         _fixsfsi and _fixunssfsi.
6408
6409         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
6410         multiplication underflows to zero.
6411         (__adddf3): Fix bug when using VFP ordering on little-endian
6412         processors.
6413         (__fixdfsi): Use rrx to extract the carry into a register instead of
6414         MRS instruction.  Optimize later use of result.
6415         * arm/ieee754-sf.S (__fixsfsi): Likewise.
6416         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
6417
6418 2003-08-29  Richard Henderson  <rth@redhat.com>
6419
6420         * tree-optimize.c: New file.
6421         * Makefile.in (OBJS-archive): Add tree-optimize.o.
6422         (tree-optimize.o): New.
6423         * c-decl.c (store_parm_decls): Use allocate_struct_function.
6424         (finish_function): Don't free_after_parsing or free_after_compilation.
6425         (set_save_expr_context): Move to tree-optimize.c.
6426         (c_expand_body_1): Use tree_rest_of_compilation.
6427         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
6428         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
6429         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
6430         iterate until closure.
6431         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
6432         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
6433         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
6434         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
6435         * toplev.h (tree_rest_of_compilation): Declare it.
6436
6437 2003-08-29  Richard Henderson  <rth@redhat.com>
6438
6439         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
6440         * integrate.c (save_for_inline): Set saved_for_inline.
6441         * c-semantics.c (genrtl_scope_stmt): Check it.
6442         * toplev.c (wrapup_global_declarations): Check it.
6443         (rest_of_handle_inlining): Set and check rtl_inline_init.
6444         (rest_of_compilation): Remove out of date comment.
6445
6446 2003-08-29  Richard Henderson  <rth@redhat.com>
6447
6448         * function.c (allocate_struct_function): New, split out of ...
6449         (prepare_function_start, init_function_start): ... here.
6450         * expr.c (init_expr): Use ggc_alloc_cleared.
6451         * stmt.c (init_stmt_for_function): Likewise.
6452         * tree.h (allocate_struct_function): Declare.
6453
6454 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
6455
6456         * config.gcc: Don't use negated character class in shell case
6457         clause.
6458
6459 2003-08-29  Richard Henderson  <rth@redhat.com>
6460
6461         * function.h (struct function): Move function_frequency and
6462         max_jumptable_ents before start of bit field members.
6463
6464 2003-08-29  Richard Henderson  <rth@redhat.com>
6465
6466         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
6467         (fold_builtin_constant_p) ... not here.
6468
6469 2003-08-29  Richard Henderson  <rth@redhat.com>
6470
6471         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
6472         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
6473         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
6474
6475 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6476
6477         * builtins.def: Fix typos.
6478         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
6479         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
6480         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
6481         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
6482         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
6483
6484         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
6485         Use ATTR_MATHFN_FPROUNDING_ERRNO.
6486
6487 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
6488
6489         * config.gcc (i386-*-vsta): Fix obvious bogosity.
6490
6491         * fixinc/inclhack.def:  Remove special cases for unsupported
6492         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
6493         * fixinc/fixincl.x: Regenerate.
6494
6495 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
6496
6497         * Makefile.in (cpp.info): Just state dependencies.
6498         (gcc.info): Likewise.
6499         (gccint.info): Likewise.
6500         (gccinstall.info): Likewise.
6501         (cppinternals.info): Likewise.
6502         (cpp.dvi): Likewise.
6503         (gcc.dvi): Likewise.
6504         (gccint.dvi): Likewise.
6505         (gccinstall.dvi): Likewise.
6506         (cppinternals.dvi): Likewise.
6507         (gcov.1): Likewise.
6508         (cpp.1): Likewise.
6509         (gcc.1): Likewise.
6510         (gfdl.7): Likewise.
6511         (gpl.7): Likewise.
6512         (fsf-funding.7): Likewise.
6513         ($(objdir)/%.info): New pattern rule.
6514         (%.dvi): Likewise.
6515
6516 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
6517
6518         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
6519         (restage2): Likewise.
6520         (restage3): Likewise.
6521         (restage4): Likewise.
6522         (restageprofile): Likewise.
6523         (restagefeedback): Likewise.
6524         (bubblestrap): Likewise.
6525
6526 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
6527
6528         * config.gcc: Narrow unsupported target match to avoid clobbering
6529         i?86-sequent-sysv4*.
6530
6531 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6532
6533         * builtins.c (mathfn_built_in): Handle new math builtins.
6534
6535 2003-08-28  Per Bothner  <per@bothner.com>
6536
6537         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
6538         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
6539         (_cpp_lex_buffer):  Likewise.
6540         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
6541
6542 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
6543
6544         * config/s390/s390.md ("*mulsi3_sign"): New insn.
6545         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
6546         ("mulsidi3"): ... this new insn.
6547         ("umulsidi3"): New insn.
6548         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
6549         mixed-mode matching constraints.
6550         ("udivmodsi4", "udivmoddisi3"): New insns.
6551         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
6552
6553 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6554
6555         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
6556         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
6557         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
6558         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
6559         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
6560         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
6561         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
6562         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
6563         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
6564         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
6565         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
6566         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
6567         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
6568         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
6569         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
6570         * tree.c: Assign new type_nodes.
6571         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
6572         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
6573         (float_ptr_type_node, double_ptr_type_node,
6574         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
6575
6576         * doc/extend.texi: Document new builtins.
6577
6578 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6579
6580         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
6581         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
6582
6583         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
6584         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
6585         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
6586         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
6587         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
6588         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
6589         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
6590         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
6591         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
6592         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
6593
6594         * doc/extend.texi: Document new builtins.
6595
6596 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
6597
6598         * fixinc/mkfixinc.sh: Remove special case code for unsupported
6599         variants of i?86, powerpcle, and thumb.
6600         * fixinc/mkfixinc.sh: Remove special case code for unsupported
6601         arm and hppa variants.
6602
6603 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6604
6605         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
6606         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
6607         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
6608         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
6609         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
6610         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
6611         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
6612         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
6613         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
6614         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
6615
6616         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
6617         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
6618         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
6619         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
6620         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
6621         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
6622         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
6623         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
6624         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
6625         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
6626         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
6627         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
6628         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
6629         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
6630         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
6631         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
6632         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
6633         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
6634         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
6635         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
6636         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
6637         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
6638         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
6639         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
6640         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
6641         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
6642         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
6643         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
6644         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
6645         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
6646         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
6647
6648         * doc/extend.texi: Document new builtins.
6649
6650 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
6651
6652         * config/s390/s390.c (legitmate_constant_p): Use LARL on
6653         zSeries machines even in 31-bit addressing mode.
6654         (legitimate_reload_constant_p): Likewise.
6655         (legitimize_pic_address): Likewise.
6656         (legitimize_tls_address): Likewise.
6657         (s390_split_branches): Likewise.
6658         (s390_dump_pool): Likewise.
6659         (s390_mainpool_finish): Likewise.
6660         (s390_chunkify_start): Likewise.
6661         (s390_select_rtx_section): Likewise.
6662         * config/s390/s390.md ("doloop_si"): Likewise.
6663         ("pool_start_31", "pool_end_31"): Likewise.
6664         ("pool_start_64", "pool_end_64"): Likewise.
6665         ("main_base_31_small", "main_base_31_large"): Likewise.
6666         ("main_base_64"): Likewise.
6667         ("reload_base_31", "reload_base_64"): Likewise.
6668         ("*movsi_larl"): New insn.
6669         ("cjump", "icjump"): Use long branches on zSeries machines.
6670         ("jump"): Likewise.
6671         ("call"): Use BRASL on zSeries machines.
6672         ("call_value", "call_value_tls"): Likewise.
6673         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
6674         and replace by ...
6675         ("*bras", "*brasl", "*basr") ... these new insns.
6676         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
6677         "bas_31_r"): Remove and replace by ...
6678         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
6679         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
6680         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
6681         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
6682         ("*return_si", "*return_di"): Remove and replace by ...
6683         ("*return"): ... this new insn.
6684         ("rotlsi3"): Allow on zSeries machines.
6685
6686         * config/s390/s390.c (legitimize_reload_constant_p): Use
6687         LL/LH type instructions in z/Architecture mode.
6688         * config/s390/s390.md ("*movsi_lli"): Likewise.
6689         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
6690         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
6691         ("*extendqisi2"): Use LB in z/Architecture mode.
6692         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
6693         z/Architecture mode.
6694         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
6695         Likewise.
6696
6697         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
6698         and 31-bit mode.
6699         ("ptr_extend"): Allow only in 64-bit mode.
6700
6701 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
6702
6703         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
6704         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
6705         definitions.
6706         (main): Only use standard_startfile_prefix if native.
6707         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
6708
6709 2003-08-27  Per Bothner  <pbothner@apple.com>
6710
6711         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
6712         test fails following my 08-21 change, and it seems unnecessary anyway.
6713         (cpp_error):  Likewise.
6714
6715 2003-08-27  Jason Merrill  <jason@redhat.com>
6716
6717         * real.c (do_multiply): Initialize with memset.
6718
6719 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6720
6721         * gcov.c (typedef struct arc_info): New field cs_count.
6722         (accumulate_line_counts): Find cycles correctly.
6723
6724 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
6725
6726         * config/s390/s390.c (struct machine_function): Remove member
6727         literal_pool_label.
6728         (s390_optimize_prolog): Replace TEMP_REG argument with
6729         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
6730         (general_s_operand): Accept all immediates before reload if
6731         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
6732         references.
6733         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
6734         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
6735         (s390_alloc_pool): New function.
6736         (s390_new_pool): Call it.
6737         (s390_dump_pool): Add REMOTE_LABEL argument.
6738         (s390_chunkify_start): Add BASE_REG argument.  Do not check
6739         get_pool_size ().
6740         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
6741         s390_dump_pool call.
6742         (s390_pool_count, s390_nr_constants): Remove.
6743         (s390_output_constant_pool): Remove.
6744         (s390_mainpool_start): New function.
6745         (s390_mainpool_finish): New function.
6746         (s390_mainpool_cancel): New function.
6747         (s390_reorg): Implement main literal pool handling.
6748         (s390_emit_prologue): Emit main_pool placeholder instead of
6749         literal_pool_31 / literal_pool_64 insns.
6750         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
6751         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
6752         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
6753         ("main_base_31_small", "main_base_31_large"): New insns.
6754         ("main_base_64",  "main_pool"): New insns.
6755         ("literal_pool_31", "literal_pool_64"): Remove.
6756
6757 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
6758
6759         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
6760         fixinc.ptx.
6761         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
6762         Prettify a little.
6763         * fixinc/fixincl.x: Regenerate.
6764
6765 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
6766
6767         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
6768         (L_ieee754_dp): New.  Include ieee754-df.S.
6769         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
6770         and compilation in apcs-26 mode.
6771         * arm/ieee754-df.S: Likewise.
6772         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
6773         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
6774
6775 2003-08-27  Nicolas Pitre  <nico@cam.org>
6776
6777         * arm/ieee754-sf.S: New.
6778         * arm/ieee754-df.S: New.
6779
6780 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
6781
6782         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
6783         and restore it if returning NULL.
6784
6785 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
6786
6787         * calls.c (initialize_argument_information): If an argument has no
6788         stack space associated with it, and BLOCK_REG_PADDING is defined,
6789         use it to decide at which end the argument should be padded.
6790         * function.c (assign_parms): Allocate BLKmode stack slots.
6791         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
6792         (mips_pad_reg_upward): Declare.
6793         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
6794         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
6795         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
6796         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
6797         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
6798         (mips_expand_call): Remove code for generating structure shifts.
6799         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
6800         types unless using the EABI.
6801         (function_arg_advance): Don't generate shift instructions.
6802         (function_arg): Don't return them.  Don't short-circuit the
6803         check for double structure chunks for DFmode arguments.
6804         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
6805         (mips_expand_prologue): Remove code to emit structure shifts.
6806         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
6807         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
6808         comments to say that only structure returns are a problem.
6809
6810 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6811
6812         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
6813         Fix to match produced versions.
6814         * fixinc/inclhack.def (longlong_t): New disabled test, ported
6815         from fixinc.svr4.
6816         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
6817         from fixinc.ptx.
6818         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
6819         ported from fixinc.ptx.
6820
6821 2003-08-26  Per Bothner  <pbothner@apple.com>
6822
6823         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
6824         (cpp_error_with_line):  Use fileline for appropriate parameter.
6825         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
6826         (struct cpp_reader):  Likewise for fields line and directive_line.
6827         (_cpp_begin_message):  Use fileline for appropriate parameter.
6828         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
6829         cpp_error):  Use fileline for appropriate parameters and variables.
6830         (print_location):  New local lin, since it is not a fileline.
6831
6832 2003-08-26  Roger Sayle  <roger@eyesopen.com>
6833
6834         PR middle-end/12002
6835         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
6836         (FLOAT_TYPE_P): Define in terms of these two new macros.
6837         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
6838         for complex floating point types.
6839
6840 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
6841
6842         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
6843         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
6844         s390_output_pool_entry.
6845
6846 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6847
6848         * fixinc/inclhack.def (svr4_preproc_lint_on,
6849         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
6850         fixes, ported from fixinc.svr4.
6851
6852 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
6853
6854         * doc/install.texi (Prerequisites): Mention GNU make requirement.
6855
6856         * Makefile.in (AR_FOR_TARGET): Export it.
6857         (AR_CREATE_FOR_TARGET): Likewise.
6858         (AR_FLAGS_FOR_TARGET): Likewise.
6859         (AR_EXTRACT_FOR_TARGET): Likewise.
6860         (AWK): Likewise.
6861         (BUILD_PREFIX): Likewise.
6862         (BUILD_PREFIX_1): Likewise.
6863         (DESTDIR): Likewise.
6864         (GCC_FOR_TARGET): Likewise.
6865         (INCLUDES): Likewise.
6866         (INSTALL_DATA): Likewise.
6867         (LIB1ASMSRC): Likewise.
6868         (LIBGCC2_CFLAGS): Likewise.
6869         (MACHMODE_H): Likewise.
6870         (NM_FOR_TARGET): Likewise.
6871         (RANLIB_FOR_TARGET): Likewise.
6872         (libsubdir): Likewise.
6873         (slibdir): Likewise.
6874         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
6875         exporting.
6876         (libgcc.a): Don't pass them here.
6877         (stmp-multilib): Or here.
6878         (install-libgcc): Or here.
6879         (install-multilib): Or here.
6880         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
6881         (stage1_build): Or here.
6882
6883 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
6884
6885         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
6886         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
6887
6888 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
6889
6890         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
6891         "*fmaddsf", "*fmsubsf"): New insns.
6892
6893 2003-08-26  Roger Sayle  <roger@eyesopen.com>
6894
6895         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
6896         (C1*C2)/X when unsafe math optimizations are allowed.
6897         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
6898         math optimizations.  Minor code clean-ups.  Recursively call
6899         fold when constructing sub-expressions.
6900
6901 2003-08-26  Roger Sayle  <roger@eyesopen.com>
6902
6903         * builtins.c (fold_builtin_bitop): New function to perform constant
6904         folding of ffs, clz, ctz, popcount and parity builtin functions
6905         and their long and long long variants (such as ffsl and ffsll).
6906         (fold_builtin): fold_builtin_bitop when appropriate.
6907         * simplify-rtx.c (simplify_unary_operation): Honor both
6908         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
6909         evaluating clz and ctz at compile-time, for operands wider
6910         than HOST_WIDE_INT.
6911
6912 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
6913
6914         * builtins.c (build_function_call_expr): Don't set
6915         TREE_SIDE_EFFECTS here.
6916         * expr.c (emit_block_move_via_libcall): Likewise.
6917         (clear_storage_via_libcall): Likewise.
6918         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
6919         CALL_EXPRs.
6920
6921         * gcse.c (is_too_expensive): New function.
6922         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
6923
6924 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
6925
6926         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
6927         commented-out logic to use DCE threads (if present), add
6928         support for POSIX threads.
6929         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
6930         #defines for -pthread.  Add -lpthread to LIB_SPEC when
6931         -pthread.  In both cases take -mt as a synonym for -pthread
6932         for acc compatibility.
6933         Define GTHREAD_USE_WEAK to 0.
6934         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
6935         Remove old logic for DCE threads from LIB_SPEC.
6936         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
6937
6938 2003-08-25  Roger Sayle  <roger@eyesopen.com>
6939
6940         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
6941         return 0 for invalid argument types.  Instead drop through to a
6942         call of expand_call at the bottom of function.  If op is SQRT,
6943         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
6944
6945 2003-08-25  Richard Henderson  <rth@redhat.com>
6946
6947         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
6948         result when op0 is SImode.
6949
6950 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
6951
6952         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
6953         from fixinc.svr4.
6954         * fixinc/fixincl.x: Regenerate.
6955         * fixinc/tests/base/sys/signal.h: Regenerate.
6956
6957 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
6958
6959         * combine.c (simplify_comparison): Re-enable widening of comparisons
6960         with non-paradoxical subregs of non-REG expressions.
6961
6962 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
6963
6964         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
6965
6966 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
6967
6968         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
6969
6970 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6971
6972         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
6973         * c-pretty-print.h (c_pretty_printer): Now typedef to the
6974         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
6975         (struct c_pretty_print_info): Document.  Add new fields.
6976         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
6977         (pp_direct_abstract_declarator): New macro.
6978         (pp_ptr_operator): Likewise.
6979         (pp_simple_type_specifier): Likewise.
6980         (pp_expression): Likewise.
6981         (pp_parameter_list): Rename from pp_parameter_declaration.
6982         * c-pretty-print.c (pp_c_whitespace): Now a function.
6983         (pp_c_left_paren): Likewise.
6984         (pp_c_right_paren): Likewise.
6985         (pp_c_dot): Likewise.
6986         (pp_c_ampersand): Likewise.
6987         (pp_c_arrow): Likewise.
6988         (pp_c_semicolon): Likewise.
6989         (pp_c_type_cast): New function.
6990         (pp_c_space_for_pointer_operator): Likewise.
6991         (pp_c_call_argument_list): Likewise.
6992         (pp_c_cv_qualifier): Adjust prototype.
6993         (pp_c_type_qualifier_list): Likewise.
6994         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
6995         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
6996         Adjust to follow standard grammar.
6997         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
6998         REFERENCE_TYPE.  Tidy.
6999         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
7000         (pp_c_parameter_declaration): Remove.
7001         (pp_c_abstract_declarator): Adjust prototype.
7002         (pp_c_direct_abstract_declarator): Likewise.
7003         (pp_c_type_id): Likewise.
7004         (pp_c_storage_class_specifier): Likewise.
7005         (pp_c_function_specifier): Likewise.
7006         (pp_c_declaration_specifiers): Likewise.
7007         (pp_c_direct_declarator): Likewise.
7008         (pp_c_declarator): Likewise.
7009         (pp_c_declarator): Likewise.
7010         (pp_c_declaration): Likewise.
7011         (pp_c_attributes): Likewise.  Tidy.
7012         (pp_c_function_definition): Adjust prototype.
7013         (pp_c_char): Likewise.
7014         (pp_c_string_literal): Likewise.
7015         (pp_c_integer_constant): Likewise.
7016         (pp_c_character_constant): Likewise.
7017         (pp_c_bool_constant): Likewise.
7018         (pp_c_enumeration_constant): Likewise.
7019         (pp_c_floating_constant): Likewise.
7020         (pp_c_constant): Likewise.
7021         (pp_c_identifier): Likewise.
7022         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
7023         (pp_c_initializer): Adjust prototype.
7024         (pp_c_init_declarator): Likewise.
7025         (pp_c_initializer_list): Likewise.
7026         (pp_c_id_expression): Likewise.
7027         (pp_c_postfix_expression): Likewise.
7028         (pp_c_expression_list): Likewise.
7029         (pp_c_unary_expression): Likewise.
7030         (pp_c_cast_expression): Likewise.
7031         (pp_c_multiplicative_expression): Likewise.
7032         (pp_c_additive_expression): Likewise.
7033         (pp_c_shift_expression): Likewise.
7034         (pp_c_relational_expression): Likewise.
7035         (pp_c_equality_expression): Likewise.
7036         (pp_c_and_expression): Likewise.
7037         (pp_c_exclusive_or_expression): Likewise.
7038         (pp_c_inclusive_or_expression): Likewise.
7039         (pp_c_logical_and_expression): Likewise.
7040         (pp_c_logical_or_expression): Likewise.
7041         (pp_c_conditional_expression): Likewise.
7042         (pp_c_assignment_expression): Likewise.
7043         (pp_c_expression): Likewise.  Tidy.
7044         (pp_c_statement): Likewise.  Document.
7045         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
7046
7047         * c-lang.c (c_initialize_diagnostics): Update.
7048         * c-common.h (strip_pointer_operator): Declare.
7049         * c-common.c (strip_pointer_operator): Define.
7050
7051 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
7052
7053         PR c++/8795
7054         * tree.h (build_method_type_directly): Declare.
7055         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
7056         (vector_size_helper): Likewise.
7057         * tree.c (build_method_type_directly): New function.
7058         (build_method_type): Use it.
7059
7060 2003-08-24  Richard Henderson  <rth@redhat.com>
7061
7062         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
7063         for 16-byte vector modes if sse not enabled; warn for abi change.
7064         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
7065
7066 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
7067
7068         * rtlanal.c (may_trap_p): Simplify an integer comparison.
7069
7070 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
7071
7072         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
7073         comment.  Enable for DYNIX/ptx systems (when they switch to
7074         regular fixincludes).
7075         * fixinc/fixincl.x: Regenerate.
7076
7077 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7078
7079         * config/i860/t-i860: New.
7080         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
7081
7082 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
7083
7084         * c-decl.c (pushdecl): Only put decls which finish_struct will do
7085         something about onto incomplete chain.
7086         (finish_struct): If not removing type from incomplete
7087         list, update prev.
7088
7089 2003-08-20  Jan Hubicka  <jh@suse.cz>
7090
7091         PR target/11369
7092         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
7093
7094         PR target/11031
7095         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
7096         const_0_to_15_operand, const_0_to_255_operand): New predicates.
7097         * i386.h (PREDICATE_CODES): Add these.
7098         * i386.c (pinsrw and pextrw patterns): Use them.
7099
7100         PR target/10984
7101         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
7102
7103         PR target/8869
7104         * expr.c (convert_modes): Deal properly with integer to vector
7105         constant conversion.
7106
7107         PR target/8871
7108         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
7109
7110 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7111
7112         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
7113         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
7114         ("*movhi"): ... this.
7115         ("movqi", "*movqi"): Likewise.
7116         ("movqi_64"): Remove.
7117         ("*zero_extendhisi2_31"): Change predicate to s_operand.
7118
7119 2003-08-23  Dale Johannesen  <dalej@apple.com>
7120         * calls.c (emit_library_call_value_1): Fix obvious errors in
7121         arguments to emit_group_store.
7122
7123 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7124
7125         * calls.c (emit_library_call_value_1): Remove code related
7126         to LIBGCC_NEEDS_DOUBLE.
7127         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
7128         * doc/tm.texi: Likewise.
7129         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
7130
7131 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
7132
7133         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
7134
7135 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
7136
7137         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
7138         as well.  Put memory references in the varargs alias set.
7139         (mips_expand_prologue): Remove varargs handling from here.
7140
7141 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7142
7143         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
7144         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
7145         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
7146         for function pointer calls.
7147         * config/s390/s390.md ("*negdi2_31"): Likewise.
7148
7149 2003-08-23  Roger Sayle  <roger@eyesopen.com>
7150
7151         * combine.c (apply_distributive_law): Correct comment.
7152
7153 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7154
7155         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
7156
7157 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7158
7159         * config/i860/i860.c (i860_build_va_list): Create the va_decl
7160         declaration.  Document the va_list structure.
7161         (i860_va_start): Initialize the va_list structure.
7162         (i860_va_arg): Rewrite completely.
7163         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
7164         * config/i860/varargs.asm: Do not allocate or initialize
7165         a va_list.  Return the address of the register save area.
7166
7167 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7168
7169         * config/iq2000/iq2000.c: Fix comment typos.
7170         * config/iq2000/iq2000.md: Likewise.
7171
7172 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7173
7174         * config/iq2000/iq2000.c: Follow spelling conventions.
7175         * config/iq2000/iq2000.h: Likewise.
7176         * config/mn10300/mn10300.c: Likewise.
7177
7178 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7179
7180         * config/i860/i860.c (output_move_double): Don't set latehalf
7181         to zero for CONST_INT (since it could be, e.g., -1).
7182
7183         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
7184         (MODSI3_LIBCALL): ...with this one.
7185         (UREMSI3_LIBCALL): Replace this macro...
7186         (UMODSI3_LIBCALL): ...with this one.
7187
7188 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7189
7190         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
7191         (output_delayed_branch): Remove prototype.
7192         (single_insn_src_p): Remove prototype.
7193         * config/i860/i860.c (single_insn_src_p): Remove function.
7194         (output_delayed_branch): Remove function.
7195         (output_delay_insn): Remove function.
7196         (va_start): Remove unconditional test and dead code, re-format.
7197         Fix coding style and spelling problems in various comments.
7198         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
7199         (blockage pattern): ...and use it here.
7200         (all define_peephole patterns related to delayed branches): Remove.
7201         Fix coding style and spelling problems in various comments.
7202
7203 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7204
7205         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
7206         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
7207         Convert all function definitions from traditional to ISO C90 syntax.
7208         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
7209         with 'GCC'.  Remove all uses of the PARAMS macro.
7210         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
7211         * config/i860/i860.md: Likewise.
7212         * config/i860/sysv4.h: Likewise.
7213         * config/i860/varargs.asm: Likewise.
7214
7215 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7216
7217         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
7218         argument.
7219         (tdesc_section): Add prototype.
7220         Update copyright dates.
7221         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
7222         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
7223         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
7224         (targetm): Likewise.
7225         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
7226         for '%d' where necessary.
7227         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
7228         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
7229         by UNITS_PER_WORD when referencing (likewise for .floats).
7230         (I860_SVR4_VARARGS): Rename...
7231         (I860_SVR4_VA_LIST): ...to this.
7232         Call build() with 't' rather than 'field'.
7233         (i860_rtx_costs): New function.
7234         (TARGET_RTX_COSTS): Define.
7235         (i860_internal_label): New function.
7236         (TARGET_ASM_INTERNAL_LABEL): Define.
7237         (i860_file_start): New function.
7238         Update copyright dates.
7239         * config/i860/i860.h (CPP_PREDEFINES): Remove.
7240         (TARGET_CPU_CPP_BUILTINS): Define.
7241         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
7242         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
7243         (ASM_FILE_START): Remove.
7244         (ASM_FILE_START_1): Remove.
7245         (ASM_GLOBALIZE_LABEL): Remove.
7246         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
7247         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
7248         with targetm.asm_out.internal_label.
7249         Update copyright dates.
7250         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
7251         (CPP_PREDEFINES): Remove.
7252         (TARGET_OS_CPP_BUILTINS): Define.
7253         (GLOBAL_ASM_OP): Define.
7254         (ASM_FILE_START): Remove.
7255         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
7256         (TARGET_ASM_FILE_START): Define.
7257         Update copyright dates.
7258
7259 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7260
7261         * gcc/config.gcc (i860-*-sysv4*): Add target.
7262         * config/i860/i860-protos.h: New.
7263         * config/i860/i860.c: New.
7264         * config/i860/i860.h: New.
7265         * config/i860/i860.md: New.
7266         * config/i860/sysv4.h: New.
7267         * config/i860/varargs.asm: New.
7268         * config/i860/x-sysv4: New.
7269
7270 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7271
7272         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
7273         Remove all uses of PARAMS macro.
7274         Convert all function definitions to ISO C90 syntax.
7275         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
7276         * config/pa/fptr.c: Likewise.
7277         * config/pa/lib2funcs.asm: Likewise.
7278         * config/pa/long_double.h: Likewise.
7279         * config/pa/milli64.S: Likewise.
7280         * config/pa/pa-64.h: Likewise.
7281         * config/pa/pa-hpux.h: Likewise.
7282         * config/pa/pa-hpux10.h: Likewise.
7283         * config/pa/pa-hpux11.h: Likewise.
7284         * config/pa/pa-linux.h: Likewise.
7285         * config/pa/pa-modes.def: Likewise.
7286         * config/pa/pa-osf.h: Likewise.
7287         * config/pa/pa-pro-end.h: Likewise.
7288         * config/pa/pa.md: Likewise.
7289         * config/pa/pa32-linux.h: Likewise.
7290         * config/pa/pa64-linux.h: Likewise.
7291         * config/pa/pa64-hpux.h: Likewise.
7292         * config/pa/pa64-regs.h: Likewise.
7293         * config/pa/quadlib.c: Likewise.
7294         * config/pa/rtems.h: Likewise.
7295         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
7296         all uses of the PARAMS macro.
7297         * config/pa/pa.h: Likewise.
7298         * config/pa/som.h: Likewise.
7299
7300         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
7301         Remove all uses of PARAMS macro.
7302         Convert all function definitions to ISO C90 syntax.
7303         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
7304         Remove all uses of PARAMS macro.
7305         * config/iq2000.h: Remove all uses of PARAMS macro.
7306         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
7307
7308 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7309
7310         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
7311         * config/s390/s390.c (gen_consttable): Remove.
7312         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
7313         (s390_output_pool_entry): New function.
7314         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
7315         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
7316         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
7317         (UNSPECV_POOL_ENTRY): ... this new constant.
7318         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
7319         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
7320         ("*pool_entry"): ... and replace by this new insn.
7321         ("literal_pool_31"): Do not emit anchor label if pool empty.
7322
7323         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
7324         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
7325         (s390_fixup_clobbered_return_reg): Remove.
7326         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
7327         (s390_return_addr_rtx): Always retrieve return address from save area
7328         slot.  Use save_return_addr_p to force slot to be filled.
7329         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
7330
7331 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
7332
7333         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
7334         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
7335         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
7336         around SB-1 errata if TARGET_FIX_SB1 is set.
7337         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
7338         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
7339
7340 2003-08-22  Roger Sayle  <roger@eyesopen.com>
7341
7342         * hashtable.c (ht_expand): Avoid calculating rehash for the common
7343         case that the first probe hits an empty hash table slot.
7344
7345 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
7346
7347         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
7348
7349 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
7350
7351         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
7352         (ptr_extend_plus_imm): ... this.
7353         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
7354         optimization in C++.
7355         (ia64_output_mi_thunk): Support ILP32 mode.
7356
7357 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
7358
7359         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
7360         function.
7361         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
7362
7363 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7364
7365         * config/i386/i386.c (const_int_1_operand): Simplify an
7366         integer comparison.
7367
7368 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
7369
7370         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
7371         * config/rs6000/ppc64-fp.c: Likewise.
7372
7373 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7374
7375         * cfgcleanup.c: Fix comment typos.
7376         * emit-rtl.c: Likewise.
7377         * optabs.c: Likewise.
7378         * ra-build.c: Likewise.
7379         * rtlanal.c: Likewise.
7380         * tree.h: Likewise.
7381
7382 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7383
7384         * c-decl.c: Fix comment formatting.
7385         * cfgrtl.c: Likewise.
7386         * combine.c: Likewise.
7387         * convert.c: Likewise.
7388         * dominance.c: Likewise.
7389         * dwarf2out.c: Likewise.
7390         * dwarfout.c: Likewise.
7391         * expmed.c: Likewise.
7392         * fold-const.c: Likewise.
7393         * gcov.c: Likewise.
7394         * genattrtab.c: Likewise.
7395         * ggc-common.c: Likewise.
7396         * mips-tfile.c: Likewise.
7397         * regmove.c: Likewise.
7398
7399 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7400
7401         * builtin-attrs.def: Fix comment formatting.
7402         * c-pretty-print.c: Likewise.
7403         * diagnostic.h: Likewise.
7404         * langhooks.h: Likewise.
7405         * recog.c: Likewise.
7406         * simplify-rtx.c: Likewise.
7407         * tree.def: Likewise.
7408
7409 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
7410
7411         * config/m68k/m68k-protos.h: Convert to ISO C90.
7412         * config/m68k/m68k.c: Likewise.
7413
7414 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
7415             Paul Dale  <pauli@snapgear.com>
7416             Peter Barada <peter@baradas.org>
7417
7418         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
7419         ColdFire cores.
7420
7421 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
7422
7423         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
7424         * config.gcc (*-*-openbsd): Don't set tm_file.
7425         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
7426         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
7427         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
7428         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
7429         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
7430         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
7431         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
7432         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
7433         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
7434         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
7435         xscale-*-coff): Use explicit and complete lists of target headers
7436         to include.  Move definitions to tm_defines where appropriate.
7437         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
7438         not-yet-contributed configuration.
7439
7440         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
7441         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
7442         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
7443         * config/i386/nto.h, config/iq2000/iq2000.h,
7444         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
7445         * config/m68k/linux.h, config/m68k/m68k-aout.h
7446         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
7447         * config/m68k/netbsd.h, config/m68k/openbsd.h
7448         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
7449         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
7450         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
7451         Remove includes of other target config headers, and
7452         definitions of macros moved to tm_defines lists.  Add #undefs
7453         where now necessary to prevent redefinition warnings.
7454
7455         * config/h8300/coff.h: New file split out of...
7456         * config/h8300/elf.h: ...here.
7457         * config/m68k/hp320base.h: New file split out of...
7458         * config/m68k/hp320.h: ...here.
7459         * config/rs6000/lynxbase.h: New file split out of...
7460         * config/rs6000/lynx.h: ...here.
7461
7462         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
7463         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
7464
7465         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
7466         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
7467         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
7468         Remove unnecessary #ifndef.
7469         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
7470         [under IN_LIBGCC2] with config/.
7471
7472 2003-08-21  Per Bothner  <pbothner@apple.com>
7473
7474         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
7475         to cpp_push_buffer.
7476         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
7477         by return_at_eof check.  Always call _cpp_pop_buffer at end.
7478
7479 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
7480
7481         PR target/11805
7482         * config/h8300/h8300.md (two anonymous patterns): Remove.
7483
7484 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
7485
7486         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
7487         * config/mips/mips.c (function_arg_pass_by_reference): Never return
7488         true for n32 & n64.
7489
7490 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
7491
7492         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
7493         and similarly in (A | C) == D where C & ~D != 0.
7494
7495 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
7496
7497         PR 8180
7498         * configure.in: When testing with_libs and with_headers, treat
7499         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
7500         * configure: Regenerate.
7501
7502 2003-08-20  Peter Barada <peter@baradas.org>
7503
7504         * longlong.h (umul_ppmm): Add ColdFire support.
7505
7506 2003-08-20  Peter Barada <peter@baradas.org>
7507             Bernardo Innocenti  <bernie@develer.com>
7508
7509         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
7510         * config/m68k/m68k.h: Likewise.
7511         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
7512         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
7513         * config/m68k/linux.h: Likewise.
7514         * config/m68k/m68k.c: Likewise.
7515         * config/m68k/m68k.md: Likewise.
7516         * config/m68k/m68kelf.h: Likewise.
7517         * config/m68k/netbsd-elf.h: Likewise.
7518         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
7519
7520 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
7521
7522         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
7523         * config/m68k/m68k.md: Likewise.
7524
7525 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
7526
7527         PR java/11996
7528         Revert this change:
7529         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
7530         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
7531         types with precisions other than those given by native machine
7532         modes.
7533
7534 2003-08-20  Gunther Nikl  <gni@gecko.de>
7535
7536         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
7537         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
7538         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
7539         * config/m68k/m68k.md (anonymous define_insn): Likewise
7540         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
7541         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
7542         code selected by NO_ASM_FMOVECR
7543
7544 2003-08-20  Gunther Nikl  <gni@gecko.de>
7545
7546         * config/m68k/m68k.c (output_move_const_into_data_reg,
7547         output_move_himode): unify MOTOROLA/MIT handling of moveq
7548         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
7549         Likewise
7550
7551 2003-08-20  Gunther Nikl  <gni@gecko.de>
7552
7553         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
7554         label name
7555         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
7556         HOST_WIDE_INT_PRINT_DEC with %wd
7557
7558 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
7559
7560         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
7561         redefine warning.
7562
7563 2003-08-20  Roger Sayle  <roger@eyesopen.com>
7564
7565         PR middle-end/11984
7566         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
7567         operands before calling tree_int_cst_lt when performing associative
7568         transformations.
7569
7570 2003-08-20  Jason Merrill  <jason@redhat.com>
7571
7572         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
7573         (EXPR_CHECK): Don't check for 'r' or 's' if we're
7574         checking IS_EXPR_CODE_CLASS.
7575         * calls.c (calls_function_1): Likewise.
7576         * fold-const.c (fold): Likewise.
7577         * tree.c (iterative_hash_expr): Likewise.
7578         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
7579
7580 2003-08-20  Gunther Nikl  <gni@gecko.de>
7581
7582         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
7583         depending on MOTOROLA_BSR
7584         * config/m68k/m68k.md (anonymous define_insn): Likewise
7585
7586 2003-08-20  Jason Merrill  <jason@redhat.com>
7587
7588         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
7589         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
7590         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
7591         * dojump.c (do_jump): Likewise.
7592         * fold-const.c (operand_equal_p, fold): Likewise.
7593         (tree_expr_nonnegative_p): Likewise.
7594
7595         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
7596         TYPE_USER_ALIGN for FIELD_DECLs.
7597
7598         * attribs.c (decl_attributes): Rebuild the function pointer type after
7599         changing the target type.
7600         * tree.c (get_qualified_type): Also check that the attributes match.
7601
7602 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
7603
7604         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
7605         * objc/config-lang.in (stagestuff): ... to here.
7606
7607 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
7608
7609         PR c++/11946
7610         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
7611         NOP_EXPR) when necessary.
7612         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
7613         types with precisions other than those given by native machine
7614         modes.
7615
7616 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
7617
7618         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
7619         because some macro is defined.
7620
7621         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
7622         options.
7623         * config/i386/darwin.h (ASM_SPEC): New.
7624         (SUBTARGET_EXTRA_SPECS): New.
7625         * config/rs6000/darwin.h (ASM_SPEC): New.
7626         (SUBTARGET_EXTRA_SPECS): New.
7627         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
7628         a cross-compiler between two different processors on Darwin.
7629         * configure: Regenerate.
7630
7631 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
7632
7633         * builtins.c: Fix comment typos.
7634         * c-common.c: Likewise.
7635         * c-decl.c: Likewise.
7636         * c-pretty-print.c: Likewise.
7637         * cfgbuild.c: Likewise.
7638         * cfglayout.c: Likewise.
7639         * cfgloopanal.c: Likewise.
7640         * cgraphunit.c: Likewise.
7641         * cppfiles.c: Likewise.
7642         * dwarfout.c: Likewise.
7643         * expr.c: Likewise.
7644         * fold-const.c: Likewise.
7645         * gcse.c: Likewise.
7646         * ggc-page.c: Likewise.
7647         * haifa-sched.c: Likewise.
7648         * pretty-print.c: Likewise.
7649         * tree.c: Likewise.
7650         * tree.h: Likewise.
7651         * value-prof.c: Likewise.
7652
7653 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
7654
7655         * c-decl.c: Follow spelling conventions.
7656         * cppfiles.c: Likewise.
7657
7658 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
7659
7660         * c-common.c: Fix comment formatting.
7661         * c-common.h: Likewise.
7662         * c-decl.c: Likewise.
7663         * cppinit.c: Likewise.
7664         * cpplib.h: Likewise.
7665         * emit-rtl.c: Likewise.
7666         * input.h: Likewise.
7667         * line-map.h: Likewise.
7668         * opts.c: Likewise.
7669         * opts.h: Likewise.
7670         * simplify-rtx.c: Likewise.
7671
7672 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
7673
7674         * unwind-c.c: Add libgcc-style exception.
7675         * unwind-dw2.c: Likewise.
7676         * unwind-pe.h: Likewise.
7677         * unwind-sjlj.c: Likewise.
7678         * unwind.inc: Likewise.
7679
7680 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
7681
7682         PR c/5582 PR c++/10538
7683         * langhooks-def.h (lhd_decl_uninit): Declare.
7684         (LANG_HOOKS_DECL_UNINIT): New macro.
7685         (LANG_HOOKS_INITIALIZER): Adjust.
7686         * langhooks.h (struct lang_hooks): Add new field
7687         decl_uninit.
7688         * langhooks.c (lhd_decl_uninit): Define.
7689         * c-common.c (c_decl_uninit_1): New function.
7690         (c_decl_uninit): New function.
7691         (warn_init_self): Define.
7692         * c-common.h (c_decl_uninit): Declare.
7693         (warn_init_self): Declare.
7694         * c.opt: Introduce -Winit-self.
7695         * c-opts.c (c_common_handle_options): Set warn_init_self.
7696         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
7697         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
7698         * function.c (uninitialized_vars_warning): Call the language hook.
7699         * doc/invoke.texi: Document -Winit-self.
7700
7701 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
7702
7703         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
7704         to use better predicates and constraints.  Define new
7705         instruction to handle "trap_if" with DI-mode arguments.
7706         (conditional_trap): FAIL if trap code is not 0.
7707
7708 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
7709
7710         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
7711         strstr with $pb to a strcompare with "<pic base>"
7712         (ix86_output_addr_diff_elt): Output the real pic base.
7713
7714 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7715
7716         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
7717         (LANG_HOOKS_INITIALIZER): Correct.
7718         * c-lang.c: Likewise.
7719
7720 2003-08-19  Jan Hubicka  <jh@suse.cz>
7721
7722         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
7723         (cgraph_varpool_mark_needed_node): Likewise.
7724         * cgraph.h (notice_global_symbol): Declare
7725         * varasm.c (notice_global_symbol): Break out from ...
7726         (assemble_start_function): ... here; update for variables.
7727         (assemble_variable): Use notice_global_symbol.
7728
7729 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
7730
7731         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
7732         expect SFmode and DFmode arguments to be passed in FPRs,
7733         regardless of the underlying type.
7734
7735 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
7736
7737         PR target/11924
7738         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
7739         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
7740
7741 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
7742
7743         PR c/11207
7744         * c-typeck.c (set_init_index): Check for negative index.
7745
7746 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
7747
7748         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
7749         call0 ABI.
7750         * config/xtensa/crtn.asm (_init, _fini): Likewise.
7751         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
7752         __umodsi3, __modsi3): Likewise.
7753         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
7754         $(INCLUDES).
7755
7756 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
7757
7758         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
7759
7760 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
7761
7762         * config/mips/mips.md: Quote C code in braces.  Remove use of
7763         fake const0_rtx operands.  Remove double backslashes.  Use \;.
7764         Remove workarounds for bogus warnings.
7765
7766 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
7767
7768         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
7769         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
7770         rather than TARGET_MIPS4300.
7771         (mulsf3_internal, mulsf3_r4300): Likewise.
7772
7773 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
7774
7775         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
7776
7777 2003-08-17  Roger Sayle  <roger@eyesopen.com>
7778
7779         * simplify-rtx.c (associative_constant_p): New function to test
7780         whether an RTX expression is an immediate constant.
7781         (simplify_associative_operation): New function to perform some
7782         reassociation optimizations of associative binary expressions.
7783         (simplify_binary_operation): Use simplify_associative_operation
7784         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
7785         Floating point expressions are only reassociated when unsafe
7786         math optimizations are permitted.
7787
7788 2003-08-17  Andreas Jaeger  <aj@suse.de>
7789
7790         * config/alpha/alpha.md: Remove usage of PARAMS.
7791
7792         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
7793         * config/i386/i386-interix.h: Likewise.
7794         * config/i386/winnt.c: Likewise.
7795         * config/i386/cygming.h: Likewise.
7796         * config/i386/cygwin2.c: Likewise.
7797         * config/darwin.c: Likewise.
7798         * config/darwin-c.c: Likewise.
7799         * config/darwin-protos.h: Likewise.
7800         * config/darwin.h: Likewise.
7801         * config/s390/s390-protos.h: Likewise.
7802         * config/s390/s390.c: Likewise.
7803         * config/ia64/ia64.c: Likewse
7804         * config/ia64/ia64-protos.h: Likewise.
7805         * config/ia64/ia64-c.c: Likewise.
7806
7807 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7808
7809         * config/sparc/sparc.c: Convert to ISO C.
7810
7811         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
7812         * config/sparc/sparc.c: Likewise.
7813
7814 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
7815
7816         PR c++/11512
7817         * stmt.c (expand_expr_stmt_value): Don't warn about any void
7818         typed expression.
7819
7820 2003-08-16  Jan Hubicka  <jh@suse.cz>
7821
7822         * i386.c (ix86_fntype_regparm): Rename from ...
7823         (ix86_function_regparm): ... this one; add fastcall and local
7824         functions.
7825         (ix86_function_ok_for_sibcall): Update.
7826         (ix86_return_pops_args): Likewise.
7827         (init_cumulative_args): Likewise.
7828         (x86_can_output_mi_thunk): Likewise.
7829         (function_arg): Fix formating.
7830         (x86_this_parameter): Fix fastcall.
7831         (x86_output_mi_thunk): Likewise.
7832
7833         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
7834         body as reachable; mark nested functions as needed too.
7835         (dump_cgraph): Do not output global.calls.
7836         * cgraph.h (cgraph_global_info): Kill.
7837         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
7838         (record_call_1): Speedup.
7839         (cgraph_analyze_function): Break out from ...; compute inlining
7840         parameters.
7841         (cgraph_finalize_compilation_unit): ... here.
7842         (cgraph_mark_inline): Kill computation of calls.
7843         (cgraph_decide_inlining): Do not compute most of initial values.
7844
7845 2003-08-14  Roger Sayle  <roger@eyesopen.com>
7846
7847         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
7848         to negate if either operand is easy to negate, if we don't care
7849         about sign-dependent rounding.
7850         (negate_expr): Make the logic to negate a REAL_CST explicit.
7851         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
7852         that's easy to negate, if we don't honor sign-dependent rounding.
7853         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
7854         negate, and the symmetric A * -B as -A * B if A is easy to negate.
7855         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
7856         -C/D if B and C are cheap to negate.  Add an explicit rule to
7857         optimize X/-1.0 as -X when we don't care about signaling NaNs.
7858
7859 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
7860
7861         * Makefile.in (tm_file): Rename tm_include_list.
7862         (tm_p_file): Rename tm_p_include_list.
7863         (build_xm_file): Rename build_xm_include_list.
7864         (host_xm_file): Rename host_xm_include_list.
7865         (xm_file): Rename xm_include_list.
7866         (xm_file_list): Add to be substituted.
7867         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
7868         Update to match.
7869         (bt-load.o): Add missing dependency on $(TM_H).
7870         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
7871         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
7872         build_xm_file, generate both *_file_list and *_include_list
7873         values from it.  (xm_file_list was formerly not being generated.)
7874         In *_include_list, prefix the names of all headers found in
7875         $(srcdir)/config with config/.  In each loop, consider only
7876         the special case files that can actually appear in that list.
7877         AC_SUBST all *_file_list and all *_include_list variables; do
7878         not AC_SUBST the plain *_file variables.
7879         * configure: Regenerate.
7880
7881 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7882
7883         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
7884
7885 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7886
7887         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
7888         direct calls.
7889         (attr_length_call): Include it here.  Improve length estimate for
7890         local calls.
7891         (output_call): Use targetm.binds_local_p.
7892
7893 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7894
7895         * builtins.c (CASE_MATHFN): New helper macro.
7896         (mathfn_built_in): Simplify and sort.
7897
7898         * protoize.c (substr): Delete, callers changed to `strstr'.
7899
7900 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
7901
7902         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
7903         * config/iq2000/xm-iq2000.h: Delete file.
7904
7905 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
7906
7907         * gengtype.c (walk_type): Process a subobject before processing
7908         the pointer that points to the subobject.
7909
7910 2003-08-13  Per Bothner  <pbothner@apple.com>
7911
7912         * regclass.c (init_reg_modes):  Make non-static.
7913         Rename to init_reg_modes_once per new naming convention.
7914         (init_regs):  Don't call init_reg_modes here.
7915         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
7916         * rtl.h (init_reg_modes_once):  New declaration.
7917         * toplev.c (backend_init):  Call init_regs after init_emit_once.
7918
7919 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
7920
7921         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
7922         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
7923
7924 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
7925
7926         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
7927         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
7928
7929 2003-08-13  Dale Johannesen  <dalej@apple.com>
7930
7931         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
7932         handling of decrement-and-branch farther than 32 bits.
7933
7934 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
7935
7936         * configure.in (make_compare_target): Move test to ...
7937         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
7938         * configure: Regenerate.
7939
7940 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
7941
7942         * config/mips/iris6.h: Convert to C90 prototypes.
7943         * config/mips/irix6-libc-compat.c: Likewise.
7944         * config/mips/mips-protos.h: Likewise.
7945         * config/mips/mips.c: Likewise.
7946
7947 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
7948
7949         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
7950         for selected machines.  Comment heavily.
7951         fixinc/fixincl.x: Rebuild.
7952         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
7953
7954 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
7955
7956         * config/mips/mips.h: Tweak various comments.
7957         * config/mips/mips.c: Likewise.
7958
7959 2003-08-11  James E Wilson  <wilson@tuliptree.org>
7960
7961         PR optimization/11319
7962         PR target/10021
7963         * alias.c (find_base_value, case REG): Return 0 not src if no base
7964         found.
7965
7966 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7967
7968         * gcse.c (gmalloc): Fix last change.
7969
7970 2003-08-11  Roger Sayle  <roger@eyesopen.com>
7971
7972         * simplify-rtx.c (simplify_binary_operation): Replace calls to
7973         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
7974         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
7975         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
7976
7977 2003-08-11  Roger Sayle  <roger@eyesopen.com>
7978
7979         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
7980         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
7981         typecode for an ABS_EXPR.
7982
7983         * doc/c-tree.texi: Document ABS_EXPR.
7984
7985 2003-08-11  Roger Sayle  <roger@eyesopen.com>
7986
7987         * fold-const.c (fold): Optimize any associative floating point
7988         operator with -funsafe-math-optimizations, not just MULT_EXPR.
7989
7990 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
7991
7992         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
7993         information in SHmedia case too.
7994         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
7995         Likewise.
7996         (__set_fpscr): Use an access via GOT for PIC case.
7997
7998 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
7999
8000         * configure.in (intermodule): Make switch test more portable.
8001         * configure: Regenerate.
8002
8003 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
8004
8005         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
8006         (restrap): Likewise.
8007
8008 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8009
8010         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
8011         (grealloc): Size argument is a size_t.
8012         (gcalloc): New function.  Use throughout in lieu of
8013         gmalloc/memset.
8014
8015         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
8016         xmalloc/memset.
8017         * config/ia64/ia64.c (ia64_reorg): Likewise.
8018         * conflict.c (conflict_graph_new): Likewise.
8019         * fixinc/fixincl.c (run_compiles): Likewise.
8020         * genattrtab.c (optimize_attrs): Likewise.
8021         * genrecog.c (new_decision): Likewise.
8022         * haifa-sched.c (schedule_block): Likewise.
8023         * hashtable.c (ht_create): Likewise.
8024
8025 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
8026
8027         * config/xtensa/lib2funcs.S: Fix whitespace.
8028         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
8029         syntax where appropriate.  Remove unnecessary backslash escapes.
8030         Reformat comments and fix some code formatting.
8031         (extendqisi2): Rearrange conditional.
8032         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
8033         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
8034         of fatal_insn.
8035
8036 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
8037
8038         * config/mips/mips.c: Various formatting fixes.
8039         (override_options): Resync -mtune handling with gas.
8040         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
8041         * config/mips/mips.h: More formatting fixes.
8042         (mips_abi): Move declaration.
8043         * config/mips/mips.md (exception_receiver): Add mode to
8044         unspec_volatile.
8045
8046 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
8047
8048         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
8049         evsplatfi here.
8050         (bdesc_1arg): Remove evsplati and evsplatfi.
8051
8052 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
8053
8054         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
8055         into account.
8056
8057 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8058
8059         * builtins.c (expand_builtin_strcat): Optimize constant strings.
8060
8061 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8062
8063         * pretty-print.c (pp_base_indent): Rename from pp_indent.
8064         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
8065         (struct c_pretty_print_info): Add more fields.
8066         (pp_c_left_paren): Move to c-pretty-print.c.
8067         (pp_c_right_paren): Likewise.
8068         (pp_c_left_brace): Likewise.
8069         (pp_c_right_brace): Likewise.
8070         (pp_c_left_bracket): Likewise.
8071         (pp_c_right_bracket): Likewise.
8072         (pp_c_declarator): Declare.
8073         (pp_c_direct_declarator): Likewise.
8074         (pp_c_specifier_qualifier_list): Likewise.
8075         (pp_c_type_id): Likewise.
8076         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
8077         (pp_c_type_qualifier_list): New.
8078         (pp_c_pointer): Likewise.
8079         (pp_c_parameter_type_list): Likewise.
8080         (pp_c_function_definition): Likewise.
8081         (pp_c_id_expression): Likewise.
8082         (pp_c_simple_type_specifier): Tidy.
8083         (pp_c_unary_expression): Likewise.
8084         (pp_c_expression): Likewise.
8085         (pp_c_pretty_printer_init): Likewise.
8086         (pp_c_specifier_qualifier_list): Rework..
8087         (pp_c_abstract_declarator): Likewise.
8088         (pp_c_postfix_expression): Likewise.
8089         (pp_c_primary_expression): Likewise.
8090         (pp_c_cast_expression): Likewise.
8091         (pp_c_direct_abstract_declarator): Likewise.
8092         (pp_c_storage_class_specifier): Likewise.
8093         (pp_c_function_specifier): Likewise.
8094         (pp_c_declaration_specifiers): Likewise.
8095         (pp_c_direct_declarator): Likewise.
8096         (pp_c_declarator): Likewise.
8097         (pp_c_declaration): Likewise.
8098         (pp_c_statement): Likewise.
8099         (pp_c_integer_constant): Rename from pp_c_integer_literal.
8100         (pp_c_character_constant): Rename from pp_c_character_literal.
8101         (pp_c_bool_constant): Rename from pp_c_bool_literal.
8102         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
8103         (pp_c_floating_constant): Rename from pp_c_real_literal.
8104         (pp_c_constant): Rename from pp_c_literal.
8105         * c-lang.c: Include diagnostic.h and c-pretty-print.h
8106         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
8107         (c_initialize_diagnostics): New.
8108         * Makefile.in (c-lang.o): Update dependency.
8109
8110 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
8111
8112         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
8113
8114 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
8115
8116         * config/mips/mips.c (mips_no_mips16_string): Remove.
8117         (override_options): Don't handle -mips16 as part of -mipsN.
8118         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
8119         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
8120         (TARGET_OPTIONS): Remove -mno-mips16.
8121
8122 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
8123
8124         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
8125         (coprocessor2_operand): Likewise.
8126         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
8127         (lookup_name): Remove declaration.
8128         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
8129         (mips16, mips_abicalls): Remove.
8130         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
8131         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
8132         (coprocessor_operand, coprocessor2_operand): Remove.
8133         (override_options): Don't set mips16 or mips_abicalls.
8134         (print_operand): Don't expect SIGN_EXTEND operands.
8135         (mips_secondary_reload_class): Likewise.
8136         (mips_output_conditional_branch): Remove disabled long-branch code.
8137         * config/mips/mips.h (call_used_regs): Remove declaration.
8138         (may_call_alloca): Likewise.
8139         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
8140         (mips_abicalls, mips16): Remove declarations.
8141         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
8142         (CC1_SPEC): Remove outdated comment.
8143         (MIPS_VERSION, MACHINE_TYPE): Remove.
8144         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
8145         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
8146         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
8147         (PUSH_ROUNDING): Likewise.
8148         (ASSEMBLER_SCRATCH_REGNUM): Remove.
8149         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
8150         and mips16 with TARGET_MIPS16.
8151
8152 2003-08-09  Per Bothner  <pbothner@apple.com>
8153
8154         * cppinit.c (cpp_read_main_file):  Split out source-independent
8155         initialization to separate function ...
8156         (cpp_post_options):  New function.
8157         * cppfiles.c (cpp_stack_file):  Rename public name to ...
8158         (_cpp_stack_file):  New internal function name.
8159         * cpplib.h:  Update accordingly.
8160         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
8161         (cpp_read_main_file):  Don't initialize line here.
8162         * c-opts.c (c_common_post_options):  Call cpp_post_options.
8163         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
8164         * fix-header.c (read_scan_file):  Call cpp_post_options.
8165
8166 2003-08-09  Per Bothner  <per@bothner.com>
8167
8168         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
8169
8170 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8171
8172         * pa.c (pa_asm_output_mi_thunk): Fix typo.
8173
8174 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
8175
8176         PR preprocessor/11839
8177         * cppfiles.c (open_file): Handle ENOTDIR.
8178
8179 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
8180
8181         PR target/11699
8182         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
8183
8184 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8185
8186         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
8187         source/destination is not a register operand.
8188
8189 2003-08-08  Richard Henderson  <rth@redhat.com>
8190
8191         PR target/11535
8192         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
8193         RETURN_ADDRESS_POINTER_REGNUM.
8194         (ia64_expand_prologue): Don't frob it.
8195         (ia64_output_function_epilogue): Likewise.
8196         (ia64_return_addr_rtx): New.
8197         (ia64_split_return_addr_rtx): New.
8198         * config/ia64/ia64-protos.h: Update.
8199         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
8200         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
8201         (GENERAL_REGNO_P): Don't check it.
8202         (AR_*_REGNUM): Renumber.
8203         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
8204         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
8205         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
8206         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
8207         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
8208         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
8209         (movdi_ret_addr): New.
8210
8211 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
8212
8213         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
8214
8215 2003-08-08  Roger Sayle  <roger@eyesopen.com>
8216
8217         * tree.h (get_identifier) Define a macro form of get_identifier
8218         that calls get_identifier_with_length when the string is constant.
8219         (get_identifier_with_length): Change type of second argument to
8220         size_t in prototype.
8221         * stringpool.c (get_identifier): Undefine the macro before giving
8222         the function definition.
8223         (get_identifier_with_length): Change  type of second argument to
8224         size_t in function definition.
8225         * hashtable.c (calc_hash): Change type of second argument to size_t.
8226         (ht_lookup): Change type of third argument to size_t.  Reorganize
8227         to speed-up the cases where the hash table slot is empty, or the
8228         first probe matches (i.e. there isn't a collision).
8229         * hashtable.h (ht_lookup): Adjust function prototype.
8230
8231 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
8232
8233         PR target/9697
8234         PR target/11777
8235         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
8236
8237 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
8238
8239         * common.opt: Add debug switches.
8240         * flags.h (use_gnu_debug_info_extensions): Boolify.
8241         * opts.c (write_symbols, debug_info_level,
8242         use_gnu_debug_info_extensions): Move from toplev.c.
8243         (set_debug_level): New.
8244         (common_handle_options): Handle debug switches.
8245         (print_help): Display target options directly.
8246         * toplev.c (debug_hooks): Don't initialize.
8247         (write_symbols, debug_info_level,
8248         use_gnu_debug_info_extensions): Move to opts.c.
8249         (debug_args, display_help, decode_g_option): Remove.
8250         (process_options): Set no debug if level zero here,
8251         and no-debug-hooks.  Error here if impossible debug format selected.
8252         * toplev.h (display_help, decode_g_option): Remove.
8253
8254 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
8255
8256         * tree.c (get_file_function_name_long): Fix size of alloca() area.
8257
8258 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
8259
8260         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
8261         and gcc_cv_prog_cmp_skip.
8262         * configure: Regenerate.
8263
8264 2003-08-08  Stan Cox  <scox@redhat.com>
8265
8266         * config/iq2000: New port.
8267         * config.gcc (iq2000-*-elf): Added.
8268         * doc/install.texi (Specific):  Add iq2000 description.
8269
8270 2003-08-08  Andreas Schwab  <schwab@suse.de>
8271
8272         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
8273         and insert missing empty argument.
8274         * configure: Regenerate.
8275
8276 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8277
8278         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
8279         (attr_length_millicode_call): Likewise.
8280         (attr_length_call): Likewise.  Revise some maximum insn lengths.
8281         (attr_length_indirect_call): Likewise.
8282         (output_call): Fix thinko that added extra nop.
8283         * pa.h (IN_NAMED_SECTION_P): Define.
8284
8285         PR c++/11712
8286         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
8287         __STDC_EXT__ when using C++ dialect.
8288
8289 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
8290
8291         * sh.c (calc_live_regs): If the return address pointer is live,
8292         force pr live.
8293         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
8294         for saves / restores.
8295         (sh_expand_epilogue): If sh_media_register_for_return returns a
8296         register number, flag the instructions that restores PR_MEDIA_REG
8297         as possibly dead.
8298         Remove dead update of offset.
8299         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
8300         we can use the result of get_hard_reg_initial_val.
8301         * sh.md (UNSPEC_RA): New constant.
8302         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
8303         (load_ra).  Handle UNSPEC_RA.
8304         (sibcall_media): Use PR_MEDIA_REG.
8305
8306         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
8307         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
8308         needs saving on SHmedia.
8309
8310 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
8311
8312         * config/s390/s390.md: Replace all occurrences of \\t with \t.
8313
8314 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
8315
8316         * local-alloc.c (combine_regs): Fix comment typo.
8317
8318 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
8319
8320         * c-decl.c (builtin_decls): Replace with first_builtin_decl
8321         and last_builtin_decl.
8322         (c_init_decl_processing): Initialize both.
8323         (c_reset_state): Iterate from first_builtin_decl to
8324         last_builtin_decl inclusive to reintroduce builtins.
8325
8326 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
8327
8328         * doc/extend.texi (Function Attributes): Document the IA-64 version
8329         of the "model" attribute.
8330
8331         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
8332         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
8333         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
8334
8335         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
8336         (ia64_encode_section_info): Likewise.
8337         (ia64_attribute_table): Add "model" attribute.
8338         (TARGET_ENCODE_SECTION_INFO): Define.
8339         (small_addr_symbolic_operand): New function.
8340         (got_symbolic_operand): Return 0 for a symbolref to an object
8341         in the small address area.
8342         (enum ia64_addr_area): New type.
8343         (small_ident1): New variable.
8344         (small_ident2): Likewise.
8345         (init_idents): New function.
8346         (ia64_get_addr_area): Likewise.
8347         (ia64_encode_addr_area): Likewise.
8348         (ia64_encode_section_info): Likewise.
8349         (ia64_expand_load_address): For symbolic references to objects in
8350         the small-address-area, load the address via gen_rtx_SET() (which,
8351         eventually, will expand into "addl").
8352
8353 2003-08-06  Per Bothner  <pbothner@apple.com>
8354
8355         * line-map.h (fileline):  New typedef.
8356         (struct line_map, linemap_add, linemap_lookup):  Use it.
8357         * input.h (struct location_s):  Comment notes that long-term we want
8358         to replace it by fileline.
8359
8360 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
8361
8362         Fix SHcompact exception handling:
8363         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
8364         by the prologue, return a MEM with return_address_pointer_rtx
8365         as address.
8366         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
8367         (RETURN_ADDR_OFFSET): Don't define.
8368         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
8369         registers that are visible in compact mode.  Show that SHmedia
8370         registers still exist in compact mode, even if there are not
8371         readily accessible.
8372         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
8373         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
8374         and DW_EH_PE_pcrel for pic data.
8375         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
8376         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
8377         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
8378         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
8379         * sh.md (movsi_media-1): New splitter.
8380
8381 2003-08-06  Graeme Peterson <gp@qnx.com>
8382
8383         * config/i386/nto.h: New.
8384         * config/i386/t-nto: New.
8385         * config.gcc (i[34567]86-*-nto-qnx*): New.
8386
8387 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
8388
8389         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
8390
8391 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
8392
8393         * calls.c (load_register_parameters): Arrange for call_fusage to
8394         report the whole register as used when shifting to the msb.
8395
8396 2003-08-05  Roger Sayle  <roger@eyesopen.com>
8397
8398         * builtins.c (expand_builtin): When not optimizing, call the library
8399         function for all builtins that have library functions (except alloca).
8400
8401 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
8402
8403         * c.opt: Introduce -fworking-directory.
8404         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
8405         * c-common.h (flag_working_directory): Declare.
8406         * c-common.c (flag_working_directory): Define.
8407         * c-opts.c (c_common_handle_options): Set it.
8408         (sanitize_cpp_opts): Set...
8409         * cpplib.h (struct cpp_options): ... working_directory option.
8410         (struct cpp_callbacks): Add dir_change.
8411         * cppinit.c (read_original_filename): Call...
8412         (read_original_directory): New.  Look for # 1 "directory//"
8413         and process it.
8414         (cpp_read_main_file): Call dir_change callback if working_directory
8415         option is set.
8416         * gcc.c (cpp_unique_options): Pass -g*.
8417         * c-lex.c (cb_dir_change): New.
8418         (init_c_lex): Set dir_change callback.
8419         * toplev.c (src_pwd): New static variable.
8420         (set_src_pwd, get_src_pwd): New functions.
8421         * toplev.h (get_src_pwd, set_src_pwd): Declare.
8422         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
8423         * dwarf2out.c (gen_compile_unit_die): Likewise.
8424         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
8425
8426 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8427
8428         * pretty-print.h (pp_set_line_maximum_length): Make macro.
8429         (pp_set_prefix): Likewise.
8430         (pp_destroy_prefix): Likewise.
8431         (pp_remaining_character_count_for_line): Likewise.
8432         (pp_clear_output_area): Likewise.
8433         (pp_formatted_text): Likewise.
8434         (pp_last_position_in_text): Likewise.
8435         (pp_emit_prefix): Likewise.
8436         (pp_append_text): Likewise.
8437         (pp_flush): Likewise.
8438         (pp_format_text): Likewise.
8439         (pp_format_verbatim): Likewise.
8440         (pp_tree_identifier): Tidy.
8441         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
8442         (pp_base_format_verbatim): Rename from pp_format_verbatim.
8443         (pp_base_flush): Rename from pp_flush.
8444         (pp_base_set_line_maximum_length): Rename from
8445         pp_set_line_maximum_length.
8446         (pp_base_clear_output_area): Rename from pp_clear_output_area.
8447         (pp_base_set_prefix): Rename from pp_set_prefix.
8448         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
8449         (pp_base_emit_prefix): Rename from pp_emit_prefix.
8450         (pp_base_append_text): Rename from pp_append_text.
8451         (pp_base_formatted_text): Rename from pp_formatted_text.
8452         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
8453         (pp_base_remaining_character_count_for_line): Rename from
8454         pp_remaining_character_count_for_line.
8455         * diagnostic.h (diagnostic_format_decoder): Tidy.
8456         (diagnostic_flush_buffer): Likewise.
8457         * c-pretty-print.h: (pp_c_string_literal): Declare.
8458         (pp_c_real_literal): Likewise.
8459         (pp_c_integer_literal): Likewise.
8460         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
8461         pp_identifier.
8462         (pp_c_character_literal): Tidy.
8463         (pp_c_string_literal): Make public.
8464         (pp_c_bool_literal): Likewise.
8465         (pp_c_integer_literal): Likewise.
8466         (pp_c_real_literal): Likewise.
8467
8468         * Makefile.in (C_PRETTY_PRINT_H): New variable.
8469         (c-pretty-print.o): Update dependence.
8470
8471 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
8472
8473         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
8474         ".set nomacro" state.
8475         (fix_truncsfsi2_macro): Likewise.
8476
8477 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
8478
8479         * tree.h (DID_INLINE_FUNC): Remove macro.
8480         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
8481         add tree check for FUNCTION_DECL.
8482         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
8483         (struct tree_decl): Rename inlined_function_flag to
8484         declared_inline_flag.
8485         * c-common.h (c_lang_decl): Remove.
8486         (DECL_ESTIMATED_INSNS): Remove.
8487         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
8488         (DECL_DECLARED_INLINE_P): Remove.
8489         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
8490         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
8491         (finish_function): Make uninlinable a bool.  Fixup call to
8492         tree_inlinable_function_p() and fix some code style issues.
8493         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
8494         * cgraph.c (dump_cgraph): Likewise.
8495         * cgraphunit.c (cgraph_decide_inlining): Likewise
8496         (cgraph_finalize_compilation_unit): Likewise.
8497         Also update call to tree_inlinable_function_p().
8498         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
8499         look at DECL_DECLARED_INLINE and reverse logic.
8500         * print-tree.c (print_node): Likewise.
8501         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
8502         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
8503         prototype.
8504         * tree-inline.c (inlinable_function_p): Split up in this function to
8505         check for basic inlining inhibiting conditions, and new
8506         limits_allow_inlining() function.  Warn if inlining is impossible
8507         because the inline candidate calls alloca or uses sjlj exceptions.
8508         (limits_allow_inlining): this new function to check if the inlining
8509         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
8510         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
8511         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
8512         Update prototypes.
8513         (tree_inlinable_function_p): Make a bool.  Update call to
8514         inlinable_function_p
8515         (expand_call_inline): Use limits_allow_inlining() when not in
8516         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
8517         instead see if the function was declared `inline'.
8518
8519 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
8520
8521         * gcse.c (try_replace_reg): Fix updating of note.
8522
8523 2003-08-04  Roger Sayle  <roger@eyesopen.com>
8524
8525         PR middle-end/11771
8526         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
8527         logic in negate_expr, i.e. we don't invert (A-B) for floating
8528         point types unless flag_unsafe_math_optimizations.
8529
8530 2003-08-04  Roger Sayle  <roger@eyesopen.com>
8531
8532         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
8533         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
8534         for floating point expressions with -ffast-math.
8535         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
8536         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
8537
8538 2003-08-04  Roger Sayle  <roger@eyesopen.com>
8539
8540         * c-common.c (flag_noniso_default_format_attributes): Delete.
8541         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
8542         (c_attrs_initialized): Delete.
8543         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
8544         always call c_init_attributes.
8545         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
8546         set c_attrs_initialized when done.
8547         (c_common_insert_default_attributes): Delete.
8548         * c-common.h (flag_noniso_default_format_attributes): Delete.
8549         (c_coomon_insert_default_attributes): Delete prototype.
8550         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
8551         flag_noniso_default_format_attributes.
8552
8553         * c-decl.c (c_insert_default_attributes): Delete.
8554         * c-tree.h (c_insert_default_attributes): Delete prototype.
8555
8556         * attribs.c (decl_attributes): Don't call insert_default_attributes
8557         langhook.  Update function description comment.
8558         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
8559         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
8560         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
8561         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
8562
8563         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
8564         define.
8565
8566 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
8567
8568         * config/mips/mips.c (override_options): Disable -G on targets that
8569         have no .section support.
8570         (mips_select_section): Use default_select_section for such targets.
8571
8572 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
8573
8574         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
8575         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
8576         * fixinc/fixincl.x: Rebuild.
8577         * fixinc/tests/base/regexp.h: New test.
8578
8579 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
8580
8581         * c-ppoutput.c (cb_line_change): Don't skip line changing while
8582         parsing macro arguments in the top-level context.
8583
8584 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
8585
8586         * config.in: Remove HAVE_LSTAT.
8587         * configure, configure.in: Don't test for lstat.
8588
8589 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8590
8591         * opts.c (decode_options): Do language-specific initialization for
8592         the global diagnostic context.
8593         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
8594         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
8595         (LANG_HOOKS_INITIALIZER): Adjust.
8596         * langhooks.h (struct lang_hooks): Add new field
8597         initialize_diagnostics.
8598         * langhooks.c (lhd_initialize_diagnostics): Define.
8599
8600 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8601
8602         * pretty-print.h:   Adjust macro definitions.
8603         * pretty-print.c (pp_newline): Rename to pp_base_newline.
8604         (pp_character): Rename to pp_base_character.
8605         (pp_string): Rename to pp_base_string.
8606         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
8607         (pp_newline):  Likewise.  Adjust.
8608         (pp_c_char): Adjust.
8609
8610 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8611
8612         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
8613         BUILT_IN_LLABS): Move to miscellaneous section.
8614
8615 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
8616
8617         PR preprocessor/11534
8618         * cppexp.c (parse_defined): Warn only if -pedantic.
8619
8620 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
8621
8622         * cppfiles.c (stack_file): Use file path.
8623
8624 2003-08-02  Roger Sayle  <roger@eyesopen.com>
8625
8626         * builtin-types.def (BT_SSIZE): New primitive type.
8627         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
8628         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
8629         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
8630         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
8631         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
8632         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
8633         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
8634         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
8635         few functions that define default attributes using it.
8636         * c-common.c (c_common_insert_default_attributes): Do nothing.
8637
8638         * doc/extend.texi: Document these "new" builtins.
8639
8640 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
8641
8642         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
8643         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
8644         when -mieee-fp set and -shared not set.
8645         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
8646
8647 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
8648
8649         * cppfiles.c (struct _cpp_file): Rename once_only_next to
8650         next_file.  Remove import and pragma_once, add once_only.
8651         (find_file): Add new file structures to the all_files list.
8652         (should_stack_file): Mark #import-ed files once-only, and
8653         don't stack them if the file has already been stacked.
8654         (_cp_mark_file_once_only): Simplify.
8655         * cpphash.h (struct cpp_reader): Rename once_only_files
8656         to all_files.  Rename saw_pragma_once to seen_once_only.
8657         (_cpp_mark_file_once_only): Update prototype.
8658         * cpplib.c (do_pragma_once): Update.
8659
8660 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
8661
8662         * cppfiles.c (ENOTDIR): Remove.
8663         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
8664         other than ENOENT here.
8665         (once_only_file_p): Rename should_stack_file.
8666         (find_file, open_file_failed, read_file_guts): Report errors
8667         with full path name.
8668         (read_file): Move pch handling to should_stack_file.
8669         (should_stack_file): Handle PCH and once-only issues, and
8670         reading the file.
8671         (stack_file): Don't do file reads.
8672
8673 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8674
8675         * libgcov.c (gcov_exit): Cleanup and fix.
8676         * profile.c (compute_value_histograms): Don't try to read profiles
8677         that are not present.
8678
8679 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8680
8681         * builtins.def: Categorize.
8682
8683         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
8684         Mind fp rounding.
8685         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
8686
8687 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
8688
8689         * config.gcc: Enable posix threads by default on darwin.
8690
8691 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
8692
8693         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
8694         even if nehedges1 is 0.
8695
8696 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
8697
8698         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
8699         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
8700         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
8701         and defintions.
8702
8703         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
8704         * fixinc/fixincl.x: Regenerate.
8705         * fixinc/tests/base/math.h: Regenerate to match test_text change.
8706
8707 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8708
8709         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
8710
8711 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8712
8713         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
8714         for accesses to exc_ptr.
8715
8716 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
8717
8718         * doc/sourcebuild.texi (Front End Directory): Don't make references
8719         to libsubdir, it's not part of the interface to frontends.
8720         * doc/install.texi (Configuration): Help users read faster by saying
8721         that GCC's configure options are the standard autoconf ones.
8722         Mention --libdir.  Update the default rules for finding the
8723         assembler.  Don't use libsubdir since we haven't said what it means.
8724         (Specific): In the Solaris 7 notes, update the place to put the
8725         assembler.
8726         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
8727         * doc/cpp.texi (Search Path): Actually, the search path
8728         depends on libdir, which can relocate with cpp.
8729         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
8730         now a private interface between the Makefile and the driver.
8731
8732 2003-08-01  Richard Henderson  <rth@redhat.com>
8733
8734         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
8735
8736         * varasm.c (lookup_constant_def): New function.
8737         * rtl.h (lookup_constant_def): Declare it.
8738         * dwarf2out.c (loc_descriptor_from_tree): Use it.
8739         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
8740
8741 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
8742
8743         * c-decl.c (gettags, pushdecl_function_level): Delete.
8744         (last_function_parm_vars): Rename last_function_parm_others.
8745         (current_function_parm_vars): Rename current_function_parm_others.
8746         (struct c_scope): Rewrite comment explaining this data structure.
8747         Add names_last, blocks_last, parms_last fields.  Rename
8748         incomplete_list to incomplete.
8749         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
8750         (poplevel): Ignore second argument.  No need to nreverse
8751         anything.  Restructure such that each list is processed
8752         exactly once.  Use 'const location_t *locus' syntactic sugar
8753         variable where useful.  Issue unused variable warnings
8754         ourselves, do not rely on function.c.
8755         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
8756         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
8757         (implicitly_declare): decl cannot be error_mark_node.
8758         (undeclared_variable): Manipulate scope structure directly.
8759         (c_make_fname_decl): Likewise.
8760         (getdecls, c_init_decl_processing): Fix comment.
8761         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
8762         for 'last' variable.
8763         (grokparms): No need to nreverse parms list.
8764         (store_parm_decls_newstyle): Set up the parms_last and
8765         names_last fields of the new scope too.
8766         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
8767         on parms to begin with; check this under ENABLE_CHECKING.  Set
8768         up parms_last.
8769         (check_for_loop_decls): Refer directly to current_scope->tags.
8770         Use consistent quote style in diagnostics.
8771         (c_write_global_declarations): The names list is not backward.
8772
8773         * c-common.h: Don't prototype gettags.
8774         * c-parse.in: Call poplevel with second argument 0 always.
8775
8776 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8777
8778         * builtins.def: Resort builtins.
8779
8780 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8781
8782         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
8783         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
8784         Prepend "__builtin_" onto NAME with string concatenation.  Remove
8785         explicit "__builtin_" from each macro call.
8786
8787         Reformat entire file.
8788
8789 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8790
8791         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
8792         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
8793
8794 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
8795
8796         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
8797         CCL1, or CCL2 modes with floating point operations.
8798
8799         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
8800         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
8801         "*subdf3_cconly"): New insns.
8802         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
8803
8804 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
8805
8806         * Makefile.in: Refine dependencies.
8807         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
8808         * c.opt: Update help for -Wimport.
8809         * cppfiles.c: Include hashtab.h.  Update comments.
8810         (stack_file): Read the file before updating dependencies.
8811         (once_only_file_p): Be smarter about marking once-only files.
8812         (_cpp_mark_file_once_only): Correct the check for existence on
8813         the list.
8814         (open_file_failed): Use name not path, which is NULL.
8815         * cpphash.h: Don't include hashtab.h.
8816         (struct _cpp_file): Remove.
8817         (struct cpp_reader): Update.
8818         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
8819         * cpplib.h (struct cpp_options): Remove warn_import.
8820         (cpp_simplify_path): Remove.
8821
8822 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
8823
8824         PR c++/11295
8825         * doc/extend.texi (Statement Expressions): Document C++ semantics.
8826
8827 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
8828
8829         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
8830
8831 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8832
8833         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
8834         throughout.
8835         * builtins.def: Likewise.
8836
8837 2003-07-31  Jason Merrill  <jason@redhat.com>
8838
8839         * Makefile.in (bubblestrap): Don't require a previous full
8840         bootstrap.
8841
8842         * expr.c (mostly_zeros_p): No longer static.
8843         * tree.h: Declare it.
8844         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
8845         unless we need to do substitutions.
8846
8847 2003-07-31  Roger Sayle  <roger@eyesopen.com>
8848
8849         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
8850         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
8851         as pow(x,2.0) when the latter will be expanded back into x*x.
8852         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
8853         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
8854         pow can never set errno when used with an integer exponent.
8855         Always use expand_powi when exponent is -1, 0, 1 or 2.
8856         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
8857         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
8858         the pow forms of these expressions.
8859
8860 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
8861
8862         * Makefile.in (libexecdir): New.
8863         (libsubdir): Use gcc instead of gcc-lib.
8864         (libexecsubdir): New.
8865         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
8866         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
8867         gcc-lib.
8868         (installdirs): Make libexecsubdir.
8869         (install-common): Put executables in libexecsubdir.
8870         (itoolsdir): Use libexecsubdir.
8871         (itoolsdatadir): New.
8872         (install-mkheaders): Separate data files and executables.
8873         (install-collect2): Put executables in libexecsubdir.
8874         (uninstall): Remove libexecsubdir.
8875         * mkheaders.in: Update for new arrangement of files.
8876         (libexecdir): New.
8877         (libexecsubdir): New.
8878         (itoolsdir): Use libexecsubdir.
8879         (itoolsdatadir): New.
8880         * gcc.c (gcc_libexec_prefix): New.
8881         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
8882         (standard_exec_prefix_1): Use libexec.
8883         (standard_exec_prefix_2): New.
8884         (standard_libexec_prefix): New.
8885         (process_command): Update for new arrangement of files.  Compute
8886         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
8887
8888 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8889
8890         * inclhack.def (stdio_va_list): Avoid bogus replacement which
8891         triggers on Interix.
8892         * fixincl.x: Regenerate.
8893
8894 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
8895
8896         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
8897         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
8898
8899 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8900
8901         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
8902
8903 2003-07-31  Per Bothner  <pbothner@apple.com>
8904
8905         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
8906         (add_input_filename):  New function.
8907         (handle_options):  Call add_input_filename directly instead of
8908         with a lang hook.
8909         * opts.h (in_fnames, num_in_fnames):  Moved here.
8910         (add_input_filename):  Declare.
8911         * c-decl.c:  Need to #include opts.h.
8912         * Makefile.in (c-decl.o):  Also depends on opts.h.
8913         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
8914         (c_common_handle_filename):  Replaced by add_input_filename.
8915         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
8916         Remove.
8917         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
8918         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
8919         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
8920         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
8921
8922 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8923
8924         * combine.c (try_combine): Set JUMP_LABEL for newly created
8925         unconditional jump.
8926
8927 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8928
8929         * fold-const.c (fold): Fold some comparisons of bit operations.
8930
8931 2003-07-31  Jan Hubicka  <jh@suse.cz>
8932
8933         * cgraph.c (create_edge): Fix typo.
8934         * i386.c (pic_symbolic_operand): Reorder tests.
8935
8936 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
8937
8938         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
8939         more fully.
8940         (Gcov Data Files): Update.
8941
8942 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8943
8944         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
8945         default.
8946
8947         * gthr-posix.c: New file.
8948         * gthr-posix.h: Define _REENTRANT if missing.
8949         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
8950
8951         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
8952         by gthr-posix.o.
8953         * config/alpha/t-osf-pthread: New file.
8954
8955         * fixinc/inclhack.def (alpha_pthread): New fix.
8956         * fixinc/fixincl.x: Regenerate.
8957         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
8958
8959         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
8960         warning.
8961         Fixes PR bootstrap/9330.
8962
8963 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8964
8965         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
8966         without GNU ld.
8967         Update comment.
8968         * configure: Regenerate.
8969
8970 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
8971
8972         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
8973         setter.
8974
8975 2003-07-30  Roger Sayle  <roger@eyesopen.com>
8976
8977         * builtins.def: Alphabetize.
8978
8979 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
8980
8981         * doc/c-tree.texi: Normalize spellings of "lowercase" and
8982         "uppercase".
8983         * doc/cpp.texi: Likewise.
8984         * doc/md.texi: Likewise.
8985         * doc/rtl.texi: Likewise.
8986         * doc/tm.texi: Likewise.
8987
8988 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
8989
8990         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
8991         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
8992         of cc1obj.
8993
8994 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
8995
8996         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
8997         macros before defining them.
8998
8999 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
9000
9001         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
9002         UNSPECV_BLOCKAGE): New constants.
9003         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
9004         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
9005         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
9006         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
9007
9008         (all insns and expanders): Write output control string as brace block
9009         where appropriate.  Remove \-escapes for doublequote characters.
9010
9011 2003-07-31  Jan Hubicka  <jh@suse.cz>
9012
9013         * gcse.c (insert_store): Fix typo in previous patch.
9014
9015 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
9016
9017         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
9018
9019 2003-07-30  Andi Kleen  <ak@muc.de>
9020
9021         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
9022
9023 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9024
9025         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
9026         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
9027         GCOV_N_VALUE_COUNTERS): New.
9028         * profile.c (compute_value_histograms): New static function.
9029         (branch_prob): Read back the value histograms.
9030         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
9031         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
9032         * value-prof.c: Add comment on reading the profile.
9033         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
9034         * doc/invoke.texi (-fprofile-values): Document behavior with
9035         -fbranch-probabilities.
9036
9037 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
9038
9039         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
9040
9041 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
9042
9043         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
9044         symbolically.
9045
9046 2003-07-30  Jan Hubicka  <jh@suse.cz>
9047
9048         * gcse.c (insert_store): Ignore fake edges.
9049
9050         * c-common.c (flag_vtable_gc): Kill.
9051         * c-common.g (flag_vtable_gc): Kill.
9052         * c-opts (c_common_handle_option): Kill.
9053         * c.opt (fvtable-gc): Kill.
9054         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
9055         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
9056         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
9057
9058         * invoke.texi (-ftable-gc): Kill documentation.
9059
9060         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
9061         just because function body is missing.
9062
9063         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
9064
9065 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
9066
9067         * unwind-sjlj.c: Fix typo in file description.
9068
9069 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
9070
9071         * calls.c (load_register_parameters): When shifting reg sized values
9072         to the msb, move the value to a reg first.
9073
9074 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
9075
9076         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
9077         * line-map.h (linemap_add): Update comments.
9078         * line-map.c (linemap_add): Update comments, interpret zero-length
9079         filename as "<stdin>".
9080
9081 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
9082
9083         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
9084
9085 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
9086
9087         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
9088         New static variables.
9089         (struct c_scope): Add parms and warned_forward_parm_decls
9090         fields; remove parm_order.
9091         (storedecls, storetags): Delete.
9092         (poplevel): Also clear bindings on the parms chain.
9093         (pushdecl): Handle forward declarations of parameters, and
9094         chain PARM_DECLs on the parms list, not the names list.
9095         (lookup_name_current_level): Check for PARM_DECLs on the parms
9096         list too.
9097         (push_parm_decl): Don't update parm_order.
9098         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
9099         warning, only once per parameter list, and set TREE_ASM_WRITTEN
9100         on the decls here.  Then move the forward decls to the names list.
9101         (grokparms): Set last_function_parm_vars.
9102         (get_parm_info): Don't use gettags or getdecls.  No need to
9103         extract non-parms from the parms list, or reorganize the parms
9104         list.  Feed nonparms back in the TREE_TYPE of the list node
9105         returned.  Issue only one error per parameter list for "void"
9106         appearing more than once in said parameter list.  Collapse
9107         parmlist_tags_warning into this function to avoid double scan
9108         of tags list.
9109         (start_function): Set current_function_parm_vars.
9110         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
9111         directly.  Get non-parms from current_function_parm_vars; no
9112         need to extract them from the parms chain.  Properly bind tags
9113         in the new scope.
9114         (store_parm_decls_oldstyle): No need to extract non-parameters
9115         from the parms chain, nor to store them back afterward.  Move
9116         declaration to top of function, restructure code reordering
9117         DECL_ARGUMENTS.
9118         (store_parm_decls): No need to save and restore warn_shadow.
9119         * c-parse.in: Don't call parmlist_tags_warning nor
9120         clear_parm_order.  Call mark_forward_parm_decls when forward
9121         parm decls are encountered.
9122         * c-tree.h: Prototype mark_forward_parm_decls; not
9123         clear_parm_order or parmlist_tags_warning.
9124
9125 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
9126
9127         * c-common.c (allow_pch): Remove.
9128         * c-common.h (allow_pch): Remove.
9129         (c_common_no_more_pch): Declare.
9130         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
9131         * c-pch.c: Include hosthooks.h.
9132         (c_common_valid_pch): Don't check allow_pch.
9133         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
9134         (c_common_no_more_pch): New.
9135         * ggc-common.c: Include hosthooks.h.
9136         (gt_pch_save): Call gt_pch_get_address.
9137         (gt_pch_restore): Call gt_pch_use_address.
9138         * hooks.c (hook_voidp_size_t_null): New.
9139         (hook_bool_voidp_size_t_false): New.
9140         * hooks.h (hook_voidp_size_t_null): New.
9141         (hook_bool_voidp_size_t_false): New.
9142         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
9143         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
9144         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
9145         HOST_HOOKS_GT_PCH_USE_ADDRESS.
9146         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
9147         gt_pch_use_address.
9148         * doc/hostconfig.texi (Host Common): Document
9149         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
9150         * Makefile.in (c-pch.o): Depend on hosthooks.h.
9151         (ggc-common.o): Likewise.
9152
9153         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
9154         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
9155         (pch_address_space): New.
9156         (darwin_rs6000_gt_pch_get_address): New.
9157         (darwin_rs6000_gt_pch_use_address): New.
9158
9159 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
9160
9161         PR preprocessor/11569
9162         PR preprocessor/11649
9163         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
9164         * cppfiles.c: Completely rewritten.
9165         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
9166         struct cpp_path is now struct cpp_dir.
9167         (remove_duplicates): Don't simplify path names.
9168         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
9169         cpp_stack_file.
9170         * cpphash.h: Include hashtab.h.
9171         (_cpp_file): Declare.
9172         (struct cpp_buffer): struct include_file is now struct _cpp_file,
9173         and struct cpp_path is now struct cpp_dir.  Rename members.
9174         (struct cpp_reader): Similarly.  New members once_only_files,
9175         file_hash, file_hash_entries, quote_ignores_source_dir,
9176         no_search_path, saw_pragma_once.  Remove all_include_files and
9177         max_include_len.  Make some members bool.
9178         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
9179         (_cpp_stack_file): Renamed from _cpp_read_file.
9180         (_cpp_stack_include): Renamed from _cpp_execute_include.
9181         (_cpp_init_files): Renamed from _cpp_init_includes.
9182         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
9183         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
9184         (cpp_read_next_file): Rename and move to cppfiles.c.
9185         (cpp_read_main_file): Update.
9186         * cpplib.c (run_directive): Update for renamed members.
9187         (do_include_common, _cpp_pop_buffer): Update.
9188         (do_import): Undeprecate #import.
9189         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
9190         * cpplib.h: Remove file_name_map_list.
9191         (cpp_options): Remove map_list.
9192         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
9193         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
9194
9195 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
9196
9197         * Makefile.in:  Make stamp-objdir safe for parallel builds.
9198
9199 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
9200
9201         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
9202         (info):  Depend on stmp-docobjdir.
9203
9204 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9205
9206         * configure: Regenerate.
9207
9208 2003-07-29  Jan Hubicka  <jh@suse.cz>
9209
9210         PR C++/11131
9211         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
9212         in !unit-at-a-time mode.
9213
9214 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
9215
9216         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
9217         main function.
9218
9219 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
9220
9221         PR c++/11667
9222         * c-common.c (shorten_compare): Take into account differences
9223         between C and C++ representation for enumeration types.
9224         * tree.h (set_min_and_max_values_for_integral_type): Declare.
9225         * stor-layout.c (set_min_and_max_values_for_integral_type): New
9226         function, broken out from ...
9227         (fixup_signed_type): ... here and ...
9228         (fixup_unsigned_type): ... here.
9229
9230 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
9231
9232         * c-decl.c: Update commentary, adjust blank lines throughout.
9233         (struct c_scope): Fix indentation.  Reorder members so
9234         outer-context pointers come first, booleans last.
9235         (duplicate_decls, define_label): Use a 'locus' variable for
9236         diagnostic locations in a few more places.
9237         (warn_if_shadowing): Un-split a conditional that fits on one line.
9238         (c_init_decl_processing): No need to clear current_scope and
9239         current_function_scope.
9240         (start_decl): Merge if/else if statements with same action.
9241         (push_parm_decl): Rename old_immediate_size_expand to use
9242         save_foo convention; save/restore around entire function.
9243         (grokdeclarator): Remove unnecessary braces.
9244
9245 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
9246             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
9247
9248         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
9249         when warn_declaration_after_statement.  Call pedwarn_c90, not
9250         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
9251         * c-common.c (warn_declaration_after_statement): Define.
9252         * c-common.h (warn_declaration_after_statement): Declare.
9253         * c.opt (Wdeclaration-after-statement): New.
9254         * c-errors.c (pedwarn_c90): New function.
9255         * c-opts.c (c_common_handle_option) <case
9256         OPT_Wdeclaration_after_statement>: New.
9257         * c-tree.h (pedwarn_c90): Declare.
9258         * doc/invoke.texi (Option Summary): Document
9259         -Wdeclaration-after-statement.
9260         (Warning Options): Ditto.
9261
9262 2003-07-28  Jan Hubicka  <jh@suse.cz>
9263
9264         * i386.md (memory attribute) Avoid accessing uninitialized memory
9265         for ishift1 type instructions.
9266
9267 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
9268
9269         * configure.in (--enable-checking): Add fold category.
9270         (ENABLE_FOLD_CHECKING): Define if requested.
9271         * configure: Rebuilt.
9272         * config.in: Rebuilt.
9273         * doc/install.texi: Document it.
9274         * fold-const.c: Include md5.h.
9275         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
9276         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
9277         print_fold_checksum): New functions.
9278
9279         * fold-const.c (fold): Never modify argument passed to fold, instead
9280         change a copy and return it.
9281         * convert.c (convert_to_integer): Likewise.
9282
9283 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
9284
9285         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
9286         cleanup of junk after #else and #endif directives.  Collapse repeated
9287         clauses into for statment.
9288
9289         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
9290
9291 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
9292
9293         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
9294         (keep_next_if_subblocks): Rename next_is_function_body.
9295         (pushlevel): Adjust commentary.  Always set ->keep on the
9296         outermost level of a function.  Don't set ->keep_if_subblocks.
9297         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
9298         (store_parm_decls): Adjust to match.
9299         (finish_function): Adjust to match.
9300         Call poplevel with all three arguments zero.
9301
9302         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
9303         New functions split out of store_parm_decls.
9304         Avoid unnecessary work. Use local variables consistently.
9305         (store_parm_decls): Likewise.
9306
9307         (finish_function): No need to set functionbody flag on call to
9308         poplevel.
9309         (struct language_function): Remove scope field.
9310         (c_push_function_context, c_pop_function_context): No need to
9311         save and restore current_scope.
9312
9313 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
9314
9315         * doc/extend.texi (Deprecated Features): Implicit typename is
9316         gone. Default args on types is going.
9317
9318 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
9319
9320         * Makefile.in (ifcvt.o): Depend on target.h
9321         * ifcvt.c (target.h): Include.
9322         (if_convert): Don't call mark_loop_exit_edges if we can't
9323         modify jumps.
9324
9325 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9326
9327         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
9328
9329 2003-07-26  Richard Henderson  <rth@redhat.com>
9330
9331         PR inline-asm/11676
9332         * cse.c (count_reg_usage): Handle asm_operands properly.
9333
9334 2003-07-26  Roger Sayle  <roger@eyesopen.com>
9335
9336         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
9337         (DEF_EXT_FALLBACK_BUILTIN): Delete.
9338         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
9339         the regular DEF_EXT_LIB_BUILTIN macro.
9340         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
9341         the regular DEF_LIB_BUILTIN macro.
9342         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
9343         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
9344         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
9345         DEF_EXT_LIB_BUILTIN macro.
9346
9347         * c-decl.c (duplicate_decls): Remove code to handle builtin
9348         functions prototyped without an argument list.
9349
9350 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
9351
9352         * config/i386/winnt.c: Revert 2003-07-08 change.
9353         (i386_pe_section_type_flags): Remove error_with_decl here too.
9354
9355 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9356
9357         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
9358         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
9359         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
9360         (v850_handle_data_area_attribute): Likewise.
9361
9362 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
9363
9364         * varasm.c (output_constant_def_contents): Use
9365         ASM_DECLARE_CONSTANT_NAME if defined.
9366         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
9367         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
9368         objects get at least one byte to prevent assembler problems.
9369         (ASM_DECLARE_CONSTANT_NAME): New.
9370
9371         * Makefile.in (libbackend.o): Remove options_.h.
9372         (mostlyclean): Likewise.
9373
9374         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
9375         insert a label at the end of an function under Mach-O.
9376
9377         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
9378
9379 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
9380
9381         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
9382         equality.
9383         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
9384
9385         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
9386
9387 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9388
9389         * doc/passes.texi (Passes): Mention pretty-printing and
9390         diagnostic files.
9391
9392 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
9393
9394         * doc/extend.texi (Function Attributes): GNU C++ does now allow
9395         unused parameter decls.
9396         (Attribute Syntax): GNU C++ does not allow label attributes to be
9397         after the ':'.
9398
9399 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9400
9401         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
9402         (objc_declare_class): Likewise.
9403         (error_with_ivar): Likewise.
9404         (start_class): Likewise.
9405         (warn_with_method): Likewise.
9406
9407 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9408
9409         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
9410         from GCC.
9411         * calls.c (try_to_integrate): Don't use xxx_with_decl.
9412         (expand_call): Likewise.
9413         * dwarfout.c (output_reg_number): Likewise.
9414         * expr.c (expand_expr): Likewise.
9415         * function.c (assign_temp): Likewise.
9416         (uninitialized_vars_warning): Likewise.
9417         (setjmp_args_warning): Likewise.
9418         (expand_function_end): Likewise.
9419         * stmt.c (fixup_gotos): Likewise.
9420         (warn_about_unused_variables): Likewise.
9421         (expand_end_bindings): Likewise.
9422         * stor-layout.c (layout_decl): Likewise.
9423         (place_field): Likewise.
9424         * toplev.c (check_global_declarations): Likewise.
9425         (rest_of_handle_inlining): Likewise.
9426         (default_tree_printer): New function.
9427         (general_init): Initialize diagnostic machinery before routing
9428         signals to the ICE machinery.  Set default tree printer.
9429         * toplev.h (pedwarn_with_decl): Remove declaration.
9430         (warning_with_decl): Likewise.
9431         (error_with_decl): Likewise.
9432         (pedwarn): Remove attribute for the time being.
9433         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
9434         * varasm.c (named_section): Likewise.
9435         (make_decl_rtl): Likewise.
9436         (assemble_variable): Likewise.
9437         (merge_weak): Likewise.
9438         (declare_weak): Likewise.
9439
9440         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
9441         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
9442         (format_with_decl): Remove.
9443         (diagnostic_for_decl): Likewise.
9444         (pedwarn_with_decl): Likewise.
9445         (warning_with_decl): Likewise.
9446         (error_with_decl): Likewise.
9447         (diagnostic_initialize): Adjust.
9448         (diagnostic_count_diagnostic): Likewise.
9449         (announce_function): Likewise.
9450         (lhd_print_error_function): Likewise.
9451         (diagnostic_report_current_module): Likewise.
9452         (default_diagnostic_starter): Likewise.
9453         (diagnostic_report_diagnostic): Likewise.
9454         (default_diagnostic_finalizer): Likewise.
9455         (verbatim): Likewise.
9456         (error): Likewise.
9457         (warning): Likewise.
9458         * opts.c (common_handle_option): Likewise.
9459         * pretty-print.c: New file.
9460         * c-pretty-print.h (pp_base): Override.
9461         * c-pretty-print.c: Adjust use of macros throughout.
9462         (pp_buffer): New macro.
9463         (pp_newline): Likewise.
9464         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
9465         * Makefile.in (DIAGNOSTIC_H): New variable.
9466         (c-errors.o): Use it.
9467         (c-objc-common.o): Likewise.
9468         (c-common.o): Likewise.
9469         (c-opts.o): Likewise.
9470         (c-format.o): Likewise.
9471         (diagnostic.o): Likewise.
9472         (opts.o): Likewise.
9473         (toplev.o): Likewise.
9474         (rtl-error.o): Likewise.
9475         (dwarf2out.o): Likewise.
9476         (jump.o): Likewise.
9477         (pretty-print.o): New rule.
9478
9479 2003-07-24  Roger Sayle  <roger@eyesopen.com>
9480
9481         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
9482         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
9483         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
9484         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
9485         (DEF_FRONT_END_LIB_BUILTIN): Delete.
9486         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
9487         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
9488
9489         * builtins.c (build_string_literal): New function to construct
9490         a char* pointer to a string literal.
9491         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
9492         "rtx target" to be consistent with other expand_builtin_* functions.
9493         Change 3rd argument from "int unlocked" to "bool unlocked".
9494         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
9495         c-common.c to avoid front-end dependencies.  Optimize printf("")
9496         as a no-op when the result isn't required.  Handle embedded NULs
9497         in format string.
9498         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
9499         from c-common.c to avoid front-end dependencies.  Likewise, optimize
9500         fprintf(fp,"") as a no-op when the result isn't required, evaluating
9501         fp for side-effects.  Handle embedded NULs in format string.
9502         (expand_builtin_sprintf): Fix typo.
9503         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
9504         optimizing.  Adjust calls of expand_builtin_fputs to match the API
9505         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
9506         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
9507         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
9508
9509         * c-common.c (is_valid_printf_arglist): Delete.
9510         (c_expand_builtin): Delete.
9511         (c_expand_builtin_printf): Moved to builtins.c. Delete.
9512         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
9513         (c_expand_expr): No longer treat CALL_EXPRs specially.
9514         (CALLED_AS_BUILT_IN): Delete.
9515
9516 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9517
9518         PR optimization/11631
9519         * gcse.c (store_motion): Connect infinite loops to exit.
9520
9521 2003-07-24  Jason Merrill  <jason@redhat.com>
9522
9523         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
9524         (boolean_true_node, boolean_false_node): Likewise.
9525         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
9526         * tree.c (build_common_tree_nodes): Init boolean_type_node.
9527         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
9528         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
9529         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
9530         (truthvalue_true_node): Renamed from boolean_true_node.
9531         (truthvalue_false_node): Renamed from boolean_false_node.
9532         * c-decl.c: Just set truthvalue_* to integer_*.
9533         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
9534
9535 2003-07-24  Roger Sayle  <roger@eyesopen.com>
9536
9537         * c-decl.c (match_builtin_function_types): New subroutine of
9538         duplicate_decls to test whether a redeclaration of a builtin
9539         function is suitably close, i.e. the return type and all of
9540         the argument types have the same modes as the builtin expects.
9541         (duplicate_decls): Fuzzy type matching for builtin functions
9542         moved to match_builtin_function_types.
9543
9544 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9545
9546         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
9547         flag correctly.
9548
9549 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
9550
9551         * c-decl.c: Search-and-replace change 'binding level' to
9552         'scope' in commentary.
9553         (struct binding_level): Now struct c_scope.
9554         (current_binding_level): Now current_scope.
9555         (free_binding_level): Now scope_freelist.
9556         (current_function_level): Now current_function_scope.
9557         (global_binding_level): Now global_scope.
9558         (make_binding_level): Now make_scope.
9559         (pop_binding_level): Now pop_scope.
9560
9561 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9562
9563         * configure.in (libgcc_visibility): Add missing whitespace.
9564
9565 2003-07-24  Richard Henderson  <rth@redhat.com>
9566
9567         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
9568         __gcc_personality_v0.
9569
9570 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9571
9572         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
9573
9574 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
9575
9576         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
9577         documentation missed from my 2003-07-09 patch.
9578
9579 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
9580
9581         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
9582         it's not provided.
9583         * configure: Rebuild.
9584
9585 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
9586
9587         PR c/10602
9588         * c-typeck.c (type_lists_compatible_p): Do not compare
9589         arguments if one of them is an error_mark_node
9590
9591 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
9592
9593         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
9594         if current_function_calls_eh_return.
9595
9596 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
9597
9598         * doc/c-tree.texi (OFFSET_TYPE): Update description.
9599
9600 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
9601
9602         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
9603         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
9604         __umodsi3, __modsi3): Increase frame size to 32.
9605
9606 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
9607
9608         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
9609         prototype.
9610
9611 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
9612
9613         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
9614
9615         PR optimization/10679
9616         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
9617
9618 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9619
9620         PR target/11607 and PR target/11516
9621         * pa.md (extzv, extv, insv): Revert latter half of last patch.
9622
9623 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
9624
9625         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
9626         * varasam.c (output_constant): Likewise.
9627
9628 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
9629
9630         * alias.c: Fix comment formatting.
9631         * c-common.c: Likewise.
9632         * c-decl.c: Likewise.
9633         * c-opts.c: Likewise.
9634         * combine.c: Likewise.
9635         * cpplib.c: Likewise.
9636         * diagnostic.c: Likewise.
9637         * dojump.c: Likewise.
9638         * final.c: Likewise.
9639         * fold-const.c: Likewise.
9640         * gcc.c: Likewise.
9641         * gcse.c: Likewise.
9642         * ggc-page.c: Likewise.
9643         * jump.c: Likewise.
9644         * loop.c: Likewise.
9645         * mips-tfile.c: Likewise.
9646         * recog.c: Likewise.
9647         * regclass.c: Likewise.
9648         * regmove.c: Likewise.
9649         * tree.c: Likewise.
9650         * tree.h: Likewise.
9651
9652 2003-07-22  Per Bothner  <pbothner@apple.com>
9653
9654         * line-map.c (add_line_map):  Handle invalid LEAVE request.
9655         Fixes PR preprocessor/11361.
9656
9657 2003-07-22  Per Bothner  <pbothner@apple.com>
9658
9659         * diagnostic.c.(diagnostic_report_current_module):  Update to match
9660         2003-06-05 changes to push_srcloc and pop_srcloc.
9661
9662 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
9663
9664         * doc/trouble.texi: Better document two-stage name lookup.
9665
9666 2003-07-22  Eric Christopher <echristo@redhat.com>
9667
9668         * config/s390.c (s390_valid_pointer_mode): New.
9669         (TARGET_VALID_POINTER_MODE): Use.
9670         (s390_emit_prologue): Add tpf profiling hooks.
9671         (s390_emit_epilogue): Ditto.
9672         * config/s390.h (MASK_TPF): New.
9673         (TARGET_TPF): Use.
9674         (POINTERS_EXTEND_UNSIGNED): Define.
9675         * config/s390.md (ptr_extend): New pattern.
9676
9677 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
9678
9679         * hashtable.c (approx_sqrt): Make static.
9680         * hashtable.h: Don't prototype approx_sqrt.
9681         * line-map.c (init_line_maps): Rename linemap_init.
9682         (free_line_maps): Rename linemap_free.
9683         (add_line_map): Rename linemap_add.
9684         (lookup_line): Rename linemap_lookup.
9685         (print_containing_files): Rename linemap_print_containing_files.
9686         * linemap.h: Update to match.
9687
9688         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
9689         linemap routines to use new names.
9690
9691 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
9692
9693         * c-common.c (handle_packed_attribute): Don't pack a struct via a
9694         typedef. Propagate packedness from a main variant.
9695
9696 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
9697
9698         * Makefile.in (install-common): Add dependency on installdirs.
9699
9700 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
9701
9702         * c-common.c (c_common_type_for_mode): Return integer types for
9703         pointer modes.
9704
9705 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
9706
9707         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
9708         (finish_decl): Call maybe_apply_pragma_weak here.
9709         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
9710         TREE_PUBLIC and TREE_STATIC are decided.
9711         (start_function): Move call to maybe_apply_pragma_weak.  Check that
9712         DECL_ASSEMBLER_NAME isn't set too early.
9713
9714         * cpplex.c (_cpp_process_line_notes): Mention option name in
9715         trigraphs warning.
9716
9717 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
9718
9719         * combine.c (if_then_else_cond): Simplify the comparison of
9720         rtx against -1, 0, and 1.
9721         * loop.c (check_dbra_loop): Likewise.
9722         * optabs.c (emit_conditional_move): Likewise.
9723         (emit_conditional_add): Likewise.
9724         * config/i386/i386.md (*movsi_or): Likewise.
9725         (*movdi_or_rex6): Likewise.
9726
9727 2003-07-22  Jan Hubicka  <jh@suse.cz>
9728
9729         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
9730
9731 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
9732
9733         * cppfiles.c (open_file_pch): Don't put unused entries in the
9734         splay tree.  Remove dead code.
9735
9736 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
9737
9738         * c-common.h (num_in_fnames): Declare.
9739         (c_static_assembler_name): Move from here...
9740         * c-tree.h (c_static_assembler_name): ... to here.
9741         * c-opts.c: Don't include langhooks-def.h.
9742         (c_static_assembler_name): Move to c-decl.c.
9743         (num_in_fnames): Make externally visible.
9744         * c-decl.c: Include langhooks-def.h.
9745         (c_static_assembler_name): Move from c-opts.c.
9746         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
9747         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
9748
9749         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
9750         when it's not needed.
9751
9752 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
9753
9754         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
9755         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
9756         (rs6000_emit_prologue): Save FPRs inline if set.
9757
9758 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
9759
9760         * config/ia64/ia64.md (prefetch): Support predicate.
9761
9762 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
9763
9764         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
9765         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
9766         table.
9767
9768 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
9769
9770         PR optimization/11536
9771         * unroll.c (loop_iterations): Do not replace a register holding
9772         the final value by its equivalent before the loop if it is not
9773         invariant.
9774
9775 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
9776
9777         * doc/extend.texi: Fixes to spelling, grammar, and diction.
9778
9779 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
9780
9781         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
9782         (V850 Options): Spelling fixes.
9783
9784 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
9785
9786         * doc/invoke.texi: Fixes to style, grammar and diction.
9787
9788 2003-07-20  Roger Sayle  <roger@eyesopen.com>
9789
9790         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
9791         * system.h (SMALL_STACK): Poison obsolete target macro.
9792         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
9793
9794 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
9795
9796         * configure.in:  Cache the results of testing for cmp's capabilities.
9797         * configure:  Regenerate.
9798
9799 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
9800
9801         PR debug/11279
9802         * dwarf2out.c (gen_enumeration_type_die): Remember that
9803         enumerators can be unsigned.
9804
9805 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
9806
9807         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
9808         (push_label_level, pop_label_level): Kill.
9809         (struct binding_level): Rename level_chain to outer.
9810         Add outer_function field.  Change parm_flag, function_body,
9811         keep, keep_if_subblocks to 1-bit bitfields of type bool.
9812         (current_function_level): New variable.
9813         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
9814         (keep_next_level, declare_parm_level, warn_if_shadowing):
9815         Update to match.
9816         (struct language_function): Kill named_labels, shadowed_labels fields.
9817         (c_init_decl_processing, start_function, c_push__function_context)
9818         (c_pop_function_context): No need to muck with named_labels nor
9819         shadowed_labels.
9820
9821         (make_binding_level): No need to clear the structure here.
9822         (pop_binding_level): Always operate on current_binding_level.
9823         Update current_function_level if necessary.
9824         (pushlevel): Don't clear named_labels.  Update current_function_level
9825         if necessary.  Use "true" and "false" where appropriate.
9826         (poplevel): Diagnose labels defined but not used, or vice
9827         versa, and clear out label-meanings leaving scope, while
9828         walking down the decls list, for all binding levels.
9829         Handle LABEL_DECLs appearing in the shadowed list.
9830         pop_binding_level takes no arguments.
9831         (pushdecl_function_level): Use current_function_level.
9832
9833         (make_label, bind_label): New static functions.
9834         (declare_label): New exported function.
9835         (lookup_label, define_label): Rewritten for new data structure.
9836         (shadow_label): Kill.
9837
9838         * c-tree.h: Prototype declare_label; don't prototype
9839         push_label_level, pop_label_level, nor shadow_label.
9840         * c-parse.in: Remove all calls to push_label_level and
9841         pop_label_level.  Use declare_label for __label__ decls.
9842
9843         * doc/extend.texi: Clarify that __label__ can be used to
9844         declare labels with local scope in any nested block, not
9845         just statement expressions.  Cross-reference nested functions
9846         section from local labels section.
9847
9848 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9849
9850         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
9851
9852 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
9853
9854         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
9855
9856 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9857
9858         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
9859         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
9860
9861 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
9862
9863         * config/s390/s390.c (legitimize_pic_address): Access local symbols
9864         relative to the GOT instead of relative to the literal pool base.
9865         (s390_output_symbolic_const): Handle new GOT-relative accesses.
9866         * config/s390/s390.md ("call"): Access local functions and PLT stubs
9867         relative to the GOT instead of relative to the literal pool base.
9868         ("call_value"): Likewise.
9869         ("call_value_tls"): Likewise.
9870
9871         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
9872         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
9873         (s390_chunkify_finish): Likewise.
9874         (s390_chunkify_cancel): Likewise.
9875         (s390_reorg): Adapt caller.
9876         (find_base_register_in_addr,
9877         find_base_register_ref, replace_base_register_ref): Delete.
9878         (find_ltrel_base, replace_ltrel_base): New functions.
9879         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
9880         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
9881         base vs. index register usage.
9882         (struct constant_pool): Remove 'anchor'.
9883         (s390_add_anchor): Delete.
9884         (s390_dump_pool): Remove anchor handling.
9885         * config/s390/s390.md ("reload_anchor"): Remove.
9886
9887         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
9888         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
9889         (s390_emit_prologue): Use it.
9890         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
9891         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
9892         hard-code register 14.
9893         * config/s390/s390-protos.h (s390_load_got): Declare.
9894
9895         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
9896         Support TImode constants.
9897         * config/s390/s390.md ("consttable_ti"): New.
9898         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
9899
9900         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
9901         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
9902         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
9903         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
9904         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
9905         New symbolic constants.
9906         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
9907         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
9908         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
9909         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
9910         symbolic UNSPEC values.
9911         * config/s390/s390.c (larl_operand, s390_short_displacement,
9912         bras_sym_operand, s390_cannot_force_const_mem,
9913         s390_delegitimize_address, s390_decompose_address,
9914         legitimize_pic_address, s390_output_symbolic_const,
9915         s390_function_profiler): Use symbolic UNSPEC values.
9916
9917 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9918
9919         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
9920         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
9921         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
9922         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
9923         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
9924         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
9925         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
9926         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
9927         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
9928         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
9929         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
9930         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
9931         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
9932         postreload.c prefix.c print-tree.c protoize.c ra-build.c
9933         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
9934         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
9935         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
9936         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
9937         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
9938         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
9939         casts.
9940
9941 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9942
9943         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
9944         * toplev.h (warning): Remove attribute.
9945
9946 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9947
9948         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
9949         (pop_label_level): Likewise.
9950         (duplicate_decls): Likewise.
9951         (implicitly_declare): Likewise.
9952         (shadow_label): Likewise.
9953         (start_decl): Likewise.
9954         (finish_decl): Likewise.
9955         (grokdeclarator): Likewise.
9956         (get_parm_info): Likewise.
9957         (detect_field_duplicates): Likewise.
9958         (finish_struct): Likewise.
9959         (start_function): Likewise.
9960         (store_parm_decls): Likewise.
9961         (finish_function): Likewise.
9962         (c_expand_body_1): Likewise.
9963         (check_for_loop_decls): Likewise.
9964         (merge_translation_unit_decls): Likewise.
9965
9966 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
9967
9968         * common.opt:  Document --param.
9969         * opts.c (columns, undocumented_msg): New.
9970         (print_help): Get number of columns from environment.  Print
9971         --param help.  Tweak newline handling.
9972         (print_param_help): New.
9973         (print_filtered_help): Better handling of duplicates.  Complain
9974         about undocumented switches.
9975         (print_switch): New.
9976         (wrap_help): Improve wrapping, use COLUMNS.
9977         * opts.sh: Ignore comments in records.
9978         * params.def: Fix typos and remove trailing periods.
9979         * toplev.c (display_help): Don't dump --param help.
9980         * doc/sourcebuild.texi: Update.
9981
9982 2003-07-18  Richard Henderson  <rth@redhat.com>
9983
9984         PR target/11556
9985         * optabs.c (prepare_operand): Fail gracefully instead of abort
9986         if the predicate doesn't satisfy.
9987         (gen_cond_trap): Allow prepare_operand to fail.
9988
9989 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9990
9991         * c-common.c: Don't undefine GCC_DIAG_STYLE.
9992         (fname_decl): Don't use xxx_with_decl.
9993         (c_add_case_label): Likewise.
9994         (handle_section_attribute): Likewise.
9995         (handle_alias_attribute): Likewise.
9996         (handle_no_instrument_function_attribute): Likewise.
9997         (handle_no_limit_stack_attribute): Likewise.
9998         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
9999         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
10000
10001 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10002
10003         * Makefile.in (ifcvt.o): Add cfgloop.h.
10004         * basic-block.h (EDGE_LOOP_EXIT): New flag.
10005         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
10006         * ifcvt.c: Include cfgloop.h.
10007         (mark_loop_exit_edges): New static function.
10008         (if_convert): Call it.
10009         (find_if_header): Ignore branches out of loops.
10010
10011 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
10012
10013         * combine.c (simplify_comparison): Don't share rtx when converting
10014         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
10015
10016 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
10017
10018         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
10019         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
10020         (MUST_PASS_IN_STACK): Define.
10021         (BLOCK_REG_PADDING): Define.
10022
10023 2003-07-18  Richard Henderson  <rth@redhat.com>
10024
10025         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
10026         to skip the addr_vec.
10027
10028 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
10029
10030         * combine.c (combinable_i3pat): Don't forbid occurrences of
10031         i2dest or i1dest in inner_dest if inner_dest is a mem.
10032
10033 2003-07-18  Jan Hubicka  <jh@suse.cz>
10034
10035         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
10036
10037 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
10038
10039         PR target/11087
10040         * loop.c (basic_induction_var): Check if convert_modes emitted any
10041         instructions. Remove them and return 0 if so.
10042
10043 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
10044
10045         PR optimization/11083
10046         * toplev.c (rest_of_handle_addresof): Rename into
10047         rest_of_handle_addressof.  Delete unreachable blocks
10048         if dead edges were purged after the addressof pass.
10049
10050 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
10051
10052         * Makefile.in, configure, configure.in: Remove handling of
10053         lang-options.h and options_.h.
10054         * toplev.c (struct lang_opt, documented_lang_options): Remove.
10055         (display_help): Don't use documented_lang_options.
10056
10057 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
10058
10059         * c-decl.c (pushdecl_function_level): Make static, return nothing.
10060         (kept_level_p): Fold into poplevel.
10061         (undeclared_variable): Moved here from c-typeck.c.  Export.
10062         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
10063         (undeclared_variable): Prototype here.  Don't prototype
10064         kept_level_p nor pushdecl_function_level.
10065         * c-parse.in: Change first argument to poplevel from
10066         "kept_level_p()" to "KEEP_MAYBE".
10067         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
10068
10069 2003-07-17  Roger Sayle  <roger@eyesopen.com>
10070
10071         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
10072         commutative operands instead of modifying the RTL in-place.
10073
10074 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
10075
10076         PR optimization/11557
10077         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
10078         unless we know which function is being called.
10079
10080 2003-07-17  Roger Sayle  <roger@eyesopen.com>
10081
10082         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
10083         whether to reorder the operands of a commutative binary operator.
10084
10085 2003-07-17  Roger Sayle  <roger@eyesopen.com>
10086
10087         * fold-const.c (const_binop): Avoid performing the FP operation at
10088         compile-time, if either operand is NaN and we honor signaling NaNs,
10089         or if we're dividing by zero and either flag_trapping_math is set
10090         or the desired mode doesn't support infinities.
10091         (fold_initializer): New function to fold an expression ignoring any
10092         potential run-time exceptions or traps.
10093         * tree.h (fold_initializer): Prototype here.
10094         * c-typeck.c (build_binary_op): Move to the end of the file so
10095         that intializer_stack is in scope.  If constructing an initializer,
10096         i.e. when initializer_stack is not NULL, use fold_initializer to
10097         fold expressions.
10098         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
10099         performing FP operations at compile-time, if they would raise an
10100         exception at run-time.
10101
10102 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
10103
10104         PR 11498
10105         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
10106         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
10107         (GTFILES): Add langhooks.c.
10108         (gt-langhooks.h): New.
10109         * c-common.h (c_static_assembler_name): Prototype.
10110         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
10111         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
10112         * c-opts.c: Include langhooks-def.h.
10113         (c_static_assembler_name): New.
10114         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
10115         (var_labelno): New.
10116         (lhd_set_decl_assembler_name): Give static objects with context
10117         unique names.
10118         * varasm.c (var_labelno): Delete.
10119         (make_decl_rtl): Don't change the assembler name once it's set.
10120
10121         * c-opts.c (this_input_filename): New.
10122         (finish_options): Take new parameter, name of file being compiled.
10123         Update callers.  Set this_input_filename.
10124         (push_command_line_include): Use this_input_filename not
10125         main_input_filename.
10126
10127 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
10128
10129         * Makefile.in: Depend .pot generation on options.c.
10130         * po/exgettext: Add an extra_files variable containing additional
10131         files to scan.
10132
10133 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
10134
10135         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
10136         c_write_global_declarations.
10137
10138         * c-decl.c: Fix typos in several comments.  Remove all
10139         #if 0 blocks; reindent as needed.  Remove unused argument
10140         to declare_parm_level; all callers changed.
10141         * c-parse.in: Update calls to declare_parm_level.  Avoid
10142         issuing a double warning in some circumstances.
10143         * c-typeck.c: Update calls to declare_parm_level.
10144         * c-tree.h: Update prototype of declare_parm_level.
10145
10146         * c-pragma.c (apply_pragma_weak): Don't complain about a
10147         redundant #pragma weak.
10148
10149         * objc/objc-act.c (forward_declare_categories,
10150         build_selector_reference_decl, build_class_reference_decl,
10151         build_objc_string_decl, synth_forward_declarations,
10152         build_protocol_reference): Set TREE_PUBLIC on synthetic
10153         forward decl to 0, consistent with eventual definition.
10154         Correct comments to match.
10155
10156         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
10157         in regexp that don't form a range expression.
10158         * fixinc/fixincl.def: Regenerate.
10159
10160 2003-07-17  Richard Henderson  <rth@redhat.com>
10161
10162         PR target/10907
10163         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
10164         even with !TARGET_CONST_GP.
10165         (ia64_function_ok_for_sibcall): Reject non-local functions.
10166
10167 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
10168
10169         * c-common.c (c_estimate_num_insns_1): Don't handle
10170         METHOD_CALL_EXPR.
10171         * expr.c (safe_from_p): Likewise.
10172         * gengtype.c (adjust_field_tree_exp): Likewise.
10173         * stmt.c (warn_if_unused_value): Likewise
10174         * tree.c (first_rtl_op): Likewise.
10175         * tree.def: Don't define METHOD_CALL_EXPR.
10176         * java/lang.c (java_estimate_num_insns_1): Don't handle
10177         METHOD_CALL_EXPR.
10178
10179 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
10180
10181         PR other/11466
10182         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
10183         and its restrictions for the SPARC64 port.
10184         Move the entry of "-mimpure-text" before that of "-mv8".
10185
10186 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
10187             Phil Edwards <phil@jaj.com>
10188
10189         * doc/install.texi (*-*-solaris2*): Document the step-by-step
10190         procedure to bootstrap and install.
10191         Document the preference for the legacy Sun tools in /usr/bin
10192         over the POSIX tools in /usr/xpg4/bin for the build process.
10193
10194 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
10195
10196         * c.opt: Document Uncodumented; use it.  Document ObjC options.
10197         * opts.c (print_filtered_help): Skip undocumented switches.
10198         * opts.h (CL_UNDOCUMENTED): New.
10199         * opts.sh: Handle Undocumented.
10200         * toplev.c (documented_lang_options): Prevent its becoming empty.
10201 objc:
10202         * lang-options.h: Remove.
10203
10204 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
10205
10206         * loop.c (check_ext_dependent_givs): Pass const struct loop *
10207         instead of struct loop_info * as argument.  Accept BIVs with
10208         increment +/- 1 provided there is a friendly exit test against
10209         a loop-invariant value.
10210         (strength_reduce): Adapt call to check_ext_dependent_givs.
10211
10212 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
10213             Con Bradley <con.bradley@superh.com>
10214
10215         * sh-protos.h (sh_get_pr_initial_val): Declare.
10216         * sh.c (regno_reg_class): Make its elements type enum reg_class.
10217         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
10218         and live_regs_mask arguments.  Changed all callers.
10219         (save_schedule_s): New structure.
10220         (save_schedule): New typedef.
10221         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
10222         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
10223         In interrupts handlers, also save registers that are usually
10224         partially saved, and make sure there is at least one general purpose
10225         register saved if a target register needs saving.
10226         Add casts in comparisons to avoid warnings.
10227         (sh_media_register_for_return): return -1 for interrupt handlers.
10228         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
10229         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
10230         registers used are available.
10231         Set RTX_FRAME_RELATED_P where appropriate.
10232         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
10233         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
10234         (initial_elimination_offset): Likewise.
10235         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
10236         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
10237         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
10238         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
10239         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
10240         and for target registers.
10241         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
10242         (regno_reg_class): Make its elements type enum reg_class.
10243         (CONSTRAINT_LEN): Don't use isdigit.
10244         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
10245         (FUNCTION_ARG): Add parentheses to avoid warnings.
10246         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
10247         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
10248         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
10249         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
10250         * sh.md (xordi3+1): Remove unused variable regno.
10251         (return_media): Check that tr0 is available before using it.
10252
10253 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
10254
10255         * c.opt: Document more options.
10256
10257 2003-07-16  Roger Sayle  <roger@eyesopen.com>
10258
10259         * combine.c (subst): Also handle (subreg (const_double ...)) case
10260         if created by a substitution, by using the original inner mode.
10261
10262 2003-07-16  Roger Sayle  <roger@eyesopen.com>
10263
10264         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
10265         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
10266         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
10267
10268 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
10269
10270         * doc/install.texi (--without-headers): New.
10271
10272         Partial Fix PR/10129
10273         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
10274         (machopic_output_function_base_name): New; print the true pic label.
10275         (machopic_classify_ident): Pic Base is always a defined data.
10276         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
10277         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
10278
10279         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
10280         if they are not floating point registers.
10281
10282         PR c/10962
10283         * ggc.h: Add header guards.
10284         * c-decl.c (finish_struct): Sort fields if
10285         number greater than 15 and there are no
10286         anonymous structs/unions.
10287         * c-common.h: Include ggc.h.
10288         (sorted_fields_type): New struct.
10289         (field_decl_cmp): New prototype.
10290         (resort_sorted_fields): New prototype.
10291         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
10292         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
10293         as s, removing other fields.
10294         * c-typeck.c (lookup_field): Use s in lang_type.
10295         These were mostly moved from cp/class.c:
10296         * c-common.c (field_decl_cmp): New static function.
10297         (field_decl_cmp): New function.
10298         (resort_sorted_fields): New function.
10299
10300 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
10301
10302         * config/darwin.c (machopic_select_section): Use decl_readonly_section
10303         to do most of the work.
10304
10305 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
10306
10307         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
10308         * config/mmix/mmix.c: Convert functions to ISO C90.
10309         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
10310         formatting.
10311         (mmix_get_hard_reg_initial_val): Tweak section head comment.
10312
10313 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
10314
10315         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
10316
10317 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
10318
10319         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
10320         (uw_update_context_1): Use it.
10321         * config/rs6000/rs6000.c (insn_after_throw): Remove.
10322         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
10323         in parent frame if _Unwind_* called directly instead of through
10324         .plt.
10325         (rs6000_emit_eh_toc_restore): Remove.
10326         (rs6000_emit_prologue): Update stack pointer before doing any saving
10327         if current_function_calls_eh_return.  Generate unwind info for $r2.
10328         (rs6000_emit_epilogue): Restore stack pointer after doing all
10329         restoring if current_function_calls_eh_return.  Restore $r2.
10330         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
10331         * config/rs6000/rs6000.md (eh_return): Remove call to
10332         rs6000_emit_eh_toc_restore.
10333         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
10334         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
10335
10336 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
10337
10338         * expr.c (emit_block_move): Don't move anything if size is const 0.
10339         (clear_storage): Test against const0_rtx instead of comparing INTVAL
10340         against 0.
10341
10342 2003-07-15  David S. Miller  <davem@redhat.com>
10343
10344         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
10345         emit nop if the last real insn is CALL_INSN.
10346
10347 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
10348
10349         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
10350         as "nul".
10351         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
10352
10353 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
10354
10355         * config/i386/winnt.c (associated_type): Artificial methods are not
10356         affected by the import/export status of their class unless they are
10357         COMDAT.
10358         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
10359
10360         * config/i386/winnt.c: Fix GCC copyright comment.
10361
10362 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
10363
10364         PR c++/11531
10365         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
10366         not recursing on hard error.
10367         (diagnostic_for_decl): Likewise.
10368         * diagnostic.def: Rearrange.
10369
10370 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
10371
10372         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
10373         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
10374
10375 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
10376             Richard Henderson  <rth@redhat.com>
10377
10378         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
10379         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
10380         (_Unwind_SetGR): Likewise.
10381         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
10382         (Unwind_SpTmp): New typedef.
10383         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
10384         (uw_update_context): Use _Unwind_GetPtr.
10385         (init_dwarf_reg_size_table): Move above uw_init_context_1.
10386         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
10387         Use _Unwind_SetSpColumn.
10388         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
10389         Use _Unwind_GetPtr.
10390
10391 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
10392
10393         * c.opt: Document more options.
10394         * toplev.c (documented_lang_options): Remove all local help strings.
10395
10396 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
10397
10398         PR debug/11473
10399         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
10400         base classes.
10401
10402 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
10403
10404         PR target/10795
10405         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
10406         swap comparison operands if doing so would generate an
10407         unrecognizable insn.
10408
10409 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
10410
10411         PR optimization/11320
10412         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
10413         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
10414         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
10415         current_sched_info->compute_jump_reg_dependencies. Record which
10416         registers are used and which registers are set by the jump.
10417         Clear deps->reg_conditional_sets after a barrier.
10418         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
10419         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
10420         (init_deps): Initialize reg_conditional_sets.
10421         (free_deps): Clear reg_conditional_sets.
10422         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
10423         Mark registers live on entry of the fallthrough block and conditionally
10424         set as set by the jump. Mark registers live on entry of non-fallthrough
10425         blocks as used by the jump.
10426         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
10427         Mark new parameters as unused.
10428
10429 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
10430
10431         * doc/invoke.texi: Resync MIPS -march documentation.
10432
10433 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
10434
10435         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
10436         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
10437         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
10438         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
10439         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
10440         (mips_issue_rate): Handle PROCESSOR_R9000.
10441         (mips_use_dfa_pipeline_interface): Likewise.
10442         * config/mips/9000.md: New file.
10443         * config/mips/mips.md: Include it.
10444         (define_attr cpu): Add r9000.
10445         (mulsi3_mult3): Use "mul" for rm9000 code.
10446
10447 2003-07-15  Stan Cox  <scox@redhat.com>
10448
10449         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
10450         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
10451         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
10452         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
10453         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
10454         (mips_issue_rate): Handle PROCESSOR_R7000.
10455         (mips_use_dfa_pipeline_interface): Likewise.
10456         * config/mips/7000.md: New file.
10457         * config/mips/mips.md: Include it.
10458         (define_attr cpu): Add r7000.
10459         (mulsi3_mult3): Use "mul" for rm7000 code.
10460
10461 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
10462
10463         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
10464         the conditional move patterns.
10465         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
10466         Check for condmove type.
10467         (ir_vr54_arith): Add move type.
10468         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
10469         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
10470
10471 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
10472
10473         * c-opts.c (print_help): Remove.
10474         (c_common_handle_option): Don't handle --help.
10475         * c.opt: Document some options.
10476         (--help): Remove.
10477         * opts.c (print_filtered_help): New.
10478         (print_help): Use it.
10479
10480 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
10481
10482         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
10483         * tree.c: (build_common_tree_nodes_2): Likewise.
10484         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
10485         (V4DF_type_node): New.
10486
10487         * c-opts.c (push_command_line_include): Don't free deferred_opts,
10488         we'll need it.
10489         (finish_options): Reset init_cursor.
10490
10491 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
10492
10493         * expr.c (expand_assignment): Remove an unused argument
10494         SUGGEST_REG.
10495         * expr.h: Update the prototype.
10496         * function.c: Update the callers.
10497         * stmt.c: Likewise.
10498
10499 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
10500
10501         PR debug/11098
10502         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
10503         as DECL_ABSTRACT.
10504
10505 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10506
10507         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
10508         with __cplusplus, not "we must use the C++ compiler's type"
10509         * fixinc/inclhack.def (void_null): Note that Interix needs this.
10510         * fixinc/fixincl.x: Regenerate.
10511
10512 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
10513
10514         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
10515         and unseen_objects from the global data before calling
10516         __deregister_frame_info_bases.
10517         (examine_objects): Insert objects into the seen_objects list,
10518         not unseen_objects.
10519         (_Unwind_Find_FDE): Always unlock the global object lists, even if
10520         we couldn't allocate a data structure to put in it.
10521
10522         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
10523         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
10524         (SET_TYPE_PROTOCOL_LIST): New.
10525         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
10526         (get_object_reference): Likewise.
10527
10528 2003-07-14  Jan Hubicka  <jh@suse.cz>
10529
10530         * cfglayout.c (locator_file): Break out from ....
10531         (insn_file): ... here.
10532         (locator_line): Break out from ....
10533         (insn_line): ... here.
10534         * rtl.h (locator_file, locator_line): Declare.
10535         (final_start_function): Set proper line/file info.
10536
10537 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10538
10539         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
10540         handled by pp_c_cast_expression.
10541
10542 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
10543
10544         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
10545         allocate 32768 bytes of stack.  Use addition rather than subtraction
10546         when a single insn is enough.
10547         * config/mips/mips.md: Remove insns and splitters for subtracting
10548         constants.
10549         (subsi3): Only accept register operands.
10550         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
10551         (subdi3_internal_3, subsi3_internal_2): Likewise.
10552         (casesi): Use expand_binop to subtract the lower bound.
10553
10554 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
10555
10556         * config/mips/mips.c (mips_in_small_data_p): Don't handle
10557         TARGET_MIPS16 specially.
10558
10559 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
10560
10561         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
10562         mips_output_aligned_bss.
10563         * config/mips/linux.h: Likewise.
10564         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
10565         * config/mips/mips.c (mips_output_aligned_bss): New function.
10566
10567         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
10568         * config/mips/elf64.h: Likewise.
10569
10570         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
10571         mips_declare_object_name.
10572         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
10573         * config/mips/elf64.h: As for elf.h.
10574         * config/mips/iris6.h: Likewise.
10575         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
10576         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
10577         do...while (0) block.
10578         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
10579         (mips_finish_declare_object): Declare.
10580         * config/mips/mips.c (mips_declare_object_name): New function.
10581         (mips_finish_declare_object): New function.
10582
10583         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
10584         * config/mips/linux.h: Likewise.
10585
10586         * config/mips/mips.c (inside_function): Delete.
10587         (file_in_function_warning, ignore_line_number): Delete.
10588         (mips_output_filename): Don't warn about changing filenames within
10589         a function.
10590         (mips_output_lineno): Update accordingly.
10591         (mips_output_function_prologue): Don't reset the deleted variables.
10592         * config/mips/mips.h (inside_function): Delete.
10593         (file_in_function_warning, ignore_line_number): Delete.
10594
10595         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
10596         * config/mips/elf64.h: Likewise.
10597         * config/mips/openbsd.h: Likewise.
10598         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
10599         * config/mips/linux.h: Likewise.
10600         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
10601         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
10602
10603         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
10604         to the list of include files when using gas.
10605         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
10606         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
10607         * config/mips/elf64.h: Likewise.
10608         * config/mips/iris5.h: Likewise.
10609         * config/mips/linux.h: Likewise.
10610         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
10611         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
10612         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
10613         * config/mips/sdb.h: ...this new file.
10614
10615 2003-07-14  Douglas Rupp  <rupp@gnat.com>
10616
10617         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
10618         argument to getcwd; use fixed buffer instead.
10619
10620 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10621
10622         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
10623         * fixinc/fixinc.wrap: Delete.
10624
10625 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
10626
10627         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
10628         don't have 2.
10629
10630 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
10631
10632         * ggc-page.c (struct globals): Add new fields to keep track of the
10633         total allocated memory and overhead.
10634         (ggc_print_statistics): Print them.
10635         (ggc_alloc): Keep track of the total allocated memory and the
10636         overhead.
10637
10638         * tree.c (dump_tree_statistics): Increase spacing.
10639         (enum tree_node_kind): Move to ...
10640         * tree.h (enum tree_node_kind): ... here.
10641         (tree_node_counts, tree_node_sizes): Declare.
10642
10643 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
10644
10645         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
10646
10647 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10648
10649         PR optimization/11440
10650         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
10651         SIGN_EXTRACT SETs.
10652
10653 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
10654
10655         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
10656         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
10657         (emit_group_load, emit_group_store): Adjust declarations.
10658         Remove most occurrences of #ifdef TREE_CODE.
10659         * expr.c (emit_group_load): Add "type" param, and use
10660         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
10661         aligned accesses if !SLOW_UNALIGNED_ACCESS.
10662         (emit_group_store): Likewise.
10663         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
10664         emit_group_load and emit_group_store calls.
10665         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
10666         BLOCK_REG_PADDING to determine whether we need endian_correction.
10667         (load_register_parameters): Localize vars.  Handle shifting of
10668         small values to the correct end of regs.  Adjust emit_group_load
10669         call.
10670         (expand_call, emit_library_call_value_1): Adjust emit_group_load
10671         and emit_group_store calls.
10672         * function.c (assign_parms): Set mem alignment for stack slots.
10673         Adjust emit_group_store call.  Store values at the "wrong" end
10674         of regs to the stack.  Use BLOCK_REG_PADDING.
10675         (locate_and_pad_parm): Save where_pad.
10676         (expand_function_end): Adjust emit_group_load call.
10677         * stmt.c (expand_value_return): Adjust emit_group_load call.
10678         * Makefile.in (calls.o): Depend on $(OPTABS_H).
10679         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
10680         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
10681         (MUST_PASS_IN_STACK): Define.
10682         (BLOCK_REG_PADDING): Define.
10683         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
10684         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
10685         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
10686         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
10687         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
10688
10689 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
10690
10691         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
10692
10693 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10694
10695         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
10696         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
10697
10698 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10699
10700         PR other/11123
10701         * toplev.c: Don't cut off option names.
10702
10703 2003-07-13  Andreas Jaeger  <aj@suse.de>
10704
10705         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
10706         to integer of different size.
10707
10708 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
10709
10710         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
10711         to (eq (and X 1) 0).
10712
10713 2003-07-13  Andreas Jaeger  <aj@suse.de>
10714
10715         * config.gcc: Add pmmintrin.h for x86_64-*-*.
10716
10717 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
10718
10719         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
10720         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
10721         list.  Move these all together down by cpplib.
10722
10723         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
10724         definition of CPPCHAR_SIGNED_T.
10725
10726         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
10727         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
10728         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
10729
10730         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
10731         * cppinit.c (cpp_create_reader): Likewise.
10732
10733         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
10734         * cpptrad.c: Likewise.  All callers changed.
10735         * cpplib.c: All callers changed.
10736         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
10737         * hashtable.h: Define GTY(x) to nothing here too.
10738
10739 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10740
10741         * stor-layout.c (compute_record_mode): Remove very obsolete test
10742         that forces BLKmode for records with fields crossing word boundary.
10743
10744 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
10745
10746         * Makefile.in: Remove orphan reference to acconfig.h.
10747
10748 2003-07-13  Andreas Jaeger  <aj@suse.de>
10749
10750         * cgraphunit.c: Convert prototypes to ISO C90.
10751
10752 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10753
10754         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
10755         (for OpenBSD).
10756         * fixinc/fixincl.x: Rebuild.
10757
10758 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
10759
10760         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
10761         i?86-*-*.  Use correct name of cache variable.
10762         * configure: Regenerate.
10763
10764 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
10765
10766         * config/alpha/alpha.c: Fix comment typos.
10767         * config/alpha/alpha.md: Likewise.
10768         * config/arm/arm.c: Likewise.
10769         * config/arm/arm.md: Likewise.
10770         * config/arm/lib1funcs.asm: Likewise.
10771         * config/avr/avr.md: Likewise.
10772         * config/arm/README-interworking: Fix typos.
10773
10774 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
10775
10776         * c-format.c: Fix comment formatting.
10777         * c-typeck.c: Likewise.
10778         * coverage.c: Likewise.
10779         * cppcharset.c: Likewise.
10780         * cpplib.c: Likewise.
10781         * dbxout.c: Likewise.
10782         * gcov-io.h: Likewise.
10783         * toplev.c: Likewise.
10784
10785 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10786
10787         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
10788         fix.
10789
10790 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
10791
10792         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
10793         uses three-argument AC_DEFINE so no acconfig.h entries are
10794         needed.
10795         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
10796         which contains the GAS version number as a scaled integer.
10797         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
10798         ability to check for ELF assembler.
10799         (gcc_GAS_CHECK_FEATURE): New macro.
10800         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
10801         assembler feature checks using gcc_GAS_CHECK_FEATURE.
10802         Use three-argument AC_DEFINE everywhere.
10803         * acconfig.h: Deleted.
10804         * config.in, configure: Regenerate.
10805
10806 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10807
10808         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
10809         (on OpenBSD).
10810         * fixinc/fixincl.x: Regenerate.
10811
10812         * fixinc/inclhack.def (gnu_types): Improve comment.
10813
10814 2003-07-12  Andreas Jaeger  <aj@suse.de>
10815
10816         * fp-test.c (main): Use ISO C90 prototype.
10817
10818         * version.c: Remove unneded include of ansidecl.h.
10819
10820         * cgraph.h: Convert prototypes to ISO C90.
10821         * cgraph.c: Likewise.
10822         * fix-header.c: Likewise.
10823         * ra.h: Likewise.
10824         * protoize.c: Likewise.
10825
10826 2003-07-12  Jan Hubicka  <jh@suse.cz>
10827
10828         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
10829         warning.
10830
10831 2003-07-12  Jan Hubicka  <jh@suse.cz>
10832                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10833
10834         * cgraph.c (cgraph_max_uid): New global variable.
10835         (cgraph_node): Set uid field.
10836         (create_edge): Keep inline flags consistent.
10837         (dump_cgraph): Dump more info.
10838         * cgraph.h (struct cgraph_local_info): Remove inline_many and
10839         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
10840         (struct cgraph_global_info): Add insns, calls, cloned_times,
10841         will_be_output.
10842         (struct cgraph_node): Add uid.
10843         (struct cgraph_edge): Add inline_call.
10844         (cgraph_max_uid, cgraph_inline_p): Declare.
10845         * cgraph.c: Include params.h and fibheap.h
10846         (cgraph_mark_functions_to_inline_once): Kill.
10847         (INSNS_PER_CALL): New constant.
10848         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
10849         static variables.
10850         (cgraph_finalize_function): Do not analyze inlining.
10851         (cgraph_finalize_compilation_unit): Set inlining attributes.
10852         (cgraph_mark_functions_to_output): More consistency checks.
10853         (cgraph_optimize_function): Set current_function_decl to NULL.
10854         (cgraph_expand_function): Use new inline flags.
10855         (cgraph_postorder): Expand from cgraph_expand_functions.
10856         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
10857         (cgraph_inlined_into, cgraph_inlined_callees,
10858         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
10859         cgraph_mark_inline, cgraph_check_inline_limits,
10860         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
10861         cgraph_decide_inlining, cgraph_inline_p): New functions.
10862         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
10863         PARAM_INLINE_UNIT_GROWTH): New parameters.
10864         * tree-inline.c (struct inline_data): New field current_decl.
10865         (expand_call_inline): Avoid forward declarations; use
10866         inlinable_function_p.
10867         (optimize_inline_calls): Set id.current_decl.
10868
10869 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
10870
10871         * configure.in: Remove wrongly added definition of
10872         local_prefix.
10873         * configure: Regenerate.
10874
10875 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
10876
10877         * rtl.def (NOTE): Do not use padding.
10878
10879 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
10880
10881         * doc/install.tex: Update required binutils for i?86-*-linux*
10882
10883 2003-07-11  Richard Henderson  <rth@redhat.com>
10884
10885         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
10886
10887 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
10888
10889         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
10890         TRANSLATION_UNIT_DECL as top_level.
10891
10892 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
10893
10894         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
10895         then fall back to cmpstrM.
10896         * builtins.c (expand_builtin_memcmp): Likewise.
10897         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
10898         (s390_expand_cmpmem): ... this.
10899         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
10900         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
10901         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
10902         to s390_expand_cmpmem.
10903         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
10904         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
10905         to cmpmem*.
10906         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
10907         cmpstr* patterns.
10908         * doc/md.texi (cmpstrM): Describe as String compare insn, not
10909         Block compare insn.
10910         (cmpmemM): Add.
10911
10912 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
10913
10914         * config/i386/freebsd.h (SET_ASM_OP): Remove.
10915         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
10916         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
10917          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
10918
10919 2003-07-11  Richard Henderson  <rth@redhat.com>
10920
10921         * function.c (assign_parms): Don't recombine complex args if
10922         fnargs is unchanged from orig_fnargs.
10923         (split_complex_args): Return args without complex before copying.
10924         Re-layout the modified parameters.
10925
10926 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
10927
10928         * regclass.c (choose_hard_reg_mode): Add third argument.
10929         Changed all callers.
10930         * rtl.h (choose_hard_reg_mode): Update declaration.
10931         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
10932         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
10933
10934 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
10935
10936         * c-decl.c (finish_decl): Handle 'used' here...
10937         * cgraphunit.c (cgraph_finalize_function): ... and here ...
10938         * c-common.c: (handle_used_attribute): ... not here.
10939
10940         * configure.in (onstep): Support --enable-intermodule.
10941         * Makefile.in (OBJS-common): New.
10942         (OBJS-md): New.
10943         (OBJS-archive): New.
10944         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
10945         (OBJS-onestep): New.
10946         (libbackend.a): Support @onestep@.
10947         (libbackend.o): New.
10948         * configure: Regenerate.
10949
10950         * c-common.h (c_reset_state): New prototype.
10951         (c_parse_file): New prototype.
10952         (finish_file): Move prototype from c-tree.h.
10953         * c-decl.c: Include <hashtab.h>.
10954         (builtin_decls): New.
10955         (current_file_decl): New.
10956         (duplicate_decls): Add extra parameter. Change all callers.  Don't
10957         output duplicate common symbols.
10958         (link_hash_hash): New.
10959         (link_hash_eq): New.
10960         (poplevel): Handle popping of the top level.
10961         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
10962         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
10963         (pushdecl_top_level): Likewise.
10964         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
10965         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
10966         (finish_decl): Handle TRANSLATION_UNIT_DECL.
10967         (merge_translation_unit_decls): New.
10968         (c_write_global_declarations): New.
10969         (c_reset_state): New.
10970         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
10971         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
10972         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
10973         TRANSLATION_UNIT_DECL.
10974         (c_objc_common_finish_file): Call merge_translation_unit_decls.
10975         * c-opts.c (in_fnames): Rename from in_fname.
10976         (c_common_decode_option): Handle multiple input filenames.
10977         (c_common_post_options): Likewise.
10978         (c_common_parse_file): Likewise; also, call c_parse_file rather than
10979         yyparse.
10980         * c-parse.in: Move cleanup code to c_parse_file.
10981         (free_parser_stacks): Move contents to c_parse_file.
10982         (c_parse_file): New.
10983         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
10984         for integer types.
10985         (C_DECL_FILE_SCOPE): New.
10986         (finish_file): Move prototype to c-common.h.
10987         (merge_translation_unit_decls): New prototype.
10988         (comptypes): Add extra parameter to prototype.
10989         (c_write_global_declarations): New prototype.
10990         * c-typeck.c (tagged_types_tu_compatible_p): New.
10991         (function_types_compatible_p): Add extra parameter, change all callers.
10992         (type_lists_compatible_p): Likewise.
10993         (comptypes): Likewise.
10994         (struct tagged_tu_seen): New.
10995         (tagged_tu_seen_base): New.
10996         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
10997         (c_mark_addressable): Remove #if 0 code.
10998         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
10999         comment explaining why it shouldn't have to.
11000         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
11001         options.
11002         * cppinit.c (cpp_read_next_file): New.
11003         (cpp_read_main_file): Use it.
11004         * cpplib.c (undefine_macros): New.
11005         (cpp_undef_all): New.
11006         * cpplib.h (cpp_read_next_file): Prototype.
11007         (cpp_undef_all): Prototype.
11008         * langhooks-def.h (write_global_declarations): Remove prototype.
11009         * toplev.h (write_global_declarations): Add prototype.
11010         * tree.c (decl_type_context): Use switch statement, handle
11011         TRANSLATION_UNIT_DECL.
11012         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
11013         (TRANSLATION_UNIT_DECL): New kind of tree.
11014         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
11015         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
11016         * doc/invoke.texi: Make attempt to document new functionality.
11017
11018         2003-05-19  Per Bothner <bothner@apple.com>
11019
11020         * gcc.c (combine_inputs): New.
11021         (process_command): Set combine_inputs.
11022         (do_spec_1): Handle combine_inputs.
11023         (main): Likewise.
11024
11025 2003-07-10  James E Wilson  <wilson@tuliptree.org>
11026
11027         PR optimization/9745
11028         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
11029         loop_insn_emit_before.
11030         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
11031
11032 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
11033
11034         * cppcharset.c: Fix comment.
11035         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
11036         (EILSEQ): #define to EINVAL if not already defined.
11037         (convert_using_iconv): #if out when !HAVE_ICONV.
11038         (init_iconv_desc): Handle !HAVE_ICONV here...
11039         (cpp_init_iconv): ...not here.
11040
11041 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
11042
11043         * common.opt: More --help messages.
11044         * opts.c (print_help): Use puts().
11045         * toplev.c (f_options): Remove help text.
11046         (display_help): Don't dump f_options.
11047
11048 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
11049
11050         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
11051         Move i?86-*-interix* to the don't-fix list.
11052         * fixinc/fixinc.interix: Delete with extreme prejudice.
11053
11054 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
11055
11056         PR bootstrap/10758
11057         * doc/install.texi: Document requirements for ia64-*-hpux* target.
11058
11059 2003-07-10  Roger Sayle  <roger@eyesopen.com>
11060
11061         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
11062
11063 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
11064
11065         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
11066         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
11067         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
11068         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
11069         convert_no_conversion, convert_using_iconv): New functions.
11070         (APPLY_CONVERSION): New macro.
11071         (struct conversion, conversion_tab): New data structure.
11072         (init_iconv_desc): Check conversion_tab for a custom conversion
11073         primitive before trying to use iconv.
11074         (convert_cset): Deleted.
11075         (cpp_init_iconv): Use UTF- terminology, not UCS-.
11076         (_cpp_destroy_iconv): Update to match.
11077         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
11078         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
11079         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
11080         (_cpp_interpret_string_notranslate): New function, moved here
11081         from cpplib.c.
11082
11083         * cpphash.h (convert_f, struct cset_converter): New types.
11084         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
11085         are now struct cset_converter, not bare iconv_t.
11086         Update prototypes.
11087         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
11088         all callers changed.
11089
11090 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
11091
11092         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
11093         to opts.sh command line.
11094         * opts.sh: Write to temporary files with a move-if-change at the end.
11095
11096 2003-07-10  Denis Chertykov  <denisc@overta.ru>
11097             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11098
11099         * combine.c (gen_binary): Handle the CLOBBER rtx and
11100         don't build a binary operation with it.
11101
11102 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11103
11104         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
11105         store_killed_after, store_killed_before): Keep track of the correct
11106         dependency function to use.
11107
11108 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
11109         * toplev.c (do_compile): Don't try to open dump files before
11110         lang_dependent_init initializes dump_base_name.
11111
11112 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11113
11114         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
11115         Use ARRAY_SIZE.
11116         * config/frv/frv.c (frv_expand_builtin): Likewise.
11117         * config/sh/sh.c (sh_media_init_builtins): Likewise.
11118
11119 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
11120
11121         PR c++/10032
11122         * doc/invoke.texi (C++ Dialect Options): Change documentation of
11123         -fpermissive.
11124
11125 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
11126
11127         * tm.texi (RETURN_ADDR_OFFSET): Document.
11128
11129 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
11130
11131         * gcov-io.h: Update documentation.
11132         (GCOV_UNSIGNED2STRING): New.
11133         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
11134         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
11135         GCOV_TAG_SUMMARY_LENGTH): Adjust.
11136         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
11137         GCOV_TAG_COUNTER_NUM): New.
11138         (GCOV_BLOCK_SIZE): Number of words.
11139         (gcov_var): Adjust buffer type.
11140         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
11141         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
11142         count, not byte count.
11143         (gcov_open): Adjust overread init.
11144         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
11145         gcov_write_string, gcov_write_tag, gcov_write_length,
11146         gcov_write_tag_length): Adjust.
11147         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
11148         (gcov_sync, gcov_seek): Adjust.
11149         * gcov-dump.c (print_usage): Show gcc version only.
11150         (dump_file): Use GCOV_UNSIGNED2STRING.
11151         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
11152         * gcov.c (print_version): Show gcc version only.
11153         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
11154         GCOV_TAG_*_NUM macros.
11155         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
11156         GCOV_TAG_COUNTER_LENGTH.
11157         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
11158         Use GCOV_TAG_COUNTER_NUM.
11159         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
11160         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
11161
11162 2003-07-10  Andreas Schwab  <schwab@suse.de>
11163
11164         * gcov-dump.c (dump_file): Fix missing address operator.
11165
11166 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
11167
11168         PR c/11449
11169         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
11170         of HOST_WIDE_INT.
11171         (fold_single_bit_test): If sign_bit_p() fails, assume that the
11172         bit being tested is not a sign bit.
11173
11174 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
11175
11176         * config/h8300/h8300.md (a peephole2): New.
11177
11178 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
11179
11180         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
11181         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
11182         from ld-linux.so.2 to ld.so.1.
11183         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
11184         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
11185         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
11186         nor -Wl,-rpath-link.
11187         (LIB_SPEC): Add -rpath-link if !static.
11188         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
11189         * config/mn10300/mn10300.c (mn10300_protect_label): New
11190         variable.
11191         * config/mn10300/linux.h (PRINT_OPERAND,
11192         PRINT_OPERAND_ADDRESS): Set it during their execution.
11193         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
11194         mn10300_protect_label is set.
11195         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
11196         -Wl,-rpath-link.
11197         (LIB_SPEC, STARTFILE_SPEC): Define.
11198         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
11199         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
11200         FLOAT_BIT_ORDER_MISMATCH.
11201         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
11202         * config.gcc (am33_2.0-*-linux*): Added.
11203         * config/mn10300/linux.h: New.
11204         * config/mn10300/t-linux: New.
11205
11206 2003-07-10  Andreas Jaeger  <aj@suse.de>
11207
11208         * fold-const.c: Properly wrap prototypes.
11209
11210 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
11211
11212         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
11213         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
11214         Moved from...
11215         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
11216         * config/mn10300/mn10300.h: GTY-declare it.
11217         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
11218         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
11219         prototype.  Use incoming RTL argument.
11220         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
11221         * config/mn10300/mn10300.md (int_label): Move C statements...
11222         (GOTaddr2picreg): ... here.
11223         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
11224         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
11225         * config/mn10300/mn10300.c (mn10300_encode_section_info):
11226         ... here.  New function.
11227         (TARGET_ENCODE_SECTION_INFO): Define to it.
11228         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
11229         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
11230         pattern name.
11231         (mn10300_loadPC): Define as insn splittable after reload.
11232         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
11233         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
11234         be defined in .rodata even in PIC, now that the assembler
11235         supports that.
11236         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
11237         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
11238         symbol take an underscore prefix.
11239         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
11240         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
11241         legitimize_pic_address): Declare.
11242         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
11243         the PIC register as fixed.
11244         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
11245         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
11246         PIC.
11247         (LEGITIMATE_PIC_OPERAND_P): Define.
11248         (PIC_OFFSET_TABLE_REGNUM): Define.
11249         (GOT_SYMBOL_NAME): Define.
11250         (SYMBOLIC_CONST_P): Define.
11251         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
11252         symbols.
11253         (MN10300_GLOBAL_P): Test it.
11254         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
11255         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
11256         * config/mn10300/mn10300.c (print_operand): Handle unspec.
11257         (expand_prologue): Set PIC register.
11258         (call_address_operand): Don't match SYMBOL_REFs in PIC.
11259         (legitimize_address): Call legitimize_pic_address.
11260         (legitimize_pic_address): New fn.
11261         (legitimate_pic_operand_p): New fn.
11262         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
11263         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
11264         UNSPEC_PLT): New constants.
11265         (pop_pic_reg): New insn.
11266         (movsi): Adjust non-PIC addresses.
11267         (builtin_setjmp_receiver): Restore the PIC register.
11268         (casesi): New insn.
11269         (call): Adjust non-PIC addresses.
11270         (int_label, GOTaddr2picreg): New expands.
11271         (am33_loadPC): New insn.
11272         (mn10300_loadPC): New expand.
11273         (call_next_insn): New insn.
11274         (add_GOT_to_pic_reg): New expand.
11275         (symGOT2reg, symGOT2reg_i): New expands.
11276         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
11277         (sym2PIC, sym2PLT): New expands.
11278
11279 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
11280
11281         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
11282         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
11283         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
11284         to flag_unsafe_math_optimizations.
11285         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
11286         * config/mn10300/mn10300.c (expand_prologue): Mark
11287         FP-register-saving insns as frame-related.
11288         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
11289         * config/mn10300/mn10300.c
11290         (mn10300_get_live_callee_saved_regs): Don't search past
11291         LAST_EXTENDED_REGNUM.
11292         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
11293         * config/mn10300/mn10300.md: Remove excessive line breaks from
11294         `@' output patterns that were accounted as additional
11295         alternatives.
11296         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
11297         Re-introduce changes accidentally removed in Richard Sandiford's
11298         2000-12-05's patch.
11299         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11300         Re-instate am33-2 lost in merge from net GCC.
11301         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
11302         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
11303         floating-point registers.
11304         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
11305         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
11306         pessimizations that had gone in on 2000-05-08.
11307         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
11308         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
11309         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
11310         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
11311         operand 0.
11312         * (movhi): Likewise.
11313         * (movsi): Likewise.
11314         * (movsf): Likewise.
11315         * (movdi): Likewise.
11316         * (movdf): Likewise.
11317         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
11318         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
11319         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
11320         (expand_prologue, expand_epilogue): Save and restore FP regs.
11321         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
11322         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
11323         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
11324         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
11325         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
11326         Do not clobber cc0.
11327         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
11328         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
11329         Discourage the two-argument, longer opcodes.
11330         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
11331         ones.
11332         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
11333         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
11334         * config/mn10300/mn10300.md (cmpsf): New pattern.
11335         (branch): Test mdep.fpCC and output fbCC.
11336         * config/mn10300/mn10300.c (print_operand): Output conditions.
11337         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
11338         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
11339         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
11340         mulsf3, divsf3): Use the `F' constraint for FP values.
11341         * config/mn10300/mn10300.c (const_1f_operand): New function.
11342         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
11343         * config/mn10300/mn10300.md (sqrtsf2): New expand.
11344         (rsqrtsf2): New insn.
11345         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
11346         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
11347         previous check-in.
11348         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
11349         * config/mn10300/mn10300.md (abssf2, negdf2): On
11350         TARGET_AM33_2, expand to...
11351         (abssf2_am33_2, negdf2_am33_2): New insns.
11352         (addsf3, subsf3, mulsf3, divsf3): Likewise.
11353         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
11354         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
11355         movdi, movdf): Added FP regs.
11356         * invoke.texi (-mam33-2, -mno-am33-2): Document.
11357         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
11358         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
11359         New macros.
11360         (REGNO_AM33_2_FP_P): Renamed to...
11361         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
11362         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
11363         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
11364         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
11365         regs from GENERAL_REGS.
11366         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
11367         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
11368         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
11369         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
11370         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
11371         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
11372         as FP_REGS.
11373         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
11374         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
11375         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
11376         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
11377         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
11378         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
11379         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
11380         AM33/2.0 floating-point registers.
11381         (CONDITIONAL_REGISTER_USAGE): Adjust.
11382         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
11383         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
11384         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
11385         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
11386         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
11387         (MULTILIB_DIRNAMES): Likewise.
11388         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
11389         `__AM33_2__' when `-mam33-2' is given.
11390         (TARGET_AM33_2): Define.
11391         (TARGET_SWITCHES): Adjust.
11392         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
11393         when appropriate.
11394
11395 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
11396
11397         * doc/install.texi: Add missing @.
11398
11399 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
11400
11401         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
11402
11403 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
11404
11405         PR/11144
11406         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
11407
11408 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
11409
11410         PR bootstrap/11043
11411         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
11412         "x-crtfini.o" with "crtinit.o", "crtfini.o".
11413
11414         * fixinc/inclhack.def (limits_ifndefs): Add select test.
11415         * fixinc/fixincl.x: Rebuild.
11416
11417         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
11418         * fixinc/fixincl.x: Rebuild.
11419
11420 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
11421
11422         * doc/install.texi (Configuration): Document the valgrind option
11423         to --enable-checking.
11424
11425 2003-07-09  Jan Hubicka  <jh@suse.cz>
11426
11427         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
11428
11429 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11430
11431         * c-lex.c (cb_ident): Cast cstr.text to const char *.
11432
11433 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
11434
11435         * gcov-io.h: Update documentation.
11436         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
11437         GCOV_NOTE_MAGIC.
11438         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
11439         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
11440         (struct gcov_var): Change buffer's type. Add endian flag.
11441         (gcov_open): Remove mode in libgcov.
11442         (gcov_magic): Prototype.
11443         * gcov-io.c (from_file): New.
11444         (gcov_open): Clear endian flag.
11445         (gcov_magic): New.
11446         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
11447         pointers.
11448         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
11449         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
11450         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
11451         * gcov-iov.c (main): Correct cast.
11452         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
11453         conversion.
11454         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
11455         (coverage_init): Use GCOV_NOTE_SUFFIX.
11456         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
11457         Rename to gcov_version, and return flag.
11458         (gcov_exit): Use gcov_version.
11459         (__gcov_init): Use gcov_version.
11460         * Makefile.in (coverageexts): Update.
11461         * gcov.c (print_version): Remove endianness conversion.
11462         (create_file_names): Use GCOV_NOTE_SUFFIX.
11463         (read_graph_file): Use gcov_magic.
11464         (read_count_file): Likewise.
11465         * gcov-dump.c (dump_file): Remove endianness conversion, use
11466         gcov_magic.
11467
11468 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
11469
11470         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
11471         coverage is on.
11472         * configure: Regenerated.
11473         * Makefile.in (ALL_CFLAGS): Correct its comment.
11474
11475 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
11476
11477         * fold-const.c (make_range): Do not access operand 1 for a
11478         zero-operand operator.
11479
11480 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
11481
11482         * toplev.c (warn_dummy, W_options): Die.
11483         (display_help): Don't print W_options.
11484         * common.opt: Add W_options help from toplev.c.
11485
11486 2003-07-09  Andreas Jaeger  <aj@suse.de>
11487
11488         * opts.c (wrap_help): Only pass int arguments as arguments to
11489         printf's '*' modifier.  Change argument of function.
11490
11491 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
11492
11493         * doc/invoke.texi: Fix misspelling of "@item".
11494
11495 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
11496
11497         * config/i386/i386.md: Remove an old comment about
11498         NOTICE_UPDATE_CC.
11499
11500 2003-07-09  Jan Hubicka  <jh@suse.cz>
11501
11502         * cgraph.c (cgraph_node_name): New function.
11503         (dump_cgraph): Use it.
11504         * cgraph.h (cgraph_dump_file): Declare.
11505         (cgraph_node_name): Declare.
11506         * cgraphunit.c: Include timevar.h
11507         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
11508         (cgraph_optimize_function): Use TV_INTEGRATION.
11509         (cgraph_mark_local_functions): reorganize dumps.
11510         (cgraph_mark_functions_to_inline_once): Likewise.
11511         (cgraph_optimize): Likewise; use timevar.
11512         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
11513         * toplev.c (dump_file_index): Add DFI_cgraph.
11514         (dump_file_info): Likewise.
11515         (cgraph_dump_file): New global variable.
11516         (do_compile): Open and close cgraph dump.
11517         * invoke.texi (-d): Document new flag; renumber.
11518
11519 2003-07-08  Roger Sayle  <roger@eyesopen.com>
11520
11521         PR c/11370
11522         * calls.c (emit_call_1): Don't bother popping the arguments off of
11523         the stack after a noreturn function call;  The adjustment is dead.
11524         (expand_call): Likewise.
11525
11526 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
11527
11528         * expr.c (MOVE_MAX_PIECES): Move from here...
11529         * defaults.h (MOVE_MAX_PIECES): ... to here.
11530
11531 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
11532
11533         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
11534
11535 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11536
11537         * genattr.c (internal_dfa_insn_code): Don't prototype.
11538         * genattrtab.c (attr_desc): Add `static_p' field.
11539         (expand_units): Make blockage range and ready cost functions
11540         static.
11541         (write_attr_get): Don't add extern prototypes in C file.  Mark
11542         static functions as appropriate.
11543         (find_attr, make_internal_attr): Initialize static_p.
11544         * genattrtab.h (ATTR_STATIC): New macro.
11545         * genautomata.c (output_internal_reset_func): Mark output function
11546         as inline.
11547         (make_internal_dfa_insn_code_attr): Mark output function as static.
11548
11549 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11550
11551         * genattrtab.h: Add new macros for attr `special' flags.
11552         * genattrtab.c (attr_desc): Reorder/resize fields better.
11553         Use attr `special' macros in all calls to make_internal_attr.
11554         * genautomata.c: Likewise.
11555
11556 2003-07-09  Jan Hubicka  <jh@suse.cz>
11557
11558         * c-common.c (c_estimate_num_insns_1): New static function.
11559         (c_estimate_num_insns): New global function.
11560         * c-common.h (DECL_NUM_STMTS): Rename to...
11561         (DECL_ESTIMATED_INSNS): ... this.
11562         (c_estimate_num_insns): Declare.
11563         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
11564         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
11565         * c-semantics.c (add_stmt): Do not account statements.
11566         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
11567         New.
11568         * langhooks.h (lang_hooks_for_tree_inlining): Add
11569         estimate_num_insns
11570         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
11571         to 100.
11572         (max-inline-insns): set to 300.
11573         (min-inline-insns): set to 10.
11574         * tree-inline.c (struct inline_data): Rename inlined_stmts to
11575         inlined-insns.
11576         (INSNS_PER_STMT): Kill.
11577         (inlinable_function_p): Compute and store body size.
11578         (expand_call_inline): Likewise.
11579         (optimize_inline_calls): Likewise.
11580
11581 2003-07-08  James E Wilson  <wilson@tuliptree.org>
11582
11583         PR target/10021
11584         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
11585         loop over new variable t2 instead of t.
11586
11587 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
11588
11589         PR bootstrap/11455
11590         * config/i386/winnt.c: Replace use of error(), warning() with
11591         error_with_decl(), warning_with_decl(),  throughout.
11592
11593 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
11594
11595         * opts.c (wrap_help): Use unsigned int, not size_t.
11596
11597 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
11598
11599         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
11600         as .file/.loc directives are incompatible with linker relaxation.
11601
11602 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
11603
11604         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
11605         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
11606         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
11607         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
11608         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
11609         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
11610         Escape { and } characters which are not part of range expressions.
11611         * fixinc/fixincl.x: Regenerate.
11612         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
11613
11614 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
11615
11616         PR c/1687
11617         * tree-inline.c (find_alloca_call): Use
11618         walk_tree_without_duplicates, instead of walk_tree.
11619         (find_builtin_longjmp_call): Likewise.
11620         * c-objc-common.c (c_cannot_inline_fn): Likewise.
11621         * c-semantics.c (find_reachable_label): Likewise.
11622
11623 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
11624
11625         PR c/11420
11626         * config/i386/i386.c (ix86_check_movabs): New function.
11627         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
11628         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
11629         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
11630
11631 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
11632
11633         * Makefile.in (install-po): Cope with empty CATALOGS.
11634
11635 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
11636
11637         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
11638         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
11639         (SECTION_FUNCTION_TEMPLATE): Delete.
11640         * config/mips/elf.h: As for elf64.h.
11641         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
11642         * config/mips/linux.h: As for elf.h
11643         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
11644         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
11645         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
11646         of in_sdata from current_section_name and current_section_flags.
11647         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
11648         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
11649         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
11650         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
11651         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
11652         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
11653         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
11654         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
11655         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
11656         (override_options): Remove setting of MASK_GPOPT.
11657         (mips_output_external): Use mips_in_small_data_p to check whether a
11658         symbol needs an .extern directive.  Don't emit such directives for
11659         TARGET_EXPLICIT_RELOCS.
11660         (mips_declare_object): Update accordingly.
11661         (mips_select_rtx_section): Call named_section rather than
11662         SMALL_DATA_SECTION.
11663         (mips_select_section): Use default_elf_section_section for everything
11664         except .text string constants.
11665         (mips_in_small_data_p): New function.
11666         (mips_encode_section_info): Remove small data handling.
11667         (mips_unique_section): Delete.
11668         (iris6_section_type_flags): New function.
11669         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
11670
11671 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11672
11673         PR Target/11453
11674         * pa.md: Disparage all mtsar constraints.
11675         (extzv, extv, insv): Don't fail on length of {32|64}.
11676
11677 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
11678
11679         * system.h: Poison MAP_CHARACTER.
11680         * config/i370/i370-protos.h (mvs_map_char): Delete.
11681         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
11682         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
11683         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
11684
11685 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
11686
11687         * toplev.c (randomize): Correct call to time().
11688
11689 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
11690
11691         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
11692         REG_EQUIV notes as well.
11693
11694 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
11695
11696         * doc/md.texi: Fix the description of addmodecc.
11697
11698 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
11699
11700         * Makefile.in (top_builddir): Set to "..", not ".".
11701         (INTLLIBS, INTLDEPS): Delete.
11702         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
11703         (LIBDEPS): Add $(LIBICONV_DEP).
11704         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
11705         (INCLUDES): Replace -I../intl with @INCINTL@.
11706         ($(top_builddir)/intl/libintl.a): Delete rule.
11707         (stage2-start, stage3-start, stage4-start, stageprofile-start,
11708         stagefeedback-start): Use $$ for variable to be evaluated by
11709         shell, not make.
11710         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
11711         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
11712         * aclocal.m4: sinclude ../config/progtest.m4.  Add
11713         contents of lcmessage.m4 from gettext distro.
11714         * configure.in: Check for wchar.h and setlocale.  Set
11715         LIBICONV_DEP to the empty string and substitute it.
11716         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
11717         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
11718         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
11719         in $LIBINTL, to avoid linking it twice.
11720         * configure, config.in: Regenerate.
11721
11722 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
11723
11724         * fixinc/mkfixinc.sh: Remove winnt support.
11725         * fixinc/fixinc.winnt: Delete with extreme prejudice.
11726
11727 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
11728
11729         * Makefile.in: Update.
11730         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
11731         * c.opt: Update documentation.
11732         * common.opt: Add some help text.
11733         * opts.c: Include intl.h.
11734         (wrap_help, print_help): New.
11735         (find_opt, handle_option, common_handle_option): opt_text now
11736         contains the '-'.  Use print_help to output help.
11737         * opts.h (struct cl_option): New member "help".
11738         * opts.sh: Update to handle help text output and to prepend
11739         options with '-'.
11740         * toplev.c (display_help): Remove some help text.
11741
11742 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
11743             Fariborz Jahanian  <fjahanian@apple.com>
11744
11745         * configure.in: Test for PowerPC mfcr field support in assembler.
11746         * config.in, configure: Regenderated.
11747
11748         * config/rs6000/power4.md: Add mfcrf reservation.
11749         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
11750         * config/rs6000/rs6000.c (mfcr_operation): Define.
11751         (print_operand): Add 'Q' case for mfcrf.
11752         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
11753         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
11754         (movcc_internal1): Emit optional field operand for mfcr and set
11755         "type" attribute appropriately.
11756         (mfcr SCC): Likewise.
11757         (movesi_from_cr_one): New.
11758
11759 2003-07-07  Roger Sayle  <roger@eyesopen.com>
11760
11761         * config/i386/i386.md: Correct check-in of incorrect version.
11762
11763 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11764
11765         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
11766         adjacent stdio calls.
11767         * c-decl.c (c_print_identifier): Likewise.
11768         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
11769         * print-rtl.c (print_rtx): Likewise.
11770         * print-tree.c (print_node_brief, print_node): Likewise.
11771         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
11772
11773         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
11774         * config.in, configure: Regenerated.
11775
11776 2003-07-07  Roger Sayle  <roger@eyesopen.com>
11777
11778         PR target/10979
11779         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
11780         Changed to define_expand patterns that copy operand[1] to prevent
11781         it from being clobbered before emitting an atan2?f3_1 insn.
11782         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
11783         patterns that actually specify the behaviour of x87's FPATAN.
11784
11785 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
11786
11787         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
11788         clearing of SYMBOL_FLAG_LOCAL bit.
11789         If vcall_offset fits into signed 16-bit immediate, use
11790         one instruction for both addition and load.
11791
11792 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
11793
11794         * opts.c (common_handle_option): Correct handling of the
11795         -falign- switches that do and don't take an argument.
11796
11797 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
11798
11799         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
11800         today.
11801         (pushhi1_h8300hs): Likewise.
11802
11803 2003-07-07  Andreas Jaeger  <aj@suse.de>
11804
11805         * genextract.c: Convert remaining prototypes to ISO C90.
11806
11807         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
11808         * fold-const.c (fold_single_bit_test): Likewise.
11809         * diagnostic.c (default_diagnostic_finalizer): Likewise.
11810         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
11811
11812         * gengtype.c (write_array): Generate ISO C90 prototypes.
11813
11814         * genflags.c (gen_proto): Generate ISO C90 prototypes.
11815
11816 2003-07-07  Roger Sayle  <roger@eyesopen.com>
11817
11818         PR optimization/11059
11819         * expr.c (can_store_by_pieces): Return true if length is zero.
11820         (store_by_pieces): If length is zero and endp is two, abort,
11821         othwerise, if length is zero and endp is not two, return "to".
11822         (clear_by_pieces): Do nothing if length is zero.
11823         (clear_storage): Do nothing if length is zero.
11824         (store_constructor): Simplify code when size is zero, or the
11825         target has already been cleared.  This avoids emitting a
11826         blockage instruction when initializing empty structures.
11827
11828 2003-07-07  Andreas Jaeger  <aj@suse.de>
11829
11830         * mips-tfile.c: Convert prototypes to ISO C90.
11831         * mips-tdump.c: Convert prototypes to ISO C90.
11832
11833 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
11834
11835         * rtl.h (emit_line_note): Take a location_t.
11836         (emit_line_note_force): Remove.
11837         (set_file_and_line_for_statement): Take a location_t.
11838         * tree.g (emit_line_note): Take a location_t.
11839         * emit-rtl.c (emit_line_note): Take a location_t.
11840         (emit_line_note_force): Remove.
11841         * function.c (init_function_start): Adjust emit_line_note call.
11842         (expand_function_end): Use force_next_line_note, not
11843         emit_line_note_force.
11844         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
11845         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
11846         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
11847         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
11848         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
11849         genrtl_continue_stmt, genrtl_switch_stmt,
11850         genrtl_asm_stmt): Likewise.
11851         * expr.c (expand_expr): Likewise.
11852         * integrate.c (expand_inline_function): Likewise.
11853         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
11854         (expand_decl_init): Adjust emit_line_note call.
11855
11856 2003-07-07  Dale Johannesen  <dalej@apple.com>
11857
11858         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
11859
11860 2003-07-07  Andreas Jaeger  <aj@suse.de>
11861
11862         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
11863         * config/i386/i386.c: Likewise.
11864
11865 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
11866
11867         * config/h8300/h8300.md: Use gen_int_mode instead of
11868         GEN_INT (trunc_int_for_mode (...)).
11869
11870 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
11871
11872         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
11873         2 bytes and then subtract 2 from the stack pointer.
11874         (pushhi1_h8300hs): Likewise.
11875
11876 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
11877
11878         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
11879         -frandom-seed.
11880         * configure: Regenerated.
11881         * Makefile.in: Remove extraneous comment.
11882         * toplev.c (randomize): Protect against potential multiple calls.
11883         * doc/invoke.texi (-frandom-seed): Document use for in coverage
11884         files.
11885
11886 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11887             Eric Botcazou  <ebotcazou@libertysurf.fr>
11888
11889         PR optimization/11198
11890         * alias.c (objects_must_conflict_p): Return 1 if the types have
11891         the same alias set, not if the alias sets only conflict.
11892
11893 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
11894
11895         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
11896         (convert_cset): Change inbuf to type ICONV_CONST char.
11897         * Makefile.in (LIBS): Add LIBICONV.
11898
11899         * doc/invoke.texi (-falign-functions): Document that
11900         when n is zero then a machine-dependent default is used.
11901         (-falign-labels): Document that when n is zero then a
11902         machine-dependent default is used and that -falign-labels =1
11903         is equivalent to -fno-align-labels.
11904         (-falign-loops): Likewise.
11905         (-falign-jumps): Likewise.
11906
11907 2003-07-06  Art Haas  <ahaas@airmail.net>
11908
11909         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
11910         initializer syntax.
11911
11912 2003-07-06  James E Wilson  <wilson@tuliptree.org>
11913
11914         PR optimization/9812
11915         * rtl.h (mem_for_const_double): Delete prototype.
11916         * varasm.c (mem_for_const_double): Delete function.
11917         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
11918         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
11919         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
11920         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
11921         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
11922         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
11923         comment about confused support for XFmode constants.
11924
11925 2003-07-07  Jan Hubicka  <jh@suse.cz>
11926
11927         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
11928
11929 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
11930
11931         * config/h8300/h8300.c: Fix comment typos.
11932         * config/h8300/h8300.md: Likewise.
11933         * config/i386/athlon.md: Likewise.
11934         * config/i386/i386.c: Likewise.
11935         * config/i386/pentium.md: Likewise.
11936         * config/ia64/ia64.c: Likewise.
11937         * config/ia64/itanium1.md: Likewise.
11938         * config/ia64/itanium2.md: Likewise.
11939         * config/m32r/m32r.md: Likewise.
11940         * config/m68hc11/m68hc11.c: Likewise.
11941         * config/mcore/mcore.c: Likewise.
11942         * config/mips/sr71k.md: Likewise.
11943         * config/mips/t-iris5-as: Likewise.
11944         * config/mmix/mmix.h: Likewise.
11945         * config/ns32k/ns32k.h: Likewise.
11946         * config/ns32k/NOTES: Fix a typo.
11947
11948 2003-07-06  Andreas Jaeger  <aj@suse.de>
11949
11950         * stmt.c: Convert remaining prototypes to ISO C90.
11951         * cfglayout.c: Likewise.
11952         * dbxout.c: Likewise.
11953         * gcc.c: Likewise.
11954         * genemit.c: Likewise.
11955
11956         * basic-block.h: Convert prototypes to ISO C90.
11957         * c-parse.in: Likewise.
11958         * c-pragma.h: Likewise.
11959         * c-typeck.c: Likewise.
11960         * cfghooks.h: Likewise.
11961         * cfgloopanal.c: Likewise.
11962         * dbxout.h: Likewise.
11963         * debug.h: Likewise.
11964         * dwarf2asm.h: Likewise.
11965         * gcov.c: Likewise.
11966         * gengtype-lex.l: Likewise.
11967         * sched-int.h: Likewise.
11968         * timevar.c: Likewise.
11969
11970 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
11971
11972         * c-common.h (c_comon_handle_filename,
11973         c_common_missing_arguement): New.
11974         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
11975         LANG_HOOKS_MISSING_ARGUMENT): New.
11976         * c-opts.c (missing_arg): Rename c_common_missing_argument,
11977         update to be an appropriate langhook.
11978         (c_common_handle_option): Don't handle filenames.
11979         (c_common_handle_filename): New.
11980         * hooks.c (hook_void_constcharptr,
11981         hook_bool_constcharptr_size_t_false): New.
11982         * hooks.h (hook_void_constcharptr,
11983         hook_bool_constcharptr_size_t_false): New.
11984         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
11985         LANG_HOOKS_MISSING_ARGUMENT): New.
11986         (LANG_HOOKS_INITIALIZER): Update.
11987         * langhooks.h (struct lang_hooks): Add handle_filename and
11988         missing_argument.
11989         * opts.c (handle_option): Don't handle filenames here, but ...
11990         (handle_options): ... here.
11991         (common_handle_option): Don't handle missing arguments here.
11992         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
11993         LANG_HOOKS_MISSING_ARGUMENT): New.
11994
11995 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
11996
11997         * Makfile.in: Remove traces of mbchar.
11998         * c-parse.in (MULTIBYTE_CHARS): Remove.
11999         * config.in (MULTIBYTE_CHARS): Remove.
12000         * configure: Remove --enable-mbchar.
12001         * configure.in: Remove --enable-mbchar.
12002         * mbchar.c, mbchar.h: Remove.
12003         * system.h: Poison MULTIBYTE_CHARS.
12004         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
12005         * config/linux.h (MULTIBYTE_CHARS): Remove.
12006         * config/svr4.h (MULTIBYTE_CHARS): Remove.
12007         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
12008
12009 2003-07-06  Andreas Jaeger  <aj@suse.de>
12010
12011         * varray.c (varray_check_failed): Fix typo.
12012
12013         * unroll.c: Convert prototypes to ISO C90.
12014         * varasm.c: Likewise.
12015         * varray.c: Likewise.
12016         * varray.h: Likewise.
12017         * vmsdbgout.c: Likewise.
12018         * xcoffout.c: Likewise.
12019         * xcoffout.h: Likewise.
12020
12021 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12022
12023         * gcov-io.h: Add a local time stamp.
12024         (struct gcov_info): Add stamp field.
12025         (gcov_truncate): New.
12026         * coverage.c (read_counts_file): Skip the stamp.
12027         (coverage_begin_output): Write the stamp.
12028         (build_gcov_info): Declare and init the stamp.
12029         (coverage_finish): Only unlink data file, if stamp is zero.
12030         * gcov-dump.c (dump_file): Dump the stamp.
12031         * gcov.c (bbg_stamp): New.
12032         (release_structures): Clear bbg_stamp.
12033         (read_graph_file): Read stamp.
12034         (read_count_file): Check stamp.
12035         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
12036
12037 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12038
12039         * tree.h (default_flag_random_seed): Remove.
12040         * toplev.h (local_tick): Declare.
12041         * tree.c (flag_random_seed, default_flag_random_seed): Move to
12042         toplev.c.
12043         (append_random_chars): Don't call default_flag_random_seed.
12044         * toplev.c (flag_random_seed): Define here. Set local_tick.
12045         (local_tick): Define.
12046         (randomize): New, moved from tree.c.
12047         (print_switch_values): Adjust.
12048         (toplev_main): Call randomize.
12049
12050 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
12051
12052         * tree.h (crc32_string): Declare.
12053         * tree.c (append_random_chars): Remove.
12054         (crc32_string): New.
12055         (get_file_function_name_long): Use crc32_string here.
12056
12057 2003-07-06  Andreas Jaeger  <aj@suse.de>
12058
12059         * gcc.c: Convert prototypes to ISO C90.
12060         * gcc.h: Likewise.
12061         * gcov-dump.c: Likewise.
12062         * gcov-iov.c: Likewise.
12063         * gcse.c: Likewise.
12064         * genattrtab.h: Likewise.
12065         * ggc.h: Likewise.
12066         * global.c: Likewise.
12067         * graph.c: Likewise.
12068         * graph.h: Likewise.
12069         * hosthooks.h: Likewise.
12070         * hooks.h: Likewise.
12071         * hooks.c: Likewise.
12072         * hashtable.h: Likewise.
12073         * hashtable.c: Likewise.
12074         * haifa-sched.c: Likewise.
12075         * integrate.h: Likewise.
12076         * integrate.c: Likewise.
12077         * input.h: Likewise.
12078         * ifcvt.c: Likewise.
12079         * jump.c: Likewise.
12080         * langhooks-def.h: Likewise.  Add extern to prototypes.
12081         * langhooks.c: Likewise.
12082         * langhooks.h: Likewise.
12083         * lcm.c: Likewise.
12084         * local-alloc.c: Likewise.
12085         * loop-init.c: Likewise.
12086         * loop-unroll.c: Likewise.
12087         * loop-unswitch.c: Likewise.
12088         * loop.c: Likewise.
12089         * loop.h: Likewise. Add extern to prototypes.
12090         * machmode.h: Likewise.
12091         * main.c: Likewise.
12092         * mbchar.c: Likewise.
12093         * mbchar.h: Likewise.
12094         * mkdeps.c: Likewise.
12095         * mkdeps.h: Likewise.
12096         * optabs.c: Likewise.
12097         * optabs.h: Likewise.
12098         * output.h: Likewise.
12099         * gccspec.c: Likwise.
12100         * postreload.c: Likewise.
12101         * prefix.c: Likewise.
12102         * prefix.h: Likewise.
12103         * print-rtl.c: Likewise.
12104         * print-tree.c: Likewise.
12105         * profile.c: Likewise.
12106         * read-rtl.c: Likewise.
12107         * real.c: Likewise.
12108         * real.h: Likewise.
12109         * recog.c: Likewise.
12110         * recog.h: Likewise.
12111         * reg-stack.c: Likewise.
12112         * regclass.c: Likewise.
12113         * regmove.c: Likewise.
12114         * regrename.c: Likewise.
12115         * regs.h: Likewise.
12116         * reload.c: Likewise.
12117         * reload.h: Likewise.
12118         * reload1.c: Likewise.
12119         * reorg.c: Likewise.
12120         * resource.c: Likewise.
12121         * resource.h: Likewise.
12122         * rtl-error.c: Likewise.
12123         * rtl.c: Likewise.
12124         * rtl.h: Likewise.
12125         * rtlanal.c: Likewise.
12126         * sbitmap.c: Likewise.
12127         * sbitmap.h: Likewise.
12128         * scan-decls.c: Likewise.
12129         * scan.c: Likewise.
12130         * sched-deps.c: Likewise.
12131         * sched-ebb.c: Likewise.
12132         * sched-int.h: Likewise.
12133         * sched-rgn.c: Likewise.
12134         * sched-vis.c: Likewise.
12135         * sibcall.c: Likewise.
12136         * simplify-rtx.c: Likewise.
12137         * sreal.c: Likewise.
12138         * sreal.h: Likewise.
12139         * ssa-ccp.c: Likewise.
12140         * ssa-dce.c: Likewise.
12141         * ssa.c: Likewise.
12142         * ssa.h: Likewise.
12143         * stack.h: Likewise.
12144         * stmt.c: Likewise.
12145         * stor-layout.c: Likewise.
12146         * stringpool.c: Likewise.
12147         * target.h: Likewise.
12148         * timevar.c: Likewise.
12149         * timevar.h: Likewise.
12150         * tlink.c: Likewise.
12151         * tracer.c: Likewise.
12152         * tree-inline.c: Likewise.
12153         * tree-inline.h: Likewise.
12154         * tree.c: Likewise.
12155         * tree.h: Likewise.
12156
12157 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12158
12159         * combine.c (nonzero_bits1): Fix a warning.
12160
12161 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12162
12163         * config/h8300/h8300.c (compute_mov_length): Correct the
12164         length of loading CONST0_RTX (SFmode).
12165
12166 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12167
12168         * toplev.c (output_clean_symbol_name): Remove.
12169         * toplev.h (output_clean_symbol_name): Remove.
12170         * config/alpha/alpha.c (unicosmk_output_module_name): Use
12171         lbasename & clean_symbol_name.
12172
12173 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12174
12175         * ggc.h: Follow spelling conventions.
12176         * config/i386/i386.c: Likewise.
12177         * config/i386/winnt.c: Likewise.
12178         * config/rs6000/rs6000.c: Likewise.
12179
12180 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12181
12182         * bt-load.c: Fix comment typos.
12183         * c-incpath.c: Likewise.
12184         * cfg.c: Likewise.
12185         * cfgcleanup.c: Likewise.
12186         * cfgloop.h: Likewise.
12187         * cfgloopmanip.c: Likewise.
12188         * cfgrtl.c: Likewise.
12189         * diagnostic.h: Likewise.
12190         * dwarfout.c: Likewise.
12191         * emit-rtl.c: Likewise.
12192         * et-forest.c: Likewise.
12193         * et-forest.h: Likewise.
12194         * expr.c: Likewise.
12195         * gcse.c: Likewise.
12196         * genattr.c: Likewise.
12197         * jump.c: Likewise.
12198         * langhooks.h: Likewise.
12199         * local-alloc.c: Likewise.
12200         * loop-unroll.c: Likewise.
12201         * loop-unswitch.c: Likewise.
12202         * ra-build.c: Likewise.
12203         * regclass.c: Likewise.
12204         * regmove.c: Likewise.
12205         * rtl.def: Likewise.
12206         * rtlanal.c: Likewise.
12207         * sched-ebb.c: Likewise.
12208         * sched-rgn.c: Likewise.
12209         * simplify-rtx.c: Likewise.
12210         * ssa.c: Likewise.
12211         * tracer.c: Likewise.
12212         * tree.c: Likewise.
12213
12214 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
12215
12216         * cppcharset.c: Use the correct return type for the fallback iconv
12217         macro.
12218
12219 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12220
12221         Blame to Jan Hubicka  <jh@suse.cz>
12222         * cfglayout.c (record_effective_endpoints): Split insns before
12223         first basic block correctly.
12224
12225 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12226
12227         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
12228         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
12229         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
12230
12231 2003-07-05  Andreas Jaeger  <aj@suse.de>
12232
12233         * genattrtab.c (write_attr_get): Revert part of last patch to
12234         always write out a prototype.
12235
12236         * genemit.c (gen_split): Readd lost unused attributes in last
12237         patch.
12238
12239 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12240
12241         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
12242         different from header.
12243
12244 2003-07-05  Andreas Schwab  <schwab@suse.de>
12245
12246         * config/m68k/m68k.c: Remove code protected by CRDS.
12247         * config/m68k/m68k.md: Likewise.
12248
12249 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
12250
12251         PR driver/11417
12252         * c-opts.c (permit_fortran_options): New.
12253         (c_common_init_options): Accept fortran front end options if
12254         it looks like we might be preprocessing Fortran.
12255         (c_common_handle_option): Don't reject switch if permit_fotran_options.
12256
12257 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12258
12259         * genattr.c (internal_dfa_insn_code): Output prototype.
12260         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
12261         * genautomata.c: Likewise.
12262         * genconditions.c: Likewise.
12263         * genemit.c: Likewise.
12264         * genextract.c: Likewise.
12265         * gengenrtl.c: Likewise.
12266         * gengtype.c: Likewise.
12267         * genopinit.c: Likewise.
12268         * genoutput.c: Likewise.
12269         * genpeep.c: Likewise.
12270         * genrecog.c: Likewise.
12271
12272 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
12273
12274         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
12275         (struct cpp_options): Add narrow_charset, wide_charset,
12276         bytes_big_endian fields.  Remove EBCDIC field.
12277         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
12278
12279         * cpphash.h: Include <iconv.h> if we have it, otherwise
12280         provide a dummy definition of iconv_t.
12281         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
12282         (_cpp_valid_ucn): Update prototype.
12283         (_cpp_destroy_iconv): New prototype.
12284
12285         * doc/cpp.texi: Document character set handling.
12286         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
12287         * doc/extend.texi: Delete entire section on multiline strings.
12288         Rewrite section on __FUNCTION__ etc now that these are
12289         variables in C.
12290
12291         * cppucnid.tab, cppucnid.pl: New files.
12292         * cppucnid.h: New generated file.
12293         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
12294         (iconv_open, iconv, iconv_close): Provide dummy definitions
12295         if !HAVE_ICONV.
12296         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
12297         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
12298         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
12299         cpp_interpret_string, narrow_str_to_charconst,
12300         wide_str_to_charconst): New.
12301         (ucn_valid_in_identifier): Use a binary search through the
12302         ucnranges table defined in cppucnid.h, not a long chain of if
12303         statements.
12304         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
12305         character names are only valid in C++ and C99" to a warning.
12306         Issue the "meaning of \[uU] is different in traditional C"
12307         warning here.  Take care not to let iconv see an invalid UCS
12308         value if we get a malformed UCN.  Issue an error if we don't
12309         have iconv.
12310         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
12311         cpp_interpret_string to do the heavy lifting.
12312
12313         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
12314         narrow_charset, wide_charset fields of options structure.
12315         (cpp_destroy): Call _cpp_destroy_iconv.
12316         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
12317         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
12318         (cpp_interpret_charconst): Moved to cppcharset.c.
12319         * cpplib.c (dequote_string): Delete.
12320         (interpret_string_notranslate): New.
12321         (do_line, do_linemarker): Use interpret_string_notranslate.
12322
12323         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
12324
12325         * c-common.c (fname_string, combine_strings): Delete.
12326         * c-common.h (fname_string, combine_strings): Delete prototypes.
12327         * c-lex.c (ignore_escape_flag): Delete.
12328         (cb_ident): Use cpp_interpret_string, not lex_string.
12329         (get_nonpadding_token): New function.
12330         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
12331         Adjust calls to lex_string.  Don't write *value twice.
12332         (lex_string): Now handles string constant concatenation.
12333         Most of the work handed off to cpp_interpret_string.
12334         Call fix_string_type here.
12335         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
12336         FUNC_NAME, throughout.
12337         (OBJC_STRING): New token type.
12338         (primary:STRING): No need to call fix_string_type here.
12339         (primary:objc_string): Make that OBJC_STRING.
12340         (objc_string nonterminal): Delete.
12341         (yylexname): Delete code to handle fake string constants.
12342         (yylexstring): Delete entirely.
12343         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
12344         to handle CPP_ATSIGN.
12345
12346         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
12347         * c-opts.c (missing_arg, c_common_handle_option): Handle
12348         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
12349         (c_common_init): Set cpp_opts->bytes_big_endian, not
12350         cpp_opts->EBCDIC.  Call cpp_init_iconv.
12351         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
12352         (TARGET_EBCDIC): Delete default definition.
12353
12354         * objc/objc-act.c (build_objc_string_object): No need to
12355         handle string constant concatenation.
12356
12357 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
12358
12359         * doc/install.texi: Fix typos.
12360         * doc/invoke.texi: Likewise.
12361         * doc/tm.texi: Likewise.
12362
12363 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
12364
12365         * config/pa/fptr.c: Fix comment typos.
12366         * config/pa/pa-64.h: Likewise.
12367         * config/pa/pa.c: Likewise.
12368         * config/pa/pa.h: Likewise.
12369         * config/rs6000/603.md: Likewise.
12370         * config/rs6000/7xx.md: Likewise.
12371         * config/rs6000/darwin.h: Likewise.
12372         * config/rs6000/freebsd.h: Likewise.
12373         * config/rs6000/rs6000.c: Likewise.
12374         * config/rs6000/rs6000.md: Likewise.
12375         * config/rs6000/spe.h: Likewise.
12376
12377 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
12378
12379         * config/s390/2064.md: Change GNU CC to GCC.
12380         * config/s390/2084.md: Likewise.
12381         * config/s390/fixdfdi.h: Likewise.
12382         * config/s390/linux.h: Likewise.
12383         * config/s390/s390-modes.def: Likewise.
12384         * config/s390/s390-protos.h: Likewise.
12385         * config/s390/s390.c: Likewise.
12386         * config/s390/s390.h: Likewise.
12387         * config/s390/s390.md: Likewise.
12388         * config/s390/s390x.h: Likewise.
12389
12390 2003-07-04  Jeff Law  <law@redhat.com>
12391
12392         PR c/11428
12393         * expr.c (do_store_flag): Pass in the correct result type
12394         when calling fold_single_bit_test.
12395         * fold-const.c (fold_single_bit_test): Use result_type for the
12396         result when folding a sign bit test.
12397
12398 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
12399
12400         * opts.c (common_handle_options): Negate sense of -falign- switches.
12401
12402 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
12403
12404         * Makefile.in: Replace PWD with PWD_COMMAND.
12405
12406 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12407
12408         * cfgloopanal.c (count_strange_loop_iterations): New static function.
12409         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
12410         Handle strange loops.
12411
12412 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
12413
12414         * install.texi: Even the g77 manpage is derived from
12415         the full g77 manual.
12416
12417 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
12418
12419         * ABOUT-NLS: Delete.
12420         * intl: Delete entire directory.
12421         * aclocal.m4: Include ../config/gettext.m4.  Delete
12422         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
12423         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
12424         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
12425         Remove intl/Makefile from all_outputs.
12426         * configure, config.in: Regenerate.
12427         * Makefile.in: Expunge all references to intl subdirectory.
12428         Add -I../intl to INCLUDES.
12429         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
12430
12431 2003-07-04  Roger Sayle  <roger@eyesopen.com>
12432
12433         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
12434         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
12435
12436 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
12437
12438         PR c++/5287, PR c++/7910, PR c++/11021
12439         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
12440         dllimport attribute if function is defined at declaration, but
12441         report error instead. Likewise for dllimport'd variable
12442         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
12443         declared within functions, Report error if dllimport or dllexport
12444         symbol is not global.
12445         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
12446         if defined after declaration or if inlined. Don't allow definition
12447         of static data members of C++ classes. Don't dllimport virtual
12448         methods.
12449         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
12450         (i386_pe_mark_dllimport): Remove unnecessary checks.
12451         (i386_pe_encode_section_info): Warn if the dllimport attribute
12452         and symbol prefix have been instantiated and then overridden.
12453
12454         * doc/extend.texi: Document dllimport and dllexport attributes.
12455
12456         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
12457
12458 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
12459
12460         * config/kaos.h (CPP_PREDEFINES): Delete.
12461         (TARGET_OS_CPP_BUILTINS): New.
12462
12463 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12464
12465         * c-aux-info.c: Include toplev.h after c-tree.h.
12466         * c-common.c: Likewise.
12467         (GCC_DIAG_STYLE): Undef.
12468         * c-semantics.c (GCC_DIAG_STYLE): Define.
12469         * c-tree.h (GCC_DIAG_STYLE): Likewise.
12470         * diagnostic.h (inform): Move prototype to toplev.h.
12471         * jump.c: Include diagnostic.h before toplev.h.
12472         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
12473         (warning, error, fatal_error, pedwarn, sorry, inform,
12474         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
12475
12476 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12477
12478         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
12479         at all if edge is not specified.
12480         (can_copy_bbs_p, copy_bbs): New.
12481         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
12482         * cfgloop.c (get_loop_body): Comment more precisely.
12483         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
12484         (scale_bbs_frequencies): Fix comment typo.
12485         (can_duplicate_loop_p): Use can_copy_bbs_p.
12486         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
12487
12488 2003-07-03  Devang Patel <dpatel@apple.com>
12489
12490         * c-opts.c (c_common_parse_file): Remove extra
12491         debug_hooks->start_source_file call.
12492
12493 2003-07-03  Roger Sayle  <roger@eyesopen.com>
12494
12495         * real.c (real_trunc, real_floor, real_ceil): New functions
12496         to implement trunc, floor and ceil respectively.
12497         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
12498         * builtins.c (integer_valued_real_p): New function to test if
12499         a floating point expression has an integer valued result.
12500         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
12501         foo(x) where foo is an integer rounding function.  Similarly,
12502         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
12503         (double)(int)x when both foo and bar are integer rounding
12504         functions and we don't need to honor errno.
12505         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
12506         New functions to fold trunc, floor and ceil.
12507         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
12508         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
12509         to fold BUILT_IN_CEIL*.
12510         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
12511         the remaining integer rounding functions.
12512
12513 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
12514
12515         * config/sparc/sparc.c (function_arg_partial_nregs): Use
12516         SPARC_INT_ARG_MAX to determine where to split unnamed
12517         complex FP arguments.
12518
12519 2003-07-03  Jan Hubicka  <jh@suse.cz>
12520
12521         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
12522         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
12523         (merge_blocks_move_predecessor_nojumps,
12524          merge_blocks_move_successor_nojumps): Use merge_blocks.
12525         (try_optimize_cfg): Use merge_blocks_move.
12526         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
12527         (merge_blocks_nomove): Rename to rtl_merge_blocks.
12528         (cfg_layout_create_basic_block): New.
12529         (rtl_can_merge_blocks): New.
12530         (cfg_layout_split_block): Do not alloc aux by hand.
12531         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
12532         merge_blocks.
12533         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
12534         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
12535         * cfgloopmanip.c (loop_split_edge_with): Likewise.
12536         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
12537
12538         * basic-block.h (basic_block_def): Add field 'rbi'.
12539         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
12540         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
12541         * cfg.c (entry_exit_blocks): Add new field.
12542         * cfglayout.c: Include alloc-pool.h;
12543         (cfg_layout_pool): New.
12544         (record_effective_endpoints, fixup_reorder_chain,
12545         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
12546         of rbi.
12547         (cfg_layout_initialize_rbi): New function.
12548         (cfg_layout_initialize): Use it.
12549         (cfg_layout_finalize): Clear rbi fields.
12550         * cfglayout.h (RBI): Kill.
12551         (cfg_layout_initialize_rbi): Declare.
12552         * cfgloopmanip.c (copy_bbs): Use rbi.
12553         (record_exit_edges): Likewise.
12554         (duplicate_loop_to_header_edge): Likewise.
12555         * cfgrtl.c (cfg_layout_create_basic_block): Use
12556         cfg_layout_initialize_rbi.
12557         (cfg_layout_split_block): Use rbi.
12558         (cfg_layout_delete_block): Likewise.
12559         * loop-init.c (loop_optimizer_finalize): Likewise.
12560         * loop-unswitch.c (unswitch_loop): Likewise.
12561         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
12562
12563         * cfgrtl.c: Update comments.
12564         (try_redirect_by_replacing_jump): New argument.
12565         (redirect_branch_edge): Break out from ...
12566         (rtl_redirect_edge_and_branch): ... this one.
12567         (update_cfg_after_block_merging): Break out from ...
12568         (rtl_merge_blocks): ... this one.
12569         (cfg_layout_split_edge): New.
12570         (cfg_layout_merge_blocks): New.
12571         (cfg_layout_can_merge_blocks_p): New.
12572         (cfg_layout_redirect_edge_and_branch): Reorganize.
12573         (cfg_layout_rtl_cfg_hooks): Fill in.
12574         (cfg_layout_delete_block): Kill barriers.
12575         * cfganal.c (can_fallthru): Deal with exit blocks
12576         * cfglayout.c (cfg_layout_function_header): New function
12577         (record_effective_endpoints): Record function header.
12578         (fixup_reorder_chain): Fixup dead jumptables; place header
12579
12580         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
12581         * bb-reorder.c (cfg_layout_initialize): Update call.
12582         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
12583         edges in cfglayout mode.
12584         * cfglayout.c (cleanup_unconditional_jumps): Kill.
12585         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
12586         * cfglayout.h (cfg_layout_initialize): Update prototype.
12587         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
12588         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
12589         * flow.c (propagate_block): Do not crash when basic block ends
12590         by first insn in the chain.
12591         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
12592         do loop discovery.
12593         * tracer.c (tracer): Update call of cfg_layout_initialize.
12594
12595 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12596
12597         * Makefile.in: Use dependency variables in lieu of explicit
12598         files throughout.
12599
12600 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
12601
12602         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
12603         * tree.h: ...to here.
12604
12605 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
12606
12607         * config/s390/2064.md: Fix comment typos.
12608         * config/s390/2084.md: Likewise.
12609         * config/s390/s390.c: Likewise.
12610         * config/s390/s390.md: Likewise.
12611         * config/sh/sh.c: Likewise.
12612         * config/sh/sh.h: Likewise.
12613         * config/sh/sh.md: Likewise.
12614         * config/sparc/sparc.c: Likewise.
12615         * config/sparc/sparc.h: Likewise.
12616         * config/sparc/sparc.md: Likewise.
12617         * config/stormy16/stormy16.c: Likewise.
12618         * config/stormy16/stormy16.h: Likewise.
12619         * config/stormy16/stormy-abi: Fix a typo.
12620
12621 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
12622
12623         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
12624
12625 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12626
12627         * config/mips/mips.h (save_argv): Delete.
12628
12629 2003-07-03  Roger Sayle  <roger@eyesopen.com>
12630
12631         PR target/10700
12632         * fold-const.c (extract_muldiv_1): There's nothing that can be done
12633         if the expression is a SAVE_EXPR.
12634
12635 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
12636
12637         * config/m32r/m32r.c: Fix comment typos.
12638         * config/m68hc11/m68hc11.c: Likewise.
12639         * config/m68hc11/m68hc11.h: Likewise.
12640         * config/m68k/m68k.c: Likewise.
12641         * config/mcore/mcore.c: Likewise.
12642         * config/mcore/mcore.h: Likewise.
12643         * config/mcore/mcore.md: Likewise.
12644         * config/mips/mips.c: Likewise.
12645         * config/mips/mips.h: Likewise.
12646         * config/mips/mips.md: Likewise.
12647         * config/mips/netbsd.h: Likewise.
12648         * config/mn10300/mn10300.c: Likewise.
12649
12650 2003-07-03  Andreas Schwab  <schwab@suse.de>
12651
12652         * dbxout.c (pending_bincls): Move decl down inside
12653         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
12654
12655 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12656
12657         * rtl.h (NOTE_DATA): Refer to whole union.
12658         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
12659
12660 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
12661
12662         PR optimization/11381
12663         * simplify-rtx.c (simplify_relational_operation): Check that
12664         two equal operands have no side-effects before simplifying
12665         the comparison.
12666
12667 2003-07-02  Jeff Law  <law@redhat.com>
12668
12669         * expr.c (do_store_flag): Remove special case folding for
12670         single bit tests.  Instead call back into the commonized folder
12671         routine.
12672         * fold-const.c (fold_single_bit_test): New function, mostly
12673         extracted from do_store_flag, with an additional case extracted
12674         from fold.
12675         (fold): Call fold_single_bit_test appropriately.
12676         * tree.h (fold_single_bit_test): Prototype.
12677
12678 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
12679
12680         * system.h: Include filenames.h.
12681         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
12682         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
12683         define based on HAVE_DOS_BASED_FILE_SYSTEM.
12684         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
12685         * config/i386/xm-mingw32.h: Don't define
12686         HAVE_DOS_BASED_FILE_SYSTEM,
12687         DIR_SEPARATOR, or DIR_SEPARATOR_2.
12688         * doc/hostconfig.texi: Update to match.
12689
12690         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
12691         config/i386/cygwin.h:
12692         Use IS_ABSOLUTE_PATH throughout.
12693         * gcc.c (DIR_UP): Delete, unused.
12694         * protoize.c (IS_SAME_PATH): Define in terms of
12695         FILENAME_CMP.
12696         (is_abspath): Delete.
12697
12698 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
12699
12700         * config/i386/emmintrin.h: Fix comment typos.
12701         * config/i386/i386.c: Likewise.
12702         * config/i386/i386.h: Likewise.
12703         * config/i386/sco5.h: Likewise.
12704         * config/ia64/ia64.c: Likewise.
12705         * config/ia64/itanium2.md: Likewise.
12706
12707 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
12708
12709         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
12710         DBX_USE_BINCL.
12711         (emit_bincl_stab): Same.
12712         (emit_pending_bincls): Same.
12713
12714 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
12715
12716         * config/h8300/h8300.c (compute_mov_length): Fix the length of
12717         loading CONST0_RTX (SFmode).
12718         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
12719         'G' to CONST0_RTX (SFmode).
12720         * config/h8300/h8300.md (movsf_h8300): Change the first
12721         constraint to 'G'.
12722         (movsf_h8300h): Likewise.
12723
12724 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
12725
12726         * c-common.h (c_common_init_options): New prototype.
12727         * c-opts.c (deferred_size): Remove.
12728         (defer_opt): Array is now pre-allocated.
12729         (c_common_init_options): Pre-allocate deferred_opts.  Make
12730         lang_flags unsigned.
12731         (push_command_line_options): Free deferred_opts.
12732         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
12733         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
12734         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
12735         * langhooks.h (struct lang_hooks): New prototype for init_options.
12736         * main.c (main): Cast argv.
12737         * opts.c (handle_option, handle_options): Update prototypes.
12738         (decode_options): save_argc, save_argv are not global.  Constify.
12739         * opts.h (decode_options): New prototype.
12740         * toplev.c (general_init): New protoype.
12741         (save_argv): Make static.
12742         (save_argc): Remove.
12743         (print_switch_values, general_init): Constify.
12744         (toplev_main): Save argv.
12745         * toplev.h (toplev_main): Update prototype.
12746         (save_argc, save_argv): Remove.
12747
12748 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
12749
12750         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
12751         (emit_bincl_stab): Same.
12752         (emit_pending_bincls): Same.
12753
12754 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12755
12756         PR c++/11072
12757         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
12758
12759 2003-07-02  Andreas Schwab  <schwab@suse.de>
12760
12761         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
12762
12763 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
12764
12765         PR optimization/11210
12766         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
12767         about the behaviour with regard to bitfields.
12768         * fold-const (decode_field_reference): Record outermost type in
12769         case the expression is a NOP. Strip all NOPs. Set the signedness
12770         to that of the outermost type (if any) when the bitsize is equal
12771         to the size of the type.
12772
12773 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
12774
12775         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
12776         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
12777         (adddi3_internal_3, addsi3_internal_2): Likewise.
12778
12779 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
12780
12781         * config/mips/mips.c (machine_function): Add new fields:
12782         ignore_hazard_length_p and all_noreorder_p.
12783         (mips_flag_delayed_branch): New variable.
12784         (override_options): Treat '/' as an operand punctuation character.
12785         Set up mips_flag_delayed_branch.
12786         (print_operand): Handle '/'.
12787         (mips_output_function_prologue): Put the whole function in
12788         .set noreorder and .set nomacro if all_noreorder_p is true.
12789         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
12790         (mips16_optimize_gp): Remove "first insn" parameter.
12791         (mips16_lay_out_constants): New function, split out from mips_reorg.
12792         (mips_avoid_hazard, mips_avoid_hazards): New functions.
12793         (mips_reorg): For mips16 code, call mips16_lay_out_constant
12794         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
12795         do delayed-branch scheduling followed by hazard detection.
12796         (mips_adjust_insn_length): Only account for hazards if
12797         !ignore_hazard_length_p.
12798         (mips_output_load_label): Add a nop to the o32 sequence if
12799         the target suffers from load delays.
12800         (mips_output_conditional_branch): Add %/ to the end of branches.
12801         (mips_output_division): Fill the branch delay slot with %#.
12802         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
12803         instructions.  End all other %* branches with %/.
12804         (ffssi2, ffsdi2): Fix lengths.
12805         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
12806         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
12807         (fix_truncsfsi2_macro): Likewise.
12808         (mov_lwl): Set hazard to "none".
12809         (ashldi3_internal): Fill the branch delay slot with %#.
12810         (ashrdi3_internal, lshrdi3_internal): Likewise.
12811         (exception_receiver): Explicitly set $28.
12812         (hazard_nop): New pattern.
12813
12814 2003-07-02  Jan Hubicka  <jh@suse.cz>
12815
12816         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
12817         before calling tree_inlinable_function_p.
12818
12819 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12820
12821         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
12822         <internal/stdio_core.h> too.
12823         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
12824         <internal/wchar_core.h> too.
12825         Substitute va_list uses in inline definition.
12826         * fixinc/fixincl.x: Regenerate.
12827
12828 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12829
12830         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
12831         Undef before redefinition.
12832         (LABEL_AFTER_LOC): Likewise.
12833         (DEFAULT_SIGNED_CHAR): Likewise.
12834         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
12835         Fix IRIX spelling.
12836
12837         * config/mips/iris3.h: Remove, unused.
12838         * config/mips/iris4.h: Likewise.
12839
12840         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
12841
12842         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
12843         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
12844         target_cpu_default.
12845
12846         * config/mips/iris5.h: Move explicit includes ...
12847         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
12848
12849         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
12850         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
12851         tm_defines.
12852
12853         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
12854         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
12855         target_cpu_default.
12856
12857         * config/mips/iris6.h: Fix IRIX spelling.
12858         (MULTILIB_DEFAULTS): Undef before redefinition.
12859
12860         * config/mips/iris6.h: Move explicit includes ...
12861         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
12862
12863 2003-07-02  Jan Hubicka  <jh@suse.cz>
12864
12865         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
12866         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
12867         Use next_needed field instead of aux to maintain the queue.
12868         * cgraph.h (cgraph_node): Add next_needed.
12869         (cgraph_varpool_node): Add next_needed; remove aux.
12870         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
12871
12872 2003-07-02  Jan Hubicka  <jh@suse.cz>
12873
12874         * cgraphunit.c (cgraph_finalize_function): Set finalized.
12875         (cgraph_finalize_function): Do not examine inlinablility.
12876         (cgraph_finalize_compilation_unit): Do it here.
12877         * cgraph.h (cgraph_local_info): Add finalized field.
12878
12879 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12880
12881         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
12882         (gt_pch_restore): Likewise.
12883
12884 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
12885
12886         * config/alpha/alpha.c: Fix comment typos.
12887         * config/alpha/elf.h: Likewise.
12888         * config/arm/arm.c: Likewise.
12889         * config/arm/arm.h: Likewise.
12890         * config/arm/arm.md: Likewise.
12891         * config/arm/t-arm-coff: Likewise.
12892         * config/arm/t-strongarm-pe: Likewise.
12893         * config/arm/xscale-elf.h: Likewise.
12894         * config/avr/avr.h: Likewise.
12895
12896 2003-07-01  Jeff Law  <law@redhat.com>
12897
12898         * stmt.c (any_pending_cleanups): Remove another redundant test.
12899
12900 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
12901             J"orn Rennecke <joern.rennecke@superh.com>
12902
12903         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
12904         for MEM case.
12905
12906 2003-07-01  Devang Patel  <dpatel@apple.com>
12907
12908         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
12909         (binclstatus): New.
12910         (struct dbx_file): New members - bincl_status, pending_bincl_name and
12911         prev.
12912         (pending_bincls): New.
12913         (dbxout_init): Initialize new dbx_file members.
12914         (dbxout_start_source_file): Same.
12915         (emit_bincl_stab): New function.
12916         (emit_pending_bincls): Same.
12917         (emit_pending_bincls_if_required): Same.
12918         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
12919         processed.
12920         (dbxout_begin_block): Emit pending BINCL stabs.
12921         (dbxout_end_block): Same.
12922         (dbxout_function_decl): Same.
12923         (dbxout_continue): Same.
12924         (dbxout_type): Same.
12925         (dbxout_class_name_qualifiers): Same.
12926         (dbxout_symbol): Same.
12927         (dbxout_symbol_location): Same.
12928         (dbxout_parms): Same.
12929
12930 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12931
12932         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
12933         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
12934
12935 2003-07-01  Andreas Jaeger  <aj@suse.de>
12936
12937         * fold-const.c: Convert prototypes to ISO C90.
12938         * function.c: Likewise.
12939         * function.h: Likewise.
12940
12941 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
12942
12943         * doc/contrib.texi: Fix typos.
12944         * doc/invoke.texi: Likewise.
12945         * doc/passes.texi: Likewise.
12946         * doc/sourcebuild.texi: Likewise.
12947         * doc/tm.texi: Likewise.
12948
12949 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
12950
12951         * basic-block.h: Fix comment typos.
12952         * bb-reorder.c: Likewise.
12953         * c-format.c: Likewise.
12954         * cfgcleanup.c: Likewise.
12955         * cfghooks.h: Likewise.
12956         * cfgloop.c: Likewise.
12957         * cfgloopmanip.c: Likewise.
12958         * cfgrtl.c: Likewise.
12959         * cgraph.h: Likewise.
12960         * cgraphunit.c: Likewise.
12961         * combine.c: Likewise.
12962         * convert.c: Likewise.
12963         * dbxout.c: Likewise.
12964         * df.c: Likewise.
12965         * df.h: Likewise.
12966         * diagnostic.c: Likewise.
12967         * dwarf2out.c: Likewise.
12968         * et-forest.h: Likewise.
12969         * flow.c: Likewise.
12970         * fold-const.c: Likewise.
12971         * function.h: Likewise.
12972         * gcov-io.h: Likewise.
12973         * gcov.c: Likewise.
12974         * gcse.c: Likewise.
12975         * genautomata.c: Likewise.
12976         * ggc-common.c: Likewise.
12977         * ggc-page.c: Likewise.
12978         * loop-unroll.c: Likewise.
12979         * loop-unswitch.c: Likewise.
12980         * loop.c: Likewise.
12981         * mips-tfile.c: Likewise.
12982         * optabs.c: Likewise.
12983         * ra-build.c: Likewise.
12984         * ra-colorize.c: Likewise.
12985         * ra-rewrite.c: Likewise.
12986         * ra.h: Likewise.
12987         * regmove.c: Likewise.
12988         * reload.c: Likewise.
12989         * rtlanal.c: Likewise.
12990         * sched-ebb.c: Likewise.
12991         * sched-int.h: Likewise.
12992         * sched-vis.c: Likewise.
12993         * sreal.c: Likewise.
12994         * ssa-ccp.c: Likewise.
12995         * ssa.c: Likewise.
12996         * toplev.c: Likewise.
12997         * tree-inline.c: Likewise.
12998         * value-prof.c: Likewise.
12999         * value-prof.h: Likewise.
13000
13001 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13002
13003         * rtl.h (emit_line_note_after): Remove.
13004         (emit_note_copy_after, emit_note_copy): New.
13005         * emit-rtl.c (reorder_insns_with_line_notes): Replace
13006         emit_line_note_after with emit_note_copy_after.
13007         (emit_insn_after_with_line_notes): Likewise.
13008         (emit_line_note_after): Kill.
13009         (emit_note_copy_after): New.
13010         (emit_note_copy): New.
13011         * function.c (emit_return_into_block): Use emit_note_copy_after.
13012         (thread_prologue_and_epilogue_insns): Likewise.
13013         * integrate.c (expand_inline_function): Use emit_note_copy.
13014         (copy_insn_list): Likewise.
13015         * unroll.c (copy_loop_body): Likewise.
13016         * cfglayout.c (duplicate_insn_chain): Likewise.
13017
13018 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
13019
13020         * c-tree.h (define_label): Replace filename and lineno arguments
13021         with a location_t.
13022         * c-decl.c (poplevel): Adjust define_label call.
13023         (pop_label_level): Likewise.
13024         (define_label): Replace filename and lineno arguments with a
13025         location_t.
13026         (store_parm_decls): Use DECL_SOURCE_LOCATION.
13027         * c-parse.in (label): Adjust define_label call.
13028
13029 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
13030
13031         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
13032         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
13033         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
13034         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
13035         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
13036
13037 2003-07-01  Andreas Jaeger  <aj@suse.de>
13038
13039         * final.c: Convert prototypes to ISO C90.
13040         * flow.c: Likewise.
13041         * flags.h: Likewise.
13042         * gcov-io.c: Likewise.
13043         * gcov-io.h: Likewise.
13044
13045 See ChangeLog.9 for earlier changes.