OSDN Git Service

* emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2
3         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
4         addresses to be shared.
5         (force_const_mem): Return a copy of the pool entry.
6
7 2003-11-03  Andreas Jaeger  <aj@suse.de>
8
9         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
10
11 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
12
13         * Makefile.in (cpp.dvi): New target split from cpp.info.
14         (gcc.dvi):  New target split from gcc.info.
15         (gccint.dvi): New target split from gccint.info.
16         (cppinternals.dvi): New target split from cppinternals.info
17         (gccinstall.info): New specific rule.
18         (gccinstall.dvi): Likewise.
19         (dvi): Move targets to $(docobjdir).
20         ($(docobjdir)/%.dvi): New implicit rule.
21
22 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
23
24         * doc/gty.texi (tag, desc): Say more about role of desc values in
25         selecting between tags.
26
27 2003-11-03  Alexander Kabaev  <ak03@gte.com>
28
29         * real.c (encode_ieee_single): Ensure proper promotion.
30
31 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
32
33         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
34         and Andrew Pinski.
35
36 2003-11-03  Syd Polk  <spolk@apple.com>
37
38         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
39         marketing names to the list of supported processors.
40         * config/rs6000/rs6000.h: Ditto.
41         * doc/invoke.texi: Ditto.
42         * config.gcc: Ditto.
43
44 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
45
46         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
47         Merge two substitutions.
48         * fixinc/fixincl.x: Regenerate.
49         Fixes PR bootstrap/12666.
50
51 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
52
53         * doc/install-old.texi: Remove VMS documentation.
54
55 2003-11-03  Jan Hubicka  <jh@suse.cz>
56
57         * i386.c (override_options):  Remove hack enabling 128bit long double
58         commited by accident.
59
60 2003-11-02  Per Bothner  <per@bothner.com>
61
62         * c-opts.c (needValue):  Do cpp_find_main_file before processing
63         any imacros flags, so pfile->main_file is set for the latter.
64
65 2003-11-03  Andreas Jaeger  <aj@suse.de>
66             Zack Weinberg  <zack@codesourcery.com>
67
68         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
69         (SYSCALLS.c.X-warn): Suppress warnings.
70
71 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
72
73         PR optimization/12845
74         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
75
76 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
77
78         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
79         * config/i386/i386.c (print_reg): Abort on a virtual register
80         if code != -1; not if file == asm_out_file.
81         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
82         (DEBUG_PRINT_REG): Delete, unused.
83
84 2003-11-02  Andreas Schwab  <schwab@suse.de>
85
86         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
87         empty to avoid conflict with the definition from configure.
88
89 2003-11-02  Roger Sayle  <roger@eyesopen.com>
90
91         PR optimization/10817
92         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
93         (noce_try_move): New function to optimize an if-the-else into an
94         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
95         (noce_process_if_block): Attempt simplification with noce_try_move.
96
97         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
98         and improvements to the optimizations of IF_THEN_ELSE expressions.
99         (simplify_subreg): Silence signed/unsigned comparison warning.
100
101 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
102
103         * Makefile.in (targhooks.o, reload.o): Update dependencies.
104         (GTFILES): Add targhooks.c.
105         (gt-targhooks.h): New rule; depend on s-gtype.
106         * target.h (direct_pool_load_p): New hook.
107         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
108         (TARGET_INITIALIZER): Include it.
109         * targhooks.h (default_direct_pool_load_p): Declare.
110         (hook_bool_machine_mode_true): Declare.
111         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
112         gt-targhooks.h.
113         (pool_symbol): New variable.
114         (default_direct_pool_load_p): New function.
115         (hook_bool_machine_mode_true): New function.
116         * reload.c: Include target.h.
117         (find_reloads): If an alternative will force a constant into memory,
118         count an extra reload if constant pool symbols are not valid
119         addresses.  If an alternative uses memory to move values between
120         registers, count the move as two reloads rather than one.
121         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
122         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
123
124 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
125
126         PR optimization/12799
127         * postreload.c (reload_cse_move2add): Generate the add2
128         patterns manually.
129
130 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
131
132         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
133         Return 0 for all complex modes whose size is lesser or equal to
134         a word.  Add a ??? comment for the condition used with 16-byte
135         aligned modes.
136
137 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
138
139         * .cvsignore: Remove c-parse* and tradcif.c.
140         * objc/.cvsignore: Delete.
141
142 2003-11-01  Roger Sayle  <roger@eyesopen.com>
143
144         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
145         of NULL.
146
147 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
148
149         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
150
151         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
152
153         * collect2.c (scan_libraries): Fix typos.
154
155         PR preprocessor/12847
156         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
157         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
158         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
159         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
160         "CPP_".
161
162 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
163
164         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
165         no_units calculation.
166
167 2003-11-01  Andreas Jaeger  <aj@suse.de>
168
169         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
170         enumeration list.
171
172 2003-11-01  Andreas Schwab  <schwab@suse.de>
173
174         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
175         prototypes.
176         (SBSS_SECTION_FUNCTION): Likewise.
177
178 2003-11-01  Andreas Jaeger  <aj@suse.de>
179
180         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
181
182 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
183
184         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
185         prototypes.
186
187 2003-11-01  Andreas Jaeger  <aj@suse.de>
188
189         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
190         (uw_frame_state_for): Constify variables.
191         (extract_cie_info): Constify first argument.
192
193         * unwind-dw2-fde-darwin.c: Adjust prototype of
194         _Unwind_Find_registered_FDE for recent changes.
195         (examine_objects): Constify return value and local variable result.
196         (_Unwind_Find_FDE): Constify return value and local variable ret.
197
198 2003-10-31  Per Bothner  <pbothner@apple.com>
199
200         * c-opts.c (finish_options):  Change to returns boolean - false iff
201         the call to cpp_find_main_file fails.
202         (c_common_init):  Skip preprocess_file if finish_options failed.
203         (c_common_parse_file):  Break if finish_options failed.
204         Fixes PR preprocessor/12545.
205
206 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
207
208         * aclocal.m4: Blacklist ultrix* for mmap file.
209         * configure: Rebuilt.
210
211         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
212         reg_parm_stack_space.
213         * toplev.c (default_get_pch_validity): Fix warning.
214
215         * vax.c: Include toplev.h.
216         (vax_init_libfuncs): Fix typo (umod).
217         * vax.h (ASM_COMMENT_START): Define.
218         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
219
220 2003-10-31  Roger Sayle  <roger@eyesopen.com>
221
222         PR middle-end/11968
223         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
224         confusing comment; distributivity isn't handled in expand_expr.
225         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
226         in distributivity, if wrap-around semantics are specified with
227         -fwrapv.
228
229 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
230
231         PR 12315
232         * final.c (profile_function): Allow for NULL svrtx.
233
234 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
235
236         * pa.c (pa_select_section): Use new style declaration.
237         * som.h (readonly_data): Likewise.
238
239 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
240
241         * config/rs6000/rs6000.c: Update to C90 prototypes.
242
243 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
244
245         PR target/7513
246         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
247         code.
248
249 2003-10-31  Andreas Jaeger  <aj@suse.de>,
250             Zack Weinberg  <zack@codesourcery.com>
251
252
253         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
254         (__deregister_frame_info, __deregister_frame_info_bases):
255         Constify void * argument.
256         * unwind-dw2-fde.h (struct fde_vector):
257         Constify 'orig_data' and 'array' fields.
258         (__register_frame_info, __register_frame_info_bases)
259         (__deregister_frame_info, __deregister_frame_info_bases):
260         Constify void * argument.
261         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
262         return values, and casts of type fde *, struct dwarf_fde *,
263         and struct dwarf_cie *.
264         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
265         (__deregister_frame_info, __deregister_frame_info_bases):
266         Constify void * argument.
267         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
268         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
269         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
270         fde_split, SWAP, frame_downheap, frame_heapsort)
271         (classify_object_over_fdes, add_fdes, linear_search_fdes,
272         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
273         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
274         Constify arguments, local variables, return values, and casts
275         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
276         Use const pointer types in sizeof expressions, for clarity.
277         * unwind-dw2-fde-glibc.c
278         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
279         (struct unw_eh_callback_data): Constify 'ret' field.
280
281 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
282             David Edelsohn  <edelsohn@gnu.org>
283
284         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
285         (function_arg): Call it.
286         (rs6000_function_value): Widen integral return value to mode based
287         on TARGET_32BIT, not word_mode.
288         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
289         (UNITS_PER_ARG): New.
290         (RS6000_ARG_SIZE): Use it.
291
292 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
293
294         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
295         and gengtype-yacc.h.
296
297 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
298
299         PR optimization/8896
300         * postreload.c (reload_combine): Check that REGY doesn't die in an
301         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
302
303 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
304
305         PR/10239
306         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
307
308 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
309
310         PR/11640
311         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
312         immediatelly before BARRIER.
313
314 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
315
316         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
317
318 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
319
320         PR target/11271
321         * reload.c (find_reloads_address): Handle any register in
322         (PLUS (PLUS (REG) (REG)) (CONST_INT).
323
324 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
325
326         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
327         ENABLE_GC_CHECKING not in GGC_POISON.
328
329 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
330
331         PR bootstrap/9863
332         * configure.in: Bail out if awk is missing.
333         * configure: Regenerate.
334
335         PR ada/12761
336         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
337         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
338
339 2003-10-30  Richard Henderson  <rth@redhat.com>
340
341         * c-objc-common.c (c_tree_printer): Handle types correctly.
342         Factor code a bit.
343
344 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
345
346         * value-prof.c, web.c: Update to C90.
347
348 2003-10-30  Eric Christopher  <echristo@redhat.com>
349
350         * function.c (purge_addressof_1): Add case for REG_RETVAL
351         notes when modes are unequal.
352
353 2003-10-31  Jan Hubicka  <jh@suse.cz>
354
355         * i386-modes.def: Add XFmode format adjustment.
356
357 2003-10-30  Jan Hubicka  <jh@suse.cz>
358
359         * real.c (encode_ieee_extended): Back out previous patch.
360
361 2003-10-30  Jan Hubicka  <jh@suse.cz>
362
363         * real.c (encode_ieee_extended): Initialize whole array.
364         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
365         * i386-modes.def: Change definitions of TFmode and XFmode.
366         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
367         code.
368         (construct_container): Allow constructing of TFmode integer containers.
369         (ix86_return_in_memory):  XFmode is not returned in memory.
370         (init_ext_80387_constants): Always use XFmode.
371         (print_operand): Likewise.
372         (ix86_prepare_fp_compare_regs): Likewise.
373         (split_to_parts): Deal with TFmode.
374         (split_long_move): Simplify.
375         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
376         (ix86_memory_move_cost): Do not confuse TFmode.
377         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
378         (IS_STACK_MODE): TFmode is not stack mode.
379         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
380         (VALID_SSE_REG_MODE): Allow TFmode.
381         (VALID_FP_MODE_P): Disallow TFmode.
382         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
383         * i386.md (TFmode patterns): Kill.
384         (movtf, motf_rex64): New patterns.
385
386 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
387
388         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
389
390 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
391
392         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
393         (mov_lwr, mov_swl, mov_swr): Likewise.
394         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
395
396 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
397
398         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
399
400 2003-10-30  Richard Henderson  <rth@redhat.com>
401
402         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
403         test for irix6 rather than preprocessor test.
404
405 2003-10-30  Richard Henderson  <rth@redhat.com>
406
407         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
408
409 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
410
411         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
412         as a general flag that the return address register needs to be saved,
413         not necessarily because of __builtin_return_addr (0).
414         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
415         remove special handling of zSeries machines.
416         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
417         register as a regular register on zSeries machines.
418         (s390_reorg): Adjust calls to s390_split_branches and
419         s390_optimize_prolog.
420         (s390_frame_info): On zSeries machines, do not assume the return
421         register is always used.  Update regs_ever_live with current data
422         for the special registers.
423         (s390_emit_epilogue): Use save_return_addr_p to determine whether
424         the return register was saved.
425         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
426         RETURN_REGNUM fixed on zSeries machines.
427         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
428         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
429         via ahi-jgne pair on zSeries machines.
430         ("*doloop_di"): Likewise.
431         ("*doloop_di_long"): Remove.
432
433 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
434
435         * arm.c (arm_override_options): Revert change of arm_constant_limit
436         when optimizing for size.
437
438 2003-10-29  Richard Henderson  <rth@redhat.com>
439
440         * fold-const.c (fold_single_bit_test): Convert the input to the
441         operational intermediate type.
442
443 2003-10-29  Richard Henderson  <rth@redhat.com>
444
445         * builtins.c (std_build_builtin_va_list): New.
446         * expr.h (std_build_builtin_va_list): Declare.
447         * defaults.h (BUILD_VA_LIST_TYPE): New.
448         * system.h (BUILD_VA_LIST_TYPE): Poison.
449         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
450         * target.h (struct gcc_target): Add build_builtin_va_list.
451         * tree.c (build_common_tree_nodes_2): Use it.
452
453         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
454         config/alpha/alpha.h, config/alpha/unicosmk.h,
455         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
456         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
457         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
458         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
459         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
460         config/mips/mips.h, config/rs6000/rs6000-protos.h,
461         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
462         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
463         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
464         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
465         config/xtensa/xtensa.h: Rename foo_build_va_list to
466         foo_build_builtin_va_list; make it static.  Define
467         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
468         Update protos.
469
470         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
471         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
472
473 2003-10-29  James E Wilson  <wilson@specifixinc.com>
474
475         * recog.c (asm_operand_ok): Add missing break after case 'X'.
476         Change if statements to else if statements in default case.
477         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
478         in comment.
479         (constrain_operands_cached): Likewise.
480         (constrain_operands): Change if statements to else if statements in
481         default case.
482         * reload.c (find_reloads): Likewise.
483
484 2003-10-29  Richard Henderson  <rth@redhat.com>
485
486         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
487         shifts and rotates.
488
489 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
490
491         * config/rs6000/rs6000.md: Remove duplicate pattern.
492
493 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
494
495         * real.c (do_divide): Initialize result with a 0.
496
497         * configure.in <enable-checking for valgrind>: Look for
498         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
499         if it exists.
500         * configure, config.in: Regenerate.
501         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
502         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
503         #elif for other alternatives.
504         * ggc-page.c: Ditto.
505         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
506         include structure from ggc-common.c.
507
508 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
509
510         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
511         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
512         * pa.c (pa_adjust_insn_length): Check for btable branches using
513         attribute TYPE_BTABLE_BRANCH.
514         (pa_reorg): Simplify.
515         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
516         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
517         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
518         * pa.md (btable_branch): New instruction type.
519         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
520         btable branches.
521         (define_delay): Add btable branches to insn types that may have an
522         insn in the delay position.
523         (Z2, Z3): Add btable branch to list.
524         Simplify unamed pattern set copy pic_label_operand to register.  Add
525         PA 2.0 variant.
526         (short_jump): New jump for use in branch tables.
527         (casesi, casesi0): Revise for new branch table formats.
528         (casesi32, casesi32p, casesi64p): New casesi patterns.
529         (indirect_jump): Move.
530
531 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
532
533         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
534         !TARGET_POWERPC64.
535         (UNITS_PER_GPR_WORD): Delete.
536         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
537         (HARD_REGNO_MODE_OK): Same.
538         (CLASS_MAX_NREGS): Same.
539
540 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
541
542         * pa.h (ASM_COMMENT_START): Define.
543
544 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
545
546         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
547         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
548         component, not zero.
549
550 2003-10-29  Andreas Schwab  <schwab@suse.de>
551
552         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
553
554 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
555
556         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
557         Never return 1 for complex integral modes whose size is lesser or
558         equal to a word.
559         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
560         in the comment.
561         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
562         modes.
563         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
564         greater than 16 bytes by reference.
565
566 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
567
568         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
569         not TARGET_ILP32.
570         (ia64_initialize_trampoline): Use globalize_label target call.
571
572 2003-10-29  Andreas Schwab  <schwab@suse.de>
573
574         * doc/install.texi (Building): Add a sentence about building Ada
575         for a canadian cross.
576
577 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
578
579         * config/ia64/ia64.c (cmptf_libfunc): New static.
580         (ia64_expand_compare): Add logic to open-code calls to
581         _U_Qfcmp for TFmode comparisons.
582         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
583         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
584         never be generated anymore.
585         * config/ia64/ia64.md (cmptf): New expander.
586
587 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
588
589         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
590         (*sqrt_approx): New instruction pattern for approximate square roots.
591         (*setf_exp_xf): New instruction pattern for exponentiation.
592         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
593         (sqrtsf2_internal_thr): New define_and_split implementing
594         throughput-optimized inline calculation of SFmode square root.
595         (sqrtdf2_internal_thr): Likewise for DFmode.
596         (sqrtxf2_internal_thr): Likewise for XFmode.
597         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
598         latency- and throughput-optimized square root algorithms.
599         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
600         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
601         New macros.
602         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
603         -minline-sqrt-max-throughput.
604         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
605         and -minline-sqrt-max-throughput are given, notify the user
606         that both options cannot be used simultaneously.
607         If -minline-sqrt-min-latency is given, notify the user that
608         this mode is not yet implemented.
609         (rtx_needs_barrier): Reformat initial comment to obey
610         72-character width limit.  Support UNSPEC_SETF_EXP and
611         UNSPEC_FR_SQRT_RECIP_APPROX.
612
613 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
614
615         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
616         moves.
617
618 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
619
620         PR target/11598
621         PR libgcj/10610
622         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
623
624 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
625
626         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
627         an extra stack adjustment insn if the stack pointer is already
628         pointing at the right place.
629         (use_return_insn): Allow a return insn to be used when we have a
630         frame pointer if the stack pointer is in the right place.
631         (output_return_instruction): Handle it.
632
633 2003-10-28  Andreas Jaeger  <aj@suse.de>
634
635         * ggc-zone.c (check_cookies): Add missing variable.
636         Add void to prototypes.
637
638 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
639
640         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
641         * crtstuff.c (__do_global_ctors_1): Move prototype.
642         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
643         appropriate.
644         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
645         Mark parameter with __attribute__((unused)).
646
647 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
648
649         * c-decl.c (pushdecl): Clarify comment.
650
651 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
652
653         * doc/install.texi: Update instructions for Ada cross builds
654
655         PR ada/5909:
656         * doc/sourcebuild.texi: Document Ada test suite.
657
658 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
659
660         * config/m68hc11/m68hc11.c: Convert to ISO C90.
661         * config/m68hc11/m68hc11-protos.h: Likewise.
662
663 2003-10-27  Jan Hubicka  <jh@suse.cz>
664             Eric Botcazou  <ebotcazou@libertysurf.fr>
665
666         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
667         webizer pass dump.
668
669 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
670             Jan Hubicka  <jh@suse.cz>
671
672         * reload1.c (struct elim_table): Change offset, initial_offset and
673         previous_offset fields to HOST_WIDE_INT.
674         (offsets_at): Change from int to HOST_WIDE_INT.
675         (reload): Adjust offsets_at initialization.
676         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
677         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
678         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
679         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
680         if TARGET_64BIT.
681         (pro_epilogue_adjust_stack): New function.
682         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
683         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
684         (pro_epilogue_adjust_stack_1): Remove * in front of name.
685         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
686         (pro_epilogue_adjust_stack_rex64_2): New insn.
687
688         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
689
690         * config/i386/i386.c (ix86_expand_call): Replace 40 with
691         FIRST_REX_INT_REG + 3 /* R11 */.
692
693 2003-10-26  Richard Henderson  <rth@redhat.com>
694
695         * config/alpha/alpha.md (attr cannot_copy): New.
696         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
697         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
698         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
699
700 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
701
702         * ggc-zone.c:  New file, zone allocating collector.
703         * configure: Accept zone option for --with-gc
704         * configure.in: Ditto.
705         * ggc.h (ggc_pch_count_object): Pass bool indicating
706         stringiness. Update all callers.
707         (ggc_pch_alloc_object): Ditto.
708         (ggc_pch_write_object): Ditto.
709         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
710         type.
711         (ggc_alloc_rtvec): Ditto.
712         (ggc_alloc_tree): Use zone allocation, since some things using this macro
713         aren't a single typecode.
714         * ggc-none.c (ggc_alloc_typed): New function.
715         (ggc_alloc_zone): Ditto.
716         * ggc-page.c: Ditto on both functions.
717
718 2003-10-26  Gunther Nikl  <gni@gecko.de>
719
720         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
721         frame information is always valid.
722         (m68k_output_function_prologue): Remove superfluous TARGET_68881
723         test; fix formatting.
724
725 2003-10-26  Gunther Nikl  <gni@gecko.de>
726
727         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
728         reg_rev_mask computation.
729         (m68k_output_function_prologue): Fix usage of current_frame (one typo
730         and one missing); use reg_rev_mask not reg_mask.
731         (m68k_output_function_epilogue): Fix usage of current_frame;
732         use fpu_rev_mask not fpu_mask.
733
734 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
735
736         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
737         num_saved_regs, use current_frame.reg_no instead.
738
739 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
740             Paul Dale  <pauli@snapgear.com>
741
742         * doc/extend.texi (interrupt_handler): Add m68k to the
743         list of processors implementing it.
744         * doc/invoke.texi (-msep-data): Document new m68k option.
745         (-mno-sep-data): Likewise.
746         (-mid-shared-library): Likewise.
747         (-mno-id-shared-library): Likewise.
748         (-mshared-library-id): Likewise.
749
750 2003-10-26  Andreas Jaeger  <aj@suse.de>
751
752         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
753         comparison.
754         (_Unwind_SetGR): Likewise.
755
756 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
757
758         PR target/12690
759         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
760
761 2003-10-26  Gunther Nikl  <gni@gecko.de>
762
763         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
764         comment from here to...
765         (m68k_save_reg): ...here. Fix comment formatting.
766         (m68k_output_function_prologue): Fix comment formatting.
767         (m68k_output_function_epilogue): Likewise.
768         (const_method): Likewise.
769
770 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
771
772         * toplev.c (default_get_pch_validity): Guard the use of
773         target_options with #ifdef TARGET_OPTIONS.
774         (default_pch_valid_p): Likewise.
775
776 2003-10-26  Andreas Jaeger  <aj@suse.de>
777             Zack Weinberg  <zack@codesourcery.com>
778             Andreas Tobler <toa@pop.agri.ch>
779
780         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
781         (output_die): Likewise.
782         (print_die): Likewise.
783
784 2003-10-26  Andreas Jaeger  <aj@suse.de>
785
786         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
787         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
788         dwarf2out.c change.
789
790         * toplev.c (default_pch_valid_p): Fix warning.
791
792 2003-10-25  Roger Sayle  <roger@eyesopen.com>
793
794         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
795         RTL nodes.  If an operator's operands are unchanged, return the
796         original argument unchanged.
797
798 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
799
800         Fix bootstrap failure.
801         * expmed.c (store_bit_field): Don't compare bitsize against
802         modes with zero bit-size.
803
804         (extract_bit_field): Likewise
805
806 2003-10-25  Jan Hubicka  <jh@suse.cz>
807
808         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
809         (cfa_loc): Likewise.
810         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
811         HOST_WIDE_INT.
812         (args_size, old_args_size): change type to HOST_WIDE_INT.
813         (dwarf2out_def_cfa, dwarf2out_args_size,
814         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
815         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
816         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
817         AT_offset): Use HOST_WIDE_INT.
818         (based_loc_descr): offset is HOST_WIDE_INT.
819         (add_data_member): Likewise.
820         (add_const_value_attribute): Simplify.
821
822 2003-10-25  Richard Henderson  <rth@redhat.com>
823
824         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
825         (ix86_expand_prologue): Save and restore eax around stack probe
826         if it's live.
827
828 2003-10-25  Jan Hubicka  <jh@suse.cz>
829
830         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
831
832 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
833
834         PR target/12712
835         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
836         if the block has no predecessors.
837         (convert_regs_2): Document the problem with successors whose
838         only predecessor is the block to be processed.
839         (convert_regs): Don't create the arbitrary input stack here.
840
841 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
842
843         * genmodes.c (struct mode_data): Add contained and next_cont
844         fields.
845         (complete_mode): Maintain linked list of modes that have a
846         given component.
847         (emit_mode_unit_size): Delete.
848         (emit_mode_nunits): New.
849         (emit_insn_modes_c): Update to match.
850         (emit_mode_adjustments): Propagate size and alignment
851         adjustments from component modes to their containers.
852         * machmode.h (mode_unit_size): Delete.
853         (mode_nunits): New.
854         (GET_MODE_NUNITS): Just return the value in the table.
855         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
856         GET_MODE_SIZE.
857         * expmed.c (store_bit_field, extract_bit_field): Can use a
858         plain move instruction if bitsize >= GET_MODE_BITSIZE of
859         destination/source mode, respectively.
860         * varasm.c (assemble_real): Write out the full size of the
861         constant, not just its bitsize.
862         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
863
864         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
865         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
866         alignment of XF and TF modes in compliance with ia64 ABIs.
867         Can now hardwire the format of both modes.
868         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
869         (general_tfmode_operand, destination_tfmode_operand)
870         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
871         general_xfmode_operand, destination_xfmode_operand,
872         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
873         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
874         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
875         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
876         __float128.
877         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
878         Change TFmode to XFmode wherever appropriate.  Remove all
879         references to INTEL_EXTENDED_IEEE_FORMAT.
880         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
881         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
882         (PREDICATE_CODES): Update to match function renames.
883         * config/ia64/ia64.md: Change TF to XF throughout; rename all
884         patterns to match.  Remove all references to
885         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
886         function renames.
887         * config/ia64/ia64-protos.c: Update all prototypes to match
888         renamed functions.
889         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
890         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
891         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
892         __divtf3; keep old name for backward compatibility.
893         (L__compat): New section providing forwarding stubs for
894         __fixtfti, __fixunstfti, __floattitf.
895         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
896
897 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
898
899         PR 10757
900         * c-pch.c: Include target.h.  Improve comments.
901         (struct c_pch_validity): Add target_data_length.
902         (pch_init): Add target's validity data.
903         (c_common_valid_pch): Check target's validity data.
904         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
905         (TARGET_PCH_VALID_P): New.
906         (TARGET_INITIALIZER): Add new fields.
907         * target.h: Include tm.h.
908         (struct gcc_target): Add get_pch_validity, pch_valid_p.
909         * toplev.h (default_get_pch_validity): New prototype.
910         (default_pch_valid_p): New prototype.
911         * toplev.c (default_get_pch_validity): New routine.
912         (default_pch_valid_p): New routine.
913         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
914         target.h with $(TARGET_H).
915         (c-pch.o): Add TARGET_H.
916         * doc/tm.texi (PCH Target): New node.
917         (TARGET_GET_PCH_VALIDITY): Document.
918         (TARGET_PCH_VALID_P): Document.
919
920 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
921
922         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
923         and $(docdir)/include from any *.texi dependencies.
924         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
925         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
926         ($(docobjdir)/%.7): Likewise.
927         (%.pod): New implicit rule.
928         (cpp.pod): New dependency only rule.
929         (gcc.pod): New intermediate rule with dependencies and commands.
930         (gfdl.pod): Likewise.
931         (fsf-funding.pod): Likewise.
932
933 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
934
935         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
936         related code.
937         * fixinc/fixinc.ptx: Remove.
938         * fixinc/fixinc.svr4: Remove.
939
940 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
941
942         * config/s390/s390.c (load_multiple_operation): Allow both SImode
943         and DImode if word_mode is DImode.
944         (store_multiple_operation): Likewise.
945         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
946         ("*load_multiple_di"): Allow only if word_mode == DImode.
947         ("movqi"): Use LLGC whenever TARGET_ZARCH.
948         ("fix_truncdfsi2"): Fix incorrect temporary size.
949         ("fix_truncsfsi2"): Likewise.
950         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
951         string for function return value operand.
952         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
953
954 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
955
956         * c-parse.in (array_declarator): Use expr_no_commas.
957         Fixes PR c/11943.
958
959 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
960
961         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
962         associated includes in #ifndef inhibit_libc.
963
964 2003-10-24  Roger Sayle  <roger@eyesopen.com>
965
966         * doc/libgcc.texi: Document some more of the libgcc API.
967
968 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
969
970         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
971         comparing a constant with small negative numbers and add costing
972         for constants in conjunction with AND.
973         (note_invalid_constants): Tidy previous change.
974         (thumb_cmp_operand): Tidy.
975         (thumb_cmpneg_operand): New function.
976         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
977         for size.
978         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
979         (PREDICATE_CODES): Add thumb_cmpneg_operand.
980         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
981         with a negative constant.
982         (cbranchsi4_insn): Matcher for cbranchsi4.
983         (cbranchsi4_scratch): Similar, but a scratch is available for
984         handling negative constants.
985         (movsi_cbranchsi4): New pattern.
986         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
987         and use the TST instruction.
988         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
989         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
990         cannot see high regs or memory alternatives.
991         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
992
993 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
994
995         * arm.c (note_invalid_constants): Try to extract the constant
996         pool value using avoid_constant_pool_reference; only use
997         get_pool_constant if that returns the original reference.
998
999 2003-10-24  Jan Hubicka  <jh@suse.cz>
1000
1001         PR c++/12624
1002         * varasm.c (notice_global_symbol): Disqualify global registers.
1003
1004 2003-10-23  Roger Sayle  <roger@eyesopen.com>
1005
1006         PR middle-end/11414
1007         * loop.c (load_mems): Use redirect_jump to forward jumps from
1008         the original loop end label to the new "loop sink" block's label.
1009
1010 2003-10-23  Roger Sayle  <roger@eyesopen.com>
1011
1012         PR middle-end/12705
1013         * optabs.c (expand_binop): When expanding complex operations
1014         inline, always calculate result into a new temporary register.
1015         Minor code clean-ups.
1016
1017 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1018
1019         * objc/lang-specs.h: Handle -print-objc-runtime-info.
1020         * doc/invoke.texi (Objective-C Dialect Options): Document it.
1021
1022 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
1023
1024         * config/i386/cygwin.asm. Add copyright notice. Add comment
1025         on why this code is needed.
1026
1027 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
1028
1029         * config/h8300/clzhi2.c: Fix warnings.
1030         * config/h8300/ctzhi2.c: Likewise.
1031         * config/h8300/fixunssfsi.c: Likewise.
1032         * config/h8300/parityhi2.c: Likewise.
1033         * config/h8300/popcounthi2.c: Likewise.
1034
1035 2003-10-23  James E Wilson  <wilson@specifixinc.com>
1036
1037         * gcc.c (option_map): Delete --target and --use-version.
1038
1039 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
1040             David Edelsohn  <edelsohn@gnu.org>
1041
1042         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
1043         TARGET_POWREPC64.
1044         (UNITS_PER_GPR_WORD): Define.
1045         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
1046         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1047         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
1048         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
1049         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
1050         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
1051         (rs6000_emit_prologue): Select reg_mode and reg_size using
1052         TARGET_32BIT, not TARGET_POWERPC64.
1053         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
1054         ABI / 64-bit computation mode
1055
1056 2003-10-22  Andrew Haley  <aph@redhat.com>
1057
1058         * toplev.c (output_file_directive): Allow for null input_name.
1059
1060 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
1061
1062         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
1063
1064 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
1065
1066         * configure.in: In --enable-generated-files-in-srcdir option
1067         handling, fix default case handling.
1068         * configure: Regenerate.
1069
1070 2003-10-22  Phil Edwards  <phil@codesourcery.com>
1071
1072         * config.gcc:  Update *-*-vxworks* generic hook and comments.
1073         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
1074         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
1075         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
1076         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
1077         * config/windiss.h:  New file.
1078         * config/arm/t-vxworks:  New file.
1079         * config/arm/vxworks.h:  New file.
1080         * config/i386/t-vxworks:  New file.
1081         * config/i386/vxworks.h:  New file.
1082         * config/mips/t-vxworks:  New file.
1083         * config/mips/vxworks.h:  New file.
1084         * config/mips/windiss.h:  New file.
1085         * config/sh/t-vxworks:  New file.
1086         * config/sh/vxworks.h:  New file.
1087
1088 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1089
1090         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
1091         (h8300_saveall_function_p): New.
1092         (h8300_insert_attributes): Insert the saveall attribute if
1093         #pragma saveall is specified.
1094         (h8300_attribute_table): Add saveall.
1095         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
1096         * doc/extend.texi: Mention the saveall attribute.
1097
1098 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
1099
1100         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
1101         deprecation of casts as lvalues.
1102         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
1103         * fixinc/fixincl.x: Regenerate.
1104         * fixinc/tests/base/obstack.h: New test.
1105
1106 2003-10-22  Andreas Schwab  <schwab@suse.de>
1107
1108         PR target/12676
1109         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
1110         LP64 platforms.
1111
1112 2003-10-22  Jan Hubicka  <jh@suse.cz>
1113
1114         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
1115         presence of DW_AT_inline.
1116         (gen_subprogram_die): Likewise; do not abort instead of emitting
1117         DW_AT_not_inline.
1118
1119 2003-10-22  Jan Hubicka  <jh@suse.cz>
1120
1121         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
1122         global info is not ready.
1123
1124 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
1125
1126         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
1127
1128 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
1129
1130         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
1131         ("*movstr_short"): ... into this insn pattern.
1132         ("movstr_short"): New expander.
1133         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
1134         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
1135         ("movstr_long"): New expander.
1136         ("clrstr_short_64", "clrstr_short_31"): Merge ...
1137         ("*clrstr_short"): ... into this insn pattern.
1138         ("clrstr_short"): New expander.
1139         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
1140         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
1141         ("clrstr_long"): New expander.
1142         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
1143         ("*cmpmem_short"): ... into this insn pattern.
1144         ("cmpmem_short"): New expander.
1145         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
1146         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
1147         ("cmpmem_long"): New expander.
1148         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
1149         (s390_expand_clrstr): Likewise.
1150         (s390_expand_cmpmem): Likewise.
1151
1152 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
1153
1154         * c-pch.c (struct c_pch_validity): Add pch_init field.
1155         (pch_init): Set it.
1156         (c_common_valid_pch): Check it.
1157
1158 2003-10-22  David Taylor <dtaylor@emc.com>
1159
1160         PR debug/12500
1161         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
1162
1163 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1164
1165         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
1166         alpha_return_in_memory if no VALTYPE specified.
1167
1168 2003-10-22  Jan Hubicka  <jh@suse.cz>
1169
1170         PR debug/12389
1171         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
1172         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
1173         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
1174         (cgraph_global_info): Add flag inlined
1175         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
1176         cgraph_function_possibly_inded_p
1177         * cgraphunit.c (mark_inline): Set inlined flag.
1178         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
1179         only for possibly inlined functions.
1180         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
1181         body of function.
1182
1183 2003-10-22  Andrew Haley  <aph@redhat.com>
1184
1185         * varasm.c (output_constructor): Make constructor annotation
1186         conditional on ASM_COMMENT_START.
1187
1188 2003-10-21  Jason Merrill  <jason@redhat.com>
1189
1190         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
1191         (get_narrower): Likewise.
1192
1193         * stor-layout.c (layout_decl): Do packed field alignment for
1194         bit-fields, too.
1195
1196 2003-10-21  Eric Christopher  <echristo@redhat.com>
1197
1198         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
1199
1200 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
1201
1202         * c-pch.c: Add comments in various places.
1203         (struct c_pch_validity): Add the lengths of various strings.
1204         (host_machine): New static.
1205         (target_machine): New static.
1206         (get_ident): Bump version number.
1207         (pch_init): Write out version, host, target validity data.
1208         (c_common_valid_pch): Check version, host, target.
1209         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
1210         TARGET_MACHINE.
1211
1212 2003-10-21  Jason Merrill  <jason@redhat.com>
1213
1214         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
1215         (EXPR_P): New macro.
1216
1217 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
1218
1219         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
1220         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
1221         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
1222         DImode.   Use convert_move to load ar.ccv.
1223         (ia64_expand_compare_and_swap): Likewise.
1224         If expand_expr doesn't put 'old' and 'new' in the proper
1225         modes, run them through convert_to_mode.
1226
1227 2003-10-21  Eric Christopher  <echristo@redhat.com>
1228
1229         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
1230         for too large bitfields.
1231
1232 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
1233
1234         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
1235
1236 2003-10-21  Andrew Haley  <aph@redhat.com>
1237
1238         * varasm.c (output_constructor): Annotate constructor.
1239
1240 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
1241
1242         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
1243         on existence of destination file.
1244
1245 2003-10-21  Jan Hubicka  <jh@suse.cz>
1246
1247         * haifa-sched.c (choose_ready): Initialize index.
1248
1249 2003-10-21  Jason Merrill  <jason@redhat.com>
1250
1251         * tree.c (build1): Fix off-by-one error.
1252
1253 2003-10-21  Robert Millan  <robertmh@gnu.org>
1254
1255         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
1256         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
1257         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
1258         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
1259
1260 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1261
1262         * web.c: Fix various comments.
1263
1264 2003-10-20  Nicolas Pitre <nico@cam.org>
1265
1266         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
1267         to 2 instead of 1 when optimize_size is true.  Gather code based on
1268         optimize_size together.  Add comment about XScale load latency.
1269
1270 2003-10-21  Gunther Nikl  <gni@gecko.de>
1271
1272         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
1273         obsolete comments.
1274
1275 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1276
1277         * Makefile.in: Get parsedir and docobjdir from configure.
1278         * configure.in: Recogonize --enable-generated-files-in-srcdir.
1279         Pass along parsedir and docobjdir.
1280         * configure: Regenerate.
1281         * doc/install.texi: Document --enable-generated-files-in-srcdir.
1282
1283 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
1284
1285         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
1286         included.
1287
1288 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1289
1290         * c-common.c (expand_tree_builtin): Ensure creal and cimag
1291         functions do not return lvalues.
1292
1293 2003-10-20  Jason Merrill  <jason@redhat.com>
1294
1295         PR c/12553
1296         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
1297         appropriately.
1298
1299         PR c/11446
1300         * stor-layout.c (layout_decl): Fix alignment handling.
1301
1302 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1303
1304         * doc/extend.texi: Deprecate casts as lvalues.
1305
1306 2003-10-20  Jan Hubicka  <jh@suse.cz>
1307
1308         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
1309
1310         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
1311         with functions implicitly made inline.
1312
1313         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
1314         (cgraph_finalize_function): Use it.
1315         (cgraph_mark_inline): Allow incrmental decisions
1316         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
1317         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
1318         * tree-inline.c (limits_allow_inlining): Kill.
1319         (expand_call_inline): Always use unit-at-a-time path.
1320
1321 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
1322
1323         * fixinc/inclhack.def (hpux11_snprintf): New edit.
1324         * fixinc/fixincl.x: Regenerate.
1325         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
1326
1327 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
1328
1329         * Makefile.in (install-info): Simplify.
1330         ($(DESTDIR)$(infodir)/%.info): New rule.
1331         * configure.in (target_list): Remove install-info.
1332         * doc/.cvsignore (gcc.info*): Remove.
1333         (gccint.info*): Likewise.
1334         (gccinstall.info*): Likewise.
1335         (cpp.info*): Likewise.
1336         (cppinternals.info*): Likewise.
1337         (*.info*): Add it.
1338         * doc/sourcebuild.texi: Update description of install-info.
1339         * objc/Make-lang.in (objc.install-info): Remove.
1340
1341 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1342
1343         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
1344         Use it in _MIPS_SIM definition.
1345         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
1346
1347 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
1348
1349         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
1350         virtual register, but only if file == asm_out_file.
1351         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
1352         for ARG_POINTER_REGNUM.
1353
1354 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
1355
1356         * c-common.c (registered_builtin_types): New static.
1357         (c_common_type_for_mode): Consult registered_builtin_types.
1358         (c_register_builtin_type): Add type to registered_builtin_types.
1359         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
1360         all MODE_FLOAT modes, not just the ones corresponding to
1361         float_type_node, double_type_node, and long_double_type_node.
1362
1363 2003-10-20  Richard Henderson  <rth@redhat.com>
1364
1365         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
1366         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
1367
1368 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
1369
1370         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
1371         support new flag -minsert-sched-nops.
1372         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
1373         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
1374         support new flag -minsert-sched-nops.
1375         (is_cracked_insn, is_microcoded_insn): New functions.
1376         (rs6000_sched_finish): New function.
1377         (rs6000_issue_rate): Return 5 for power4.
1378         (get_next_active_insn, insn_terminates_group_p): New
1379         functions.
1380         (is_costly_group, force_new_group): New functions.
1381         (redefine_groups, pad_groups): New functions.
1382         (rs6000_variable_issue): Use new functions.
1383         * doc/invoke.texi (-minsert-sched-nops): Document new
1384         option.
1385
1386 2003-10-20  David S. Miller  <davem@redhat.com>
1387
1388         * config/sparc/sparc.md (type attribute): Add new insn types
1389         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
1390         (patterns emitting VIS insns): Use them.
1391         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
1392         * config/sparc/ultra3.md: Likewise.
1393
1394 2003-10-20  Falk Hueffner  <falk@debian.org>
1395
1396         PR target/12654
1397         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
1398         comparison against constant by adjusting the argument except for
1399         EQ and NE.
1400
1401 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
1402
1403         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
1404         arm1136jfs, and armv6j.
1405         * config/arm/arm.c (FL_ARCH6J): New macro.
1406         (FL_VFPV2): Likewise.
1407         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
1408         and arm1136jfs.
1409         (all_architectures): Add entry for armv6j.
1410         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
1411         arm1136js, and arm1136jfs.
1412         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
1413         (TARGET_CPU_arm1026ej_s): Likewise.
1414         (TARGET_CPU_arm1136j_s): Likewise.
1415         (TARGET_CPU_arm1136jf_s): Likewise.
1416         * doc/invoke.texi: Document new ARM cores and architecture
1417         variants.
1418
1419 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1420
1421         * Makefile.in (toplev.o): Add value-prof.h dependency.
1422         (value-prof.o): Add REGS_H dependency.
1423         * common.opt (fprofile-values, fvpt): New.
1424         * flags.h (flag_value_profile_transformations): Declare.
1425         * opts.c (common_handle_option): Handle -fprofile_values and
1426         -fvpt.
1427         * profile.c (branch_prob): Don't remove death notes here.
1428         * timevar.def (TV_VPT): New.
1429         * value-prof.c: Include regs.h.
1430         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
1431         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
1432         mod_subtract_transform, value_profile_transformations): New.
1433         (insn_values_to_profile): Call insn_divmod_values_to_profile.
1434         (find_values_to_profile): Add dumps.
1435         * value-prof.h (value_profile_transformations): Declare.
1436         * toplev.c: Include value-prof.h.
1437         (rest_of_handle_value_profile_transformations): New.
1438         (enum dump_file_index): Add DFI_vpt.
1439         (dump_file): Add vpt dump.
1440         (flag_value_profile_transformations): New.
1441         (lang_independent_options): Add flag_profile_values and
1442         flag_value_profile_transformations.
1443         (rest_of_compilation): Call
1444         rest_of_handle_value_profile_transformations.
1445         (process_options): Let -fvpt imply -fprofile-values.
1446         * doc/invoke.texi (-fvpt): Document.
1447
1448 2003-10-19  Jan Hubicka  <jh@suse.cz>
1449
1450         * i386.c (print_reg): Do not abort on certain registers.
1451
1452         PR optimization/12612
1453         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
1454         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
1455         match_scratch; avoid bogus paralles.
1456
1457         PR target/12674
1458         * i386.c (ix86_function_regparm): Disable implicit register passing
1459         conventions when profiling.
1460
1461 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1462             Richard Henderson  <rth@redhat.com>
1463
1464         PR optimization/8178
1465         * config/i386/i386.md (*movsi_zero): Delete.
1466         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
1467
1468 2003-10-19  Richard Henderson  <rth@redhat.com>
1469
1470         * config/alpha/alpha.c (fix_operator): New.
1471         (divmod_operator): Tidy.
1472         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
1473         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
1474         (PREDICATE_CODES): Update.
1475         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
1476         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
1477         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
1478         (fix_truncsfdi_ieee): Likewise.
1479         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
1480         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
1481         * config/alpha/alpha-protos.h: Update.
1482
1483 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
1484
1485         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
1486         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
1487         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
1488         constant operands.
1489
1490 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
1491
1492         * doc/extend.texi: Fix typos.
1493         * doc/invoke.texi: Likewise.
1494
1495 2003-10-18  Nicolas Pitre <nico@cam.org>
1496
1497         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
1498         XScale optimizations not arm_arch_xscale.
1499         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
1500
1501 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
1502
1503         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
1504         * config/s390/s390.c (shift_count_operand): New function.
1505         (s390_extra_constraint): Use it to implement 'Y' constraint.
1506         (print_shift_count_operand): New function.
1507         (print_operand): Use it to implement '%Y'.
1508         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
1509         (PREDICATE_CODES): Add shift_count_operand.
1510         * config/s390/s390.md ("rotldi3"): Merge alternatives,
1511         using "shift_count_operand" predicate and "Y" constraint,
1512         and "%Y" to output the combined shift count.
1513         ("rotlsi3"): Likewise.
1514         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
1515         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
1516         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
1517         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
1518         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
1519         ("lshrsi3"): Likewise.
1520
1521 2003-10-18  Gunther Nikl  <gni@gecko.de>
1522
1523         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
1524         argument to asm_fprintf statement.
1525
1526 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
1527
1528         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
1529         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
1530         a "long long" argument.
1531
1532 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
1533
1534         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
1535         as well.
1536
1537 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
1538
1539         * rtl.h (rtl_size): Declare.
1540         (rtunion): Remove rtwint.
1541         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
1542         (RTX_HDR_SIZE, RTX_SIZE): New macros.
1543         (RTL_CHECK1): Adjust for new rtx_def layout.
1544         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
1545         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
1546         (X0WINT): Remove.
1547         (X0ANY): New macro.
1548         * rtl.def: Adjust comments for new rtx_def layout.
1549         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
1550         number of slots.
1551         * rtl.c (rtx_size): New array.
1552         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
1553         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
1554         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
1555         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
1556         * emit-rtl.c (copy_most_rtx): Likewise.
1557         (copy_rtx_if_shared): Use RTX_SIZE.
1558         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
1559         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
1560         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
1561         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
1562         an array.  Adjust output for new rtx_def layout.
1563         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
1564         * reload1.c (eliminate_regs): Use RTX_SIZE.
1565         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
1566         * gdbinit.in (pi): Likewise.
1567
1568 2003-10-18  Jan Hubicka  <jh@suse.cz>
1569
1570         * integrate.c (copy_decl_for_inlining): Revert previous patch.
1571
1572 2003-10-18  Jan Hubicka  <jh@suse.cz>
1573
1574         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
1575
1576 2003-10-18  Roger Sayle  <roger@eyesopen.com>
1577
1578         * libgcc.texi: Group multi-word types, such as "long double" and
1579         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
1580         Document __unord?f2 as returning a non-zero value, not just one.
1581
1582 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
1583
1584         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
1585         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
1586
1587 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1588
1589         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
1590         match_operand.
1591
1592 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1593
1594         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
1595         parameter packed_p.  Search for a DECL_PACKED field only if
1596         packed_p is false.  Pass packed_p recursively.
1597         (function_arg_record_value_2): Likewise.
1598         (function_arg_record_value): Update calls to
1599         function_arg_record_value_1 and function_arg_record_value_2.
1600
1601 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1602
1603         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
1604         was successfully forced to memory before using the result.
1605
1606 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1607
1608         PR optimization/8178
1609         * config/i386/i386.md (*movsi_zero): New insn to set
1610         a register to zero on TARGET_USE_MOV0 targets.
1611
1612 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
1613
1614         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
1615         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
1616
1617 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
1618
1619         * doc/invoke.texi (gcse-las): Fix typo.
1620
1621 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
1622
1623         * doc/install.texi: Remove first part of the sentence for
1624         zsh not working.  Change gcc to GCC.
1625
1626         PR bootstrap/12546
1627         * doc/install.texi: Document that zsh does not work when
1628         configuring gcc.
1629
1630 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
1631
1632         * config/ptx4.h: Switch to DWARF 2; update comments.
1633
1634 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
1635             Hartmut Penner  <hpenner@de.ibm.com>
1636
1637         PR 10404, partial 11591, partial 11601
1638         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
1639         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
1640         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
1641         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
1642         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
1643         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
1644         (altivec_expand_stv_builtin): Adjust for the memory_operand.
1645         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
1646         (altivec_init_builtins): Use `long int' for memory offsets.
1647
1648 2003-10-17  Jan Hubicka  <jh@suse.cz>
1649
1650         * opts.c  (common_handle_option): Handle OPT_fweb
1651         * invoke.texi (-fweb): Add missing parts of documentation.
1652
1653 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1654
1655         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
1656         before redefinition.
1657
1658 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
1659
1660         * common.opt: Add description of the new -fgcse-las flag.
1661         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
1662         * gcse.c (hash_scan_set): Handle the case of store expression and
1663         insert the memory expression to the hash table, this way we make it
1664         possible to discover redundant loads after stores and remove them.
1665         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
1666         to pre_insert_copies, it is not the correct place to call it after
1667         adding stores to be in the available expression hash table.
1668         (pre_insert_copies): Added the call to update_ld_motion_stores when
1669         one or more copies were inserted.
1670         * opts.c (common_handle_option): Handle the -fgcse-las flag.
1671         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
1672
1673         * doc/invoke.tex: Document new -fgcse-las flag.
1674
1675 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
1676
1677         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
1678         for posterity, then remove it.
1679
1680 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
1681             Nathan Sidwell  <nathan@codesourcery.com>
1682
1683         * config/arm/arm.c (use_return_insn): Not a single instruction, if
1684         there's a frame pointer.
1685         (arm_output_epilogue): Protect stack pointer from being corrupted
1686         on interrupt.
1687
1688 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
1689
1690         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
1691
1692 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
1693
1694         * combine.c (simplify_set): Do not clear out undobuf.other_insn
1695         already set elsewhere.
1696
1697 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
1698
1699         * config/i386/i386.c (ix86_expand_prologue):  Use
1700         gen_allocate_stack_worker.
1701
1702 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1703
1704         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
1705         without gas.
1706         (mips-sgi-irix6*): Likewise.
1707
1708         * config/mips/iris6gas.h: New file.
1709         * gcc/config.gcc (mips-sgi-irix6*): Use it.
1710
1711         * config/mips/mips.h (TARGET_IRIX): Provide default.
1712         (TARGET_IRIX5): Likewise.
1713         (TARGET_SGI_O32_AS): Likewise.
1714         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
1715         (TARGET_IRIX5): Likewise.
1716         * config/mips/iris6.h (TARGET_IRIX6): Remove.
1717         (TARGET_IRIX5): Redefine as 0.
1718
1719         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
1720         linker workaround with TARGET_IRIX and mips_abi instead of
1721         ASM_OUTPUT_UNDEF_FUNCTION.
1722         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
1723         testing TARGET_IRIX and mips_abi explicitly.
1724         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
1725         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
1726
1727         * config/mips/mips.c (irix_output_external_libcall): Renamed from
1728         mips_output_external_libcall.
1729         Use new TARGET_IRIX in guard.
1730         * config/mips/mips-protos.h (irix_output_external_libcall): Match
1731         this.
1732         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
1733
1734         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
1735         Define as 0.
1736
1737         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
1738         depending on mips_abi.
1739         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
1740         * config/mips/mips.c (mips_output_function_prologue): Test
1741         FUNCTION_NAME_ALREADY_DECLARED at runtime.
1742         (mips_output_function_epilogue): Likewise.
1743         (build_mips16_function_stub): Likewise.
1744         (build_mips16_call_stub): Likewise.
1745         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
1746         default.
1747
1748         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
1749         IRIX 6 O32 assembler.
1750         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
1751         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
1752         _MIPS_SIM for O32 ABI.
1753         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
1754         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
1755         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
1756         Integrate O32 version.
1757         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
1758         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
1759         O32 ABI.
1760         (BSS_SECTION_ASM_OP_32): Define.
1761         (BSS_SECTION_ASM_OP_64): Likewise.
1762         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
1763         using them.
1764         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
1765         Move up to allow override for O32 ABI without GNU as.
1766         (EH_FRAME_SECTION_NAME): Define explicitly.
1767         (MUST_USE_SJLJ_EXCEPTIONS): Define.
1768         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
1769         DTORS_SECTION_ASM_OP): Dummy definitions.
1770         (TARGET_ASM_NAMED_SECTION): Undef statically.
1771         (EH_FRAME_SECTION_NAME): Likewise.
1772         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
1773         (LINK_SPEC): Only use default options -call_shared -no_unresolved
1774         without -r.
1775         Don't pass -init, -fini with -mabi=32.
1776         (COLLECT_PARSE_FLAG): Define.
1777
1778         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
1779         TARGET_IRIX.
1780         Renamed to use irix_ prefix.
1781         (iris6_asm_named_section): Likewise.
1782         (iris_section_align_entry_eq): Likewise.
1783         (iris_section_align_entry_hash): Likewise.
1784         (iris6_file_start): Likewise.
1785         (iris6_section_align_1): Likewise.
1786         (iris6_file_end): Likewise.
1787         (iris6_section_type_flags): Likewise.
1788         (iris_section_align_htab): Likewise.
1789         (iris_orig_asm_out_file): Likewise.
1790         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
1791         (TARGET_ASM_FILE_END): Likewise.
1792         (TARGET_SECTION_TYPE_FLAGS): Likewise.
1793
1794         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
1795         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
1796         override_options instead.
1797         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
1798         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
1799         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
1800         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
1801         assemblers.
1802         Likewise for constructor/destructor handling.
1803         (override_options): Handle IRIX O32 assembler quirks.
1804         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
1805         without gas.
1806         (mips_file_start): Use new TARGET_IRIX.
1807         (mips_declare_object_name): No special processing for IRIX O32
1808         assembler.
1809         (mips_finish_declare_object): Likewise.
1810         (irix_asm_output_align): Renamed from iris6_asm_output_align.
1811         Don't record alignment for O32 ABI.
1812         (irix_file_start): Renamed from iris6_file_start.
1813         Return early for O32 ABI.
1814         (irix_file_end): Renamed from iris6_file_end.
1815         Don't emit .section directives for O32 ABI.
1816         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
1817         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
1818
1819         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
1820         (MULTILIB_OSDIRNAMES): Likewise.
1821
1822 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1823
1824         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
1825         (main): Use it.
1826         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
1827
1828 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
1829
1830         * arm-modes.def (CC_Nmode): New condition code mode.
1831         * arm.c (thumb_condition_code): Delete.
1832         (arm_select_cc_mode): Handle single-bit test for Thumb.
1833         (arm_print_operand, cases 'd' and 'D'): Don't special case the
1834         condition code logic for Thumb.
1835         (get_arm_condition_code): Handle CC_Nmode.
1836         (thumb_cbrch_target_operand): New function.
1837         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
1838         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
1839         * arm.md: Add Thumb split patterns for zero_extract and
1840         sign_extract.
1841         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
1842         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
1843         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
1844         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
1845         (cbranchne_decr1): Re-work to use CC_Nmode.
1846
1847         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
1848         by the return instruction.  Add a use of the link register if it
1849         wasn't stored.
1850
1851 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
1852
1853         * flow.c (init_propagate_block_info): Don't abort if a conditional
1854         jump is not a comparison of a register.  Instead, just don't record
1855         conditional life information.
1856
1857 2003-10-16  Jan Hubicka  <jh@suse.cz>
1858
1859         PR optimization/12630
1860         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
1861         for operands 7 and 8.
1862
1863 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
1864
1865         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
1866
1867 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
1868
1869         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
1870
1871         * config/i386/winnt.c (gen_stdcall_suffix): Make static
1872         (gen_fastcall_suffix): Likewise.
1873         (i386_pe_dllexport_p): Likewise.
1874         (i386_pe_dllimport_p): Likewise.
1875         (i386_pe_mark_dllexport): Likewise.
1876         (i386_pe_mark_dllimport): Likewise.
1877         (i386_pe_asm_named_section): Fix formatting.
1878
1879 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
1880
1881         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
1882         * system.h: Declare snprintf if necessary.
1883         * configure, config.in: Regenerate.
1884
1885 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
1886
1887         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
1888         arguments if TARGET_ALTIVEC_ABI.
1889
1890 2003-10-15  Roger Sayle  <roger@eyesopen.com>
1891
1892         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
1893         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
1894         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
1895         New functions.
1896         (expand_builtin_memcpy): Use integer_zerop instead of testing
1897         host_integerp and tree_low_cst directly.  Move misapplied hunk
1898         for optimization wher SRC and DEST point to the same location.
1899         (expand_builtin_mempcpy): From here.
1900         (expand_builtin_memmove): Use integer_zerop instead of testing
1901         host_integerp and tree_low_cst_directly.
1902         (expand_builtin_memset): Likewise.
1903         (expand_builtin_memcmp): Likewise (and for integer_onep).
1904         (expand_builtin_strncmp): Likewise.
1905         (fold_builtin): Call the appropriate fold_builtin_foo functions
1906         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
1907         strcmp and strncmp.
1908
1909 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
1910
1911         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
1912         prototype.  Clean up some whitespace.
1913         * config/darwin.c: Use gen_rtx_FOO (...) rather than
1914         gen_rtx (FOO, ...).
1915         (machopic_non_lazy_ptr_name): Make static.
1916         (name_needs_quotes): Allow '.' and '$' unquoted.
1917         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
1918         case.
1919
1920 2003-10-15  Gábor Lóki  <alga@rgai.hu>
1921
1922         * fold-const.c (tree_swap_operands_p): Disable some features
1923         when optimizing for size.
1924
1925 2003-10-15  David Daney  <ddaney@avtrex.com>
1926
1927         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
1928         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
1929         from leaf functions.
1930         (DWARF_FRAME_RETURN_COLUMN): Ditto.
1931         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
1932         by MD_FALLBACK_FRAME_STATE_FOR.
1933         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
1934
1935 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
1936
1937         * genmodes.c: Include hashtab.h.
1938         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
1939         (adj_bytesize, adj_alignment, adj_format, new_adjust)
1940         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
1941         (print_maybe_const_decl, emit_mode_adjustments): New.
1942         (known_modes): Rename to modes.
1943         (find_mode): Kill class argument; look up in hash table.
1944         (new_mode): Insert into hash table also.
1945         (new_adjust): New.
1946         (reset_float_format, make_partial_integer_mode)
1947         (make_vector_mode): Tweak error reporting.
1948         (reset_float_format): Correct type of fourth argument.
1949         (emit_insn_modes_h): Add #defines to help make mode_size,
1950         mode_base_align, and real_format_for_mode conditionally const.
1951         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
1952         (emit_real_format_for_mode): Likewise, but temporarily disabled.
1953         (emit_insn_modes_c): Call emit_mode_adjustments.
1954         (main): Initialize modes_by_name.
1955         * Makefile.in: Update dependencies.
1956         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
1957         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
1958         declarations of mode_size and mode_base_align.  Declare
1959         init_adjust_machine_modes.
1960         * toplev.c (backend_init): Call init_adjust_machine_modes.
1961
1962 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
1963
1964         * genmodes.c (calc_wider_mode): Allocate enough room for all the
1965         entries we'll possibly assign in the sort buffer.
1966
1967 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
1968
1969         * config.gcc (s390x-ibm-tpf*): New target.
1970         * doc/install.texi: Document it.
1971         * config/s390/t-tpf: New file.
1972         * config/s390/tpf.h: New file.
1973
1974 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
1975
1976         PR target/12598
1977         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
1978         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
1979         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
1980         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
1981         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
1982         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
1983         replace_equiv_address, not gen_rtx_MEM.
1984         * config/cris/cris.c (cris_mem_op): New match_operator function.
1985         (cris_notice_update_cc): Use replace_equiv_address, not
1986         gen_rtx_MEM.
1987         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
1988
1989 2003-10-15  Bernardo Innocenti <bernie@develer.com>
1990
1991         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
1992         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
1993         definitions after the other flags.
1994
1995 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
1996
1997         * c-parse.in (methoddef, methodproto): Call objc_add_method()
1998         instead of add_method().
1999         * objc/objc-act.c (objc_check_decl): Do not check for
2000         constant_string_type.
2001         (add_method): Rename to objc_add_method().
2002         (really_start_method): Call objc_add_method() instead of
2003         add_method().
2004         * objc/objc-act.h (add_method): Rename to objc_add_method().
2005
2006 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2007
2008         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
2009         (s390_slb_comparison): Likewise.
2010         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
2011         New functions.
2012         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
2013         and s390_slb_comparison.
2014         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
2015         zSeries machines.
2016         ("*adddi3_31z", "*subdi3_31z"): New insns.
2017         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
2018         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
2019         New insns.
2020
2021 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2022
2023         * configure.in: Clean up some feedback echoes.
2024         * configure: Regenerate.
2025
2026         * aclocal.m4: Properly quote names of macros being defined.
2027
2028         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
2029
2030 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
2031
2032         * config/ia64/ia64.c (ia64_expand_call): Force function address
2033         to DImode.
2034         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
2035
2036 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
2037
2038         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
2039         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
2040         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
2041         "*divsf3_ibm"): Likewise.
2042
2043 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
2044
2045         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
2046         target_alias with target_noncanonical.
2047
2048 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
2049
2050         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
2051         and add case for machines where outgoing register parameters
2052         get stack space.
2053
2054         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
2055         register when generating indirect address.
2056
2057 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
2058
2059         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
2060         * arm.md (cbranchne_decr1): Fix bootstrap warning.
2061
2062 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2063
2064         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
2065         * fixinc/fixincl.x: Regenerate.
2066         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
2067         testcase.
2068         Fixes PR bootstrap/9330.
2069
2070 2003-10-13  Eric Christopher  <echristo@redhat.com>
2071
2072         * config/frv/frv.c (frv_adjust_field_align): Redo check for
2073         too wide bitfields.
2074         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
2075         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
2076         (SBSS_SECTION_ASM_OP): Remove.
2077         (EXTRA_SECTIONS): Remove in_sbss.
2078         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
2079         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
2080         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
2081         named_section.
2082
2083 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2084
2085         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
2086         uses of ${target_alias} for directory names (and other places which
2087         won't like the empty string) with ${target_noncanonical}.  Introduce
2088         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
2089         available.
2090         * configure: Regenerate.
2091
2092 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
2093
2094         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
2095         * config/arm/arm.md: For splits which rely on conditional moves,
2096         remove ! TARGET_IWMMXT condition.
2097
2098 2003-10-13  David S. Miller  <davem@redhat.com>
2099
2100         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
2101         (find_cond_trap): Always increment if we emit a conditional
2102         trap insn.
2103
2104 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
2105
2106         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
2107         with min-insn-modes.o.
2108         (STAGESTUFF): Add min-insn-modes.c.
2109         (genobjs): Add genmodes.o.
2110         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
2111         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
2112         (min-insn-modes.c, min-insn-modes.o): New rules.
2113         (s-modes): Also generate min-insn-modes.c.
2114         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
2115         * genmodes.c (struct mode_data): Add format field.
2116         (blank_mode, validate_mode, complete_mode): Update to match.
2117         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
2118         (_SCALAR_MODE): Kill.
2119         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
2120         (emit_insn_modes_c_header): Adjust.
2121         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
2122         (emit_min_insn_modes_c): New functions.
2123         (emit_insn_modes_c): Call emit_real_format_for_mode.
2124         (main): Add -m option to generate min-insn-modes.c.
2125         * machmode.h: Update documentation.  Add format argument to
2126         all uses of FLOAT_MODE.
2127         * real.c: Don't define real_format_for_mode here.
2128
2129         * dwarfout.c: Move default definition of PRINT_REG...
2130         * defaults.h: ...here.
2131         * print-rtl.c: Include tm_p.h.
2132         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
2133         Kill.
2134         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
2135         this entire block with #ifndef GENERATOR_FILE.
2136         * regclass.c: Unconditionally define reg_names.
2137         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
2138         Don't define DEBUG_REGISTER_NAMES.
2139         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
2140         redefinition of REGISTER_NAMES.
2141         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
2142
2143         * combine.c: Change all preprocessor conditionals on
2144         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
2145         for clarity.
2146         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
2147         * configure.in: Don't define EXTRA_CC_MODES.
2148         * configure, config.in: Regenerate.
2149         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
2150
2151         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
2152         May assume that GET_MODE_CLASS is accurate for extra CC modes
2153         at all times.
2154
2155         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
2156         number of arguments to aggregate_value_p.
2157
2158         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
2159         * machmode.def: Explain ARCH-modes.def.  Document
2160         RESET_FLOAT_FORMAT.  Improve commentary on various mode
2161         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
2162         XF, or TF modes here.  Remove backward-compatibility
2163         definition of CC.
2164
2165         * config/alpha/alpha-modes.def: New file; define TF mode.
2166         * config/arc/arm-modes.def: Define XF mode.
2167         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
2168         float format for SF and DF modes.
2169         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
2170         * config/i386/i386-modes.def: Define XF and TF modes.
2171         * config/i960/i960-modes.def: Define TF mode.
2172         * config/ia64/ia64-modes.def: Define TF and OI modes.
2173         * config/m68k/m68k-modes.def: New file; define XF mode.
2174         * config/mips/mips-modes.def: New file; define TF mode, reset
2175         formats for SF and DF modes.
2176         * config/pa/pa-modes.def: Define TF mode.
2177         * config/rs6000/rs6000.c: Define TF and PSI modes.
2178         * config/s390/s390-modes.def: Define OI mode.
2179         * config/sh/sh-modes.def: New file; define PSI mode.
2180         * config/sparc/sparc-modes.def: Define TF mode.
2181         * config/vax/vax-modes.def: New file; reset formats for SF and
2182         DF modes.
2183
2184         * config/c4x/c4x.c (c4x_override_options): No need to mess
2185         with real_format_for_mode or set REAL_MODE_FORMATs.
2186         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
2187         variable.
2188         * config/i386/i386.c (override_options): No need to set
2189         REAL_MODE_FORMATs here.
2190         * config/i960/i960.c (i960_initialize): Likewise.
2191         * config/m68k/m68k.c (m68k_override_options): Likewise.
2192         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
2193         for TFmode only if not the default.
2194         * config/mips/mips.c (override_options): Likewise.
2195         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
2196         DFmode only if not the default.
2197
2198         * config/i370/i370.h (RET_REG): Don't consider TFmode.
2199         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
2200         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
2201         of modes that don't appear anywhere in the machine description.
2202
2203         * config/arc/arc-modes.def, config/arm/arm-modes.def
2204         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
2205         * config/i386/i386-modes.def, config/i960/i960-modes.def
2206         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
2207         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
2208         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
2209         * config/sparc/sparc-modes.def: Convert to new style for
2210         declaring extra CC modes.
2211
2212 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
2213
2214         * cpplex.c (_cpp_clean_line): In the common case of a line
2215         with no trigraphs and no \-newline, avoid writing to memory.
2216         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
2217         of the buffer member.  Make c an uchar to avoid unnecessary
2218         sign extensions.
2219
2220 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2221
2222         * configure.in: Remove unnecessary test.
2223         * configure: Regenerate.
2224
2225         * configure.in: Fix grammatical error.  Move UWIN host error to...
2226         * config.host: Here.
2227         * configure: Regenerate.
2228
2229 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
2230
2231         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
2232         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
2233         of flag_unsafe_math_optimizations.
2234         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
2235         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
2236         fused-madd and no-fused-madd.
2237         * doc/invoke.texi: Documented the new options fused-madd and
2238         no-fused-madd for S/390.
2239
2240 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
2241
2242         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
2243         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
2244         assign DEFAULT_ABI.
2245         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
2246         * config/rs6000/rs6000.c: Formatting.
2247         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
2248         when rs6000_alignment_string given.
2249
2250 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2251
2252         PR target/12538
2253         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
2254         (sparc_flat_must_save_register_p): New function to decide whether
2255         a register must be saved/restored in the function prologue/epilogue.
2256         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
2257
2258 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
2259
2260         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
2261         ISO C90 function declarations and definitions.
2262         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
2263
2264 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2265
2266         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
2267         config files which do the same thing.
2268         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
2269         config/freebsd6.h: Remove now unnecessary files.
2270
2271 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
2272
2273         * c-common.c (c_common_truthvalue_conversion): Warn if the
2274         address of a non-weak function is used as a truth value.
2275
2276 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
2277
2278         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
2279         a literal.
2280         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
2281         instead of a literal.
2282
2283 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
2284
2285         * doc/extend.texi (Function Attributes): Mention the exceptional
2286         path for noreturn-marked functions.
2287
2288 2003-10-12  Jan Hubicka  <jh@suse.cz>
2289
2290         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
2291         warning.
2292
2293 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
2294
2295         * config/i386/i386.c (x86_this_parameter): Fix typo.
2296
2297 2003-10-11  Jan Hubicka  <jh@suse.cz>
2298
2299         * Makefile.in (web.o): New.
2300         * web.c: New file.
2301         * rtl.h (web_main): Declare.
2302         * timervar.def (TV_WEB): New.
2303         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
2304         (rest_of_hanle_web): New.
2305         (flag_web): New static variable.
2306         (lang_independent_options): Add "web".
2307         (rest_of_compilation): Call rest_of_handle_web.
2308         * invoke.texi (-fweb): Document.
2309         * common.opt (fweb): New.
2310         * flags.h (flag_web): New.
2311         * opts.c (decode_options): Set flag_web at -O3.
2312
2313         * passes.texi (web construction):  Document.
2314         * invoke.texi (-O3): Document that -fweb is enabled.
2315
2316         * regrename.c (regrename_optimize): Deal better with situation when
2317         replacement failed.
2318
2319         * sched-ebb.c: Include params.h and profile.h
2320         (schedule_ebbs):  Use tracer parameters to discover superblocks
2321         * Makefile.in (sched-ebb.o):  Add dependencies.
2322
2323 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2324
2325         * fold-const.c (negate_mathfn_p): New function to determine whether
2326         a built-in mathematical function is sign preserving, f(-x) == -f(x).
2327         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
2328         (tree_swap_operands_p): Change API to take an additional argument
2329         indicating that the swapped operands evaluate in reverse order.
2330         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
2331         operand side-effects or we don't care about flag_evaluation_order.
2332         (reorder_operands_p): New function to check whether its safe to
2333         evaluate the given operands in reverse order.
2334         (negate_expr_p):  We can always negate integer constants unless
2335         we honor -ftrapv and the signed type would overflow.  Only allow
2336         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
2337         negation of COMPLEX_CST if both real and imaginary parts can be
2338         negated.  Allow negation through floating point extensions and
2339         sign-preserving built-in functions.
2340         (negate_expr):  Move the code to negate integers from "fold" to
2341         here.  Always negate integer constants unless we honor -ftrapv
2342         and the signed type would overflow.  Always negate real constants
2343         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
2344         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
2345         Optimize negation through floating point extensions and
2346         sign-preserving built-in functions (as defined by negate_mathfn_p).
2347         (fold): Adjust calls to tree_swap_operands_p.
2348         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
2349         to negate_expr_p/negate_expr.
2350         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
2351         allowed to convert (-A) - B into (-B) - A.
2352
2353 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2354
2355         * builtins.c (expand_builtin_strcmp): Defend against the possibility
2356         that gen_cmpstrsi may fail: Stabilize the argument list against
2357         re-evaluation and expand the library call directly using this saved
2358         argument list if a cmpstrsi sequence can't be generated.
2359         (expand_builtin_strncmp): Likewise.
2360
2361         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
2362
2363 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2364
2365         PR optimization/12260
2366         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
2367         operations through CONST nodes.  Optimize (neg (plus X C)) as
2368         (minus -C X) for constant values C.
2369         (simplify_binary_operation): Optimize (minus (neg X) C) as
2370         (minus -C X) for constant values C.
2371         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
2372         instead create (minus -C X).
2373
2374 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2375
2376         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
2377         safe_from_p for us, once it chooses an evaluation order.
2378         (expand_expr <MULT_EXPR>): Likewise.
2379         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
2380         places the second operand in "target", swap the operands.
2381         (do_store_flag): Let expand_operands call safe_from_p for us.
2382
2383 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
2384
2385         PR optimization/12544
2386         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
2387         for DECL_NONLOCAL decls.
2388
2389 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2390
2391         * expr.c: Follow spelling conventions.
2392         * final.c: Likewise.
2393         * optabs.c: Likewise.
2394         * sched-deps.c: Likewise.
2395         * sdbout.c: Likewise.
2396
2397 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
2398
2399         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
2400         re-computing of variable.
2401
2402 2003-10-11  Richard Henderson  <rth@redhat.com>
2403
2404         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
2405         return_in_memory, make static, change signature to match target hook.
2406         (alpha_setup_incoming_varargs): Make static, change signature to
2407         match target hook, add code for vms and unicos.
2408         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
2409         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
2410         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
2411         TARGET_STRICT_ARGUMENT_NAMING,
2412         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
2413         * config/alpha/alpha-protos.h: Update.
2414         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
2415         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
2416         SETUP_INCOMING_VARARGS): Remove.
2417         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
2418         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
2419
2420 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
2421
2422         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
2423
2424 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2425
2426         * config/m68k/lb1sf68.asm: Follow spelling conventions.
2427         * config/m68k/m68k.c: Likewise.
2428         * config/m68k/m68k.h: Likewise.
2429         * config/m68k/m68k.md: Likewise.
2430
2431 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2432
2433         * builtins.c (expand_builtin_memcpy): Optimize case when the two
2434         pointer arguments are the equal, non-volatile and side-effect free.
2435         (expand_builtin_mempcpy): Likewise.
2436         (expand_builtin_memmove): Likewise.
2437         (expand_builtin_strcpy): Likewise.
2438         (expand_builtin_memcmp): Likewise.
2439         (expand_builtin_strcmp): Likewise.
2440         (expand_builtin_strncmp): Likewise.
2441
2442 2003-10-11  Roger Sayle  <roger@eyesopen.com>
2443
2444         * combine.c (apply_distributive_law): Enable "distributive" floating
2445         point optimizations with -funsafe-math-optimizations.
2446
2447 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
2448
2449         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
2450
2451 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2452
2453         * config/m68k/m68k-protos.h: Remove the prototype for
2454         finalize_pic.
2455
2456 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
2457
2458         * config/m68k/m68k.c: Fix comment typos.
2459
2460 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2461
2462         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
2463         int to bool.
2464         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
2465         (current_frame): New global var.
2466         (m68k_compute_frame_layout): Cache computations in current_frame.
2467         (m68k_initial_elimination_offset): Use values from current_frame
2468         instead of recomputing them.
2469         (use_return_insn): Likewise.
2470         (m68k_output_function_prologue): Likewise.
2471         (m68k_output_function_epilogue): Likewise.
2472         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
2473         inside the block for __pic__.
2474
2475 2003-10-11  Peter Barada <peter@baradas.org>
2476             Bernardo Innocenti  <bernie@develer.com>
2477
2478         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
2479         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
2480         (m68k_interrupt_function_p): New function.
2481         (m68k_handle_fndecl_attribute): Ditto.
2482         (m68k_compute_frame_layout): Ditto.
2483         (m68k_attribute_table): Define back-end specific attributes.
2484         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
2485         functions.
2486
2487 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2488
2489         * config/m68k/t-uclinux: New target Makefile fragment.
2490         * config/m68k/uclinux.h: New target macro file.
2491         * config.gcc (m68k-*-uclinux): New target definition.
2492
2493 2003-10-10  Roger Sayle  <roger@eyesopen.com>
2494
2495         * builtins.c (builtin_mathfn_code): Generalize to check whether
2496         the call is to any built-in function by comparing the call's
2497         argument list against the builtin decl's function type.
2498
2499 2003-10-10  Roger Sayle  <roger@eyesopen.com>
2500
2501         * cse.c (constant_pool_entries_regcost): New global variable to
2502         hold the register cost component of constant_pool_entries_cost.
2503         (fold_rtx): Calculate constant_pool_entries_regcost at the same
2504         time as constant_pool_entries_cost.
2505         (cse_insn): Set both src_folded_cost and src_folded_regcost from
2506         constant_pool_entries_cost and constant_pool_entries_regcost.
2507         (cse_main): Initialize constant_pool_entries_regcost to zero.
2508
2509         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
2510         the semantics of the sequence of bit operations used to negate
2511         a floating-point value.
2512         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
2513         the semantics of the bit operations used to abs a floating point
2514         value.
2515
2516 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2517             Paul Dale  <pauli@snapgear.com>
2518
2519         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
2520         support.
2521         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
2522         -fpic, -fPIC, -msep-data and -mid-shared-library.
2523         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
2524         (override_options): Add -msep-data and -mshared-library-id support.
2525         (m68k_output_function_prologue): Generate code to load A5 for
2526         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
2527         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
2528         (m68k_output_pic_call): New function.
2529         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
2530         (TARGET_ID_SHARED_LIBRARY): Ditto.
2531         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
2532         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
2533         (call_value): Likewise.
2534
2535 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
2536
2537         * gengenrtl.c (find_formats, genheader): Make i an unsigned
2538         int, remove cast of NUM_RTX_CODE.
2539         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
2540         entire file.  Remove the #ifs on GET_MODE_MASK etc and
2541         GET_MODE_WIDER_MODE etc.
2542
2543 2003-10-10  Eric Christopher  <echristo@redhat.com>
2544
2545         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
2546         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
2547         that set mode.
2548         * config/sh/sh.h (MODE_ENTRY): New macro.
2549         (MODE_EXIT): Ditto.
2550         (MODE_AFTER): Ditto.
2551         * config/sh/sh.md: Change for MODE_AFTER. Add
2552         fp_set attribute.
2553         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
2554
2555 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
2556
2557         * genmodes.c, mode-classes.def: New files.
2558         * machmode.def: Rewritten to genmodes.c interface.
2559         * Makefile.in (extra_modes_file): New substitution variable.
2560         (MACHMODE_H): No longer includes machmode.def or
2561         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
2562         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
2563         (OBJS-common): Add insn-modes.o.
2564         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
2565         genmodes$(build_exeext).
2566         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
2567         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
2568         (s-genrtl): Don't depend on $(RTL_BASE_H).
2569         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
2570         or $(RTL_BASE_H); just rtl.def.
2571         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
2572         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
2573         substitute definition of NUM_RTX_CODE.  Add casts to avoid
2574         warnings.
2575         * machmode.h: Include insn-modes.h, not machmode.def.  Include
2576         mode-classes.def to define enum mode_class.  Tweak definitions
2577         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
2578         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
2579         (inner_mode_array): Renamed mode_inner.
2580         (mode_base_align): New.
2581         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
2582         mode_unit_size, mode_wider_mode, mode_mask_array,
2583         inner_mode_array, class_narrowest_mode): Delete definitions.
2584         * stor-layout.c (get_mode_alignment): Use mode_base_align.
2585         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
2586         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
2587
2588         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
2589         No need to define BITS_PER_UNIT.
2590
2591 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2592
2593         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
2594         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
2595         (ia64_initialize_trampoline): If not using GAS, declare trampoline
2596         as global.
2597         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
2598         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
2599
2600         * stor-layout.c (compute_record_mode): Don't force BLKmode if
2601         field is zero-length BLKmode.
2602         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
2603         zero-size references.
2604
2605         * combine.c (distribute_links): Properly test for REG being set.
2606
2607         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
2608         gen_lowpart and company except for REG.
2609
2610 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2611
2612         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
2613
2614 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
2615
2616         * config.gcc (mips*-*-netbsd*): Remove content-free line.
2617
2618 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
2619
2620         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
2621         gcov_position_t and gcov_type.
2622
2623 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
2624
2625         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
2626         * configure: Regenerate.
2627
2628 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
2629
2630         * config/h8300/h8300.md (define_asm_attributes): Specify
2631         the length of an asm insn more precisely.
2632
2633 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2634
2635         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
2636
2637 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
2638
2639         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
2640         FP register number to 48 and MAC16 accumulator to 0x210.
2641
2642 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2643
2644         * config.gcc: Remove redundant thread_file setting clauses for
2645         various *-*-linux* targets.
2646
2647 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
2648
2649         * config/h8300/h8300.md (define_asm_attributes): New.
2650
2651 2003-10-09  Roger Sayle  <roger@eyesopen.com>
2652
2653         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
2654         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
2655
2656 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
2657
2658         * haifa-sched.c (ok_for_early_schedule): New function.
2659         (early_queue_to_ready): New function.
2660         (schedule_block): Allow early removal of insns from Q.
2661         (schedule_insn): Update INSN_TICK in case of premature
2662         issue.
2663         * common.opt (sched_stalled_insns): New flag.
2664         (sched_stalled_insns_dep): New flag.
2665         * flags.h: Same above flags.
2666         * opts.c: Same as above.
2667         * toplev.c: Same as above.
2668         * target.h (targetm.sched.is_costly_dependence): New
2669         hook.
2670         * target-def.h: Same as above.
2671         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
2672         Support new flag -msched-costly-dep.
2673         (DEFAULT_SCHED_COSTLY_DEP): Define.
2674         * config/rs6000/rs6000.c:
2675         (rs6000_is_costly_dependence): New function.
2676         (is_load_insn, is_store_insn): New functions.
2677         (is_load_insn1, is_store_insn1, is_mem_ref): New
2678         functions.
2679         * doc/invoke.texi (-fsched-stalled-insns-dep)
2680         (-fsched-stalled-insns, -msched-costly-dep): Document
2681         options.
2682         * doc/tm.texi (is_costly_dependence): Define new
2683         scheduler target hook.
2684
2685 2003-10-09  Jason Merrill  <jason@redhat.com>
2686
2687         PR c++/6392
2688         * c-common.c (c_build_qualified_type): Look through arrays first.
2689         (c_apply_type_quals_to_decl): Look through arrays.
2690
2691         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
2692         types with constructors.
2693
2694         * coverage.c (build_ctr_info_value): Use build_decl to make a
2695         VAR_DECL.
2696         (create_coverage): Likewise.
2697
2698         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
2699         here.
2700         (expand_asm_operands): Not here.
2701         (parse_input_constraint): No longer static.
2702         * tree.h: Declare it.
2703
2704 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2705
2706         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
2707         libgcc_s.so.
2708         (SHLIB_INSTALL): Likewise.
2709
2710 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2711
2712         * doc/install.texi: Remove reference to removed 'pthreads' thread
2713         option.
2714
2715 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
2716
2717         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
2718         operand 2.
2719
2720 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
2721
2722         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
2723         up related case statements.
2724         * configure.in: Don't accept --enable-threads=pthreads,
2725         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
2726         supported thread files in case clause.
2727         * configure: Regenerate.
2728
2729 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
2730
2731         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
2732         definition to above SPARC_STACK_BOUNDARY_HACK.
2733
2734 2003-10-08  Jason Merrill  <jason@redhat.com>
2735
2736         * c-pretty-print.c (pp_c_postfix_expression)
2737         <COMPOUND_LITERAL_EXPR>: Fix thinko.
2738
2739 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2740
2741         * mklibgcc.in: Don't hide undefined or typeless symbols.
2742
2743 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2744
2745         PR optimization/12142
2746         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
2747         uses of the register in the SET_SRC.  Remove unnecessary argument.
2748         * pa.c (legitimize_pic_address): Before reload, use a scratch register
2749         for the intermediate result in loading the address of a SYMBOL_REF.
2750         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
2751         which loads the SYMBOL_REF address.
2752
2753 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
2754             Eric Botcazou  <ebotcazou@libertysurf.fr>
2755
2756         PR bootstrap/12490
2757         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
2758         to define the size of the extern_C_braces array.  Set it to 200.
2759         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
2760
2761 2003-10-08  Carlo Wood  <carlo@alinoe.com>
2762
2763         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
2764         a space after the -o option.  flex 2.5.31 understands both, with
2765         and without the space. Removed that space.
2766
2767 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
2768
2769         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
2770         (compute_frame_size): Initialize it.  Remove the .cprestore slot
2771         from args_size.
2772         (mips_output_function_prologue): Simplify accordingly.
2773         (mips_debugger_offset): Change the mips16 frame pointer offset from
2774         current_function_outgoing_args to cfun->machine->frame.args_size.
2775         (mips_initial_elimination_offset): Likewise.
2776         (mips_expand_prologue): Likewise.
2777         (mips_expand_epilogue): Likewise.
2778
2779 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
2780
2781         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
2782         (EXTRA_MEMORY_CONSTRAINT): Define.
2783         (CAN_ELIMINATE): Remove lwu workaround.
2784         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
2785         Use a 'W' constraint for the source operand.
2786
2787 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
2788
2789         * genopinit.c (main): Output code to declare undefined
2790         variables.
2791
2792 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
2793
2794         * gengtype-lex.l: Remove -Wtraditional cruft.
2795         * Makefile.in (gengtype-lex.c): Likewise.
2796
2797 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2798
2799         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
2800
2801 2003-10-07  Jason Merrill  <jason@redhat.com>
2802
2803         PR c++/12519
2804         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
2805         it isn't a decl.
2806
2807 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
2808
2809         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
2810         not overridden.
2811         Fixes PR bootstrap/12173.
2812
2813 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
2814
2815         * errors.c: Don't include coretypes.h or tm.h.
2816         (trim_filename): Use IS_DIR_SEPARATOR.
2817         * Makefile.in: Update dependencies of errors.o and
2818         $(BUILD_PREFIX_1)errors.o.
2819
2820 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
2821
2822         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
2823         account when aligning arguments.
2824         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
2825         * defaults.h (STACK_POINTER_OFFSET): ... to here.
2826         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
2827         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
2828         (SPARC_STACK_BOUNDARY_HACK): Define.
2829         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
2830         arrange for vector parameters to varargs functions to be passed
2831         in both memory and GPRs when appropriate.
2832         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
2833         aligned.
2834
2835         * hooks.c (hook_bool_tree_true): New.
2836         (hook_rtx_tree_int_null): New.
2837         (hook_rtx_rtx_null): Use NULL, not 0.
2838         * hooks.h: Add 'extern' to everything.
2839         (hook_bool_tree_true): New.
2840         (hook_rtx_tree_int_null): New.
2841         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
2842         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
2843         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
2844         prototype.
2845         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
2846         (setup_incoming_varargs): Prototype.
2847         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
2848         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
2849         (TARGET_STRUCT_VALUE_RTX): Define.
2850         (TARGET_RETURN_IN_MEMORY): Define.
2851         (TARGET_SETUP_INCOMING_VARARGS): Define.
2852         (TARGET_STRICT_ARGUMENT_NAMING): Define.
2853         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
2854         (init_cumulative_args): Use rs6000_return_in_memory.
2855         (setup_incoming_varargs): Make 'static'.
2856         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
2857         (PROMOTE_FUNCTION_RETURN): Delete.
2858         (STRUCT_VALUE): Delete.
2859         (RETURN_IN_MEMORY): Delete.
2860         (SETUP_INCOMING_VARARGS): Delete.
2861
2862 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
2863
2864         * doc/invoke.texi (Warning Options): Simplify and clarify the
2865         descriptions of -Wnonnull and -Winit-self.
2866
2867 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
2868
2869         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
2870         indicees for floating-point conversersion libcalls.
2871
2872 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
2873
2874         * Makefile.in: Add more comments separating large conceptually
2875         separate sections.
2876
2877         * configure.in: Clean up thread file logic.
2878         * configure: Regenerate.
2879
2880 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
2881
2882         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
2883         (switch_to_section): Handle in_readonly_data.
2884         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
2885         readonly data.
2886
2887 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
2888
2889         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
2890         it.
2891         (cbranchne_decr1): New Thumb pattern.
2892         * arm.c (arm_addimm_operand): New insn predicate.
2893         * arm-protos.h: Add a prototype for it.
2894         * arm.h (PREDICATE_CODES): Add it.
2895
2896 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
2897
2898         * sched-int.h (sched_info): New field
2899         sched_max_insns_priority.
2900         * sched-rgn.c (init_ready_list): Add invocations to
2901         targetm.sched.adjust_priority.
2902         (sched_max_insns_priority): Init new field.
2903         * sched-ebb.c (sched_max_insns_priority): Init new field.
2904         * haifa-sched.c (set_priorities): Set
2905         sched_info->sched_max_insns_priority.
2906         * config/rs6000/rs6000.h:
2907         (rs6000_sched_restricted_insns_priority_str): Support new
2908         flag -mprioritize-restricted-insns.
2909         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
2910         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
2911         function.
2912         (rs6000_adjust_priority): Change priority of restricted
2913         insns, using above new function and new flag.
2914         * doc/invoke.texi (-mprioritize-restricted-insns): Document
2915         new option.
2916
2917 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
2918
2919         * expr.c (cmpstr_optab, cmpmem_optab): New.
2920         * genopinit.c: Initialize them.
2921         * optabs.h: Declare them.
2922         * optabs.c (init_optabs): Clear them.
2923         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
2924         block memory compare insns, not conditional chains.  Restructure
2925         the fallback generation of a call to memcmp/bcmp for better
2926         readability.
2927
2928 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
2929
2930         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
2931         (mips_save_restore_fn): New typedef.
2932         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
2933         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
2934         (save_restore_insns): Remove, replacing with...
2935         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
2936         (mips_save_reg, mips_restore_reg): New function.
2937         (mips_expand_prologue, mips_expand_epilogue): Rework.
2938         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
2939         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
2940         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
2941
2942 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
2943
2944         * config/mips/mips.c (mips_expand_prologue): Remove unused
2945         traversal of function arguments.
2946
2947 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
2948
2949         * doc/invoke.texi: Remove documentation of -mentry.
2950         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
2951         (override_options, mips_save_reg_p): Remove handling.
2952         (compute_frame_size, mips_output_function_prologue): Likewise.
2953         (mips_expand_prologue, mips_expand_epilogue): Likewise.
2954         * config/mips/mips.h (mips_entry_string): Remove declaration.
2955         (TARGET_OPTIONS): Remove -mentry.
2956         * config/mips/mips16.S: Remove mention of -mentry.
2957
2958 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
2959
2960         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
2961         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
2962         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
2963         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
2964         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
2965         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
2966         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
2967         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
2968         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
2969         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
2970         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
2971         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
2972         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
2973         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
2974         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
2975         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
2976         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
2977         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
2978         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
2979         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
2980         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
2981         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
2982         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
2983         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
2984         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
2985         (fixunstfti_libfunc): Delete.
2986         * optabs.h (struct optab_handlers): Break out of struct optab.
2987         (struct convert_optab, convert_optab, enum convert_optab_index,
2988         convert_optab_table, sext_optab, zext_optab, trunc_optab,
2989         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
2990         sfloat_optab, ufloat_optab): New.
2991         (set_conv_libfunc): Prototype.
2992         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
2993         (trunc_optab): Renamed btrunc_optab.
2994         * builtins.c (expand_builtin_mathfn): Update to match.
2995         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
2996         (convert_optab_table, new_convert_optab, init_convert_optab)
2997         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
2998         (set_conv_libfunc): New.
2999         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
3000         (expand_float, expand_fix): Use new conversion optabs,
3001         not old insn code tables or long chains of ifs.
3002         (init_optabs): No need to clear old insn code tables.
3003         Initialize the new optabs, not the old libfunc array entries.
3004         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
3005         * genopinit.c: Initialize conversion optabs, not the
3006         former insn code tables.  Remove unnecessary casts.
3007         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
3008         * expr.c (convert_move): Remove redundant check that
3009         to_real==from_real.  Use the conversion optabs instead
3010         of long chains of tests of modes.  Move partial-integer-mode
3011         interconversion above all integer conversion.  Do not recurse
3012         on a value forced into a register in the original mode.
3013
3014         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
3015         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
3016         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
3017         in new conversion optabs; do not reference the old libfunc
3018         array entries.  No need to include libfuncs.h.
3019
3020 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3021
3022         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
3023         point comparison sequence with a REG_EQUAL note that describes
3024         the comparison's semantics.
3025
3026 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3027
3028         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
3029         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
3030
3031 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3032             Zack Weinberg  <zack@codesourcery.com>
3033
3034         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
3035         instruction by using LCT_CONST and then calling emit_libcall_block
3036         ourselves.
3037
3038 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3039
3040         PR optimization/11974
3041         * optabs.c (expand_unop): Promote libcall outmode according to
3042         hard_libcall_value.
3043
3044 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
3045
3046         * real.h (REAL_MODE_FORMAT): New macro.
3047         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
3048         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
3049         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
3050         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
3051         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
3052         directly to real_format_for_mode array, wherever possible.
3053
3054 2003-10-06  Devang Patel  <dpatel@apple.com>
3055
3056         * dwarf2out.c (is_main_source): Remove variable.
3057         (dwarf2out_start_source_file): Do not check is_main_source.
3058         Do not reset is_main_source.
3059         (dwarf2out_init): Do not initialize is_main_source.
3060
3061 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3062
3063         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
3064         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
3065         introduced some multi-line prototypes.
3066         * fixinc/fixincl.x: Regenerate.
3067
3068 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3069
3070         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
3071         * config/mips/mips.c (stack_operand): New predicate.
3072         * config/mips/mips.md: Use it for the destination of mips16 insns
3073         that store $31.
3074
3075 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3076
3077         * config/mips/mips.md (*lowsi): Renamed from lowsi.
3078         (*lowdi): Likewise lowdi.
3079         (*lowsi_mips16, *lowdi_mips16): New patterns.
3080         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
3081         mips16 CONSTANT_RELOC handling.
3082         (mips_delegitimize_address): Adjust for new sdata representation.
3083
3084 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3085
3086         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
3087         skip any remaining register arguments.
3088
3089 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
3090
3091         * reload.c (find_reloads_subreg_address): Use correct offset for
3092         paradoxical MEM subregs on big-endian targets.
3093
3094 2003-10-06  Andrew Haley  <aph@redhat.com>
3095
3096         * tree.c (get_callee_fndecl): Call
3097         lang_hooks.lang_get_callee_fndecl.
3098         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
3099         (lhd_get_callee_fndecl): New.
3100
3101 2003-10-06  Andrew Pinski  <apinski@apple.com>
3102
3103         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
3104         error in calculating the length of the string.
3105         (machopic_stub_name): Likewise.
3106
3107 2003-10-06  Roger Sayle  <roger@eyesopen.com>
3108
3109         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
3110         describing the return value of the comparison libcall to the
3111         REG_RETVAL instruction of the emitted sequence.
3112
3113 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3114
3115         PR optimization/12215
3116         * cse.c (cse_set_around_loop): Emit the move at the beginning
3117         of the next basic block for trapping sets.
3118
3119 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
3120
3121         PR optimization/11637
3122         * combine.c (adjust_for_new_dest): New function to adjust the
3123         notes and LOG_LINKS when the dest of an insn has changed.
3124         (try_combine): Use it when deleting the first insn of a two-insn
3125         parallel or splitting a two-load parallel.
3126
3127 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3128
3129         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
3130         if TARGET_EXPLICIT_RELOCS.
3131
3132 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
3133
3134         PR bootstrap/12512
3135         * Makefile.in (info): Use double-colon rules.
3136         (dvi): Likewise.
3137         (generated-manpages): Likewise.
3138         * configure.in: Do not create lang.info, lang.dvi, or
3139         lang.generated-manpages hooks.
3140         * configure: Regenerated.
3141         * objc/Make-lang.in (objc.info): Remove.
3142         (objc.dvi): Remove.
3143         (objc.generated-manpages): Remove.
3144         * doc/sourcebuild.texi: Update description of info, dvi, and
3145         generated-manpages hooks.
3146
3147 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
3148
3149         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
3150
3151 2003-10-05  Andrew Pinski  <apinski@apple.com>
3152
3153         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
3154         errors in memcpy destinations.
3155         (machopic_stub_name): Likewise.
3156
3157 2003-10-05  Andrew Pinski <apinski@apple.com>
3158
3159         * config/darwin.c (machopic_non_lazy_ptr_name):
3160         Change strcat to memcpy and add length together.
3161         (machopic_stub_name): Likewise.
3162
3163 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
3164
3165         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
3166         signal trampoline codes.
3167
3168 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
3169
3170         * config/mips/mips.md (*divsf3): Move description of
3171         SB-1 F2 erratum from here to...
3172         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
3173         flag_unsafe_math_optimizations is not.
3174
3175 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
3176
3177         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
3178         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
3179
3180 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3181
3182         * c-pretty-print.c: Fix comment typos.
3183         * c-pretty-print.h: Likewise.
3184         * calls.c: Likewise.
3185         * cfgloopmanip.c: Likewise.
3186         * cgraphunit.c: Likewise.
3187         * cppfiles.c: Likewise.
3188         * final.c: Likewise.
3189         * function.c: Likewise.
3190         * gcov-io.h: Likewise.
3191         * gcse.c: Likewise.
3192         * genoutput.c: Likewise.
3193         * loop.c: Likewise.
3194         * postreload.c: Likewise.
3195         * reg-stack.c: Likewise.
3196         * regmove.c: Likewise.
3197         * sched-int.h: Likewise.
3198         * sched-rgn.c: Likewise.
3199         * simplify-rtx.c: Likewise.
3200         * tree-inline.c: Likewise.
3201         * config/m68hc11/m68hc11.h: Likewise.
3202         * config/mmix/mmix.c: Likewise.
3203         * config/mn10300/mn10300.md: Likewise.
3204         * config/sh/sh.h: Likewise.
3205
3206 2003-10-05  Richard Henderson  <rth@redhat.com>
3207
3208         * tree-inline.c (remap_type): New.
3209         (remap_decl): Use it.  Remap DECL_SIZE*.
3210         (copy_body_r): Use it.
3211         (walk_tree): Walk TREE_TYPE too.
3212         (copy_tree_r): Don't walk subtrees of types.
3213         * tree.c (variably_modified_type_p): Restructure.  Consider integer
3214         types with non-const bounds variably modified.
3215
3216 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3217
3218         * doc/invoke.texi: Fix typos.
3219
3220 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3221
3222         * fold-const.c: Follow spelling conventions.
3223         * function.c: Likewise.
3224         * config/c4x/c4x.h: Likewise.
3225         * config/c4x/c4x.md: Likewise.
3226         * config/frv/frv.md: Likewise.
3227         * config/rs6000/aix.h: Likewise.
3228         * config/rs6000/linux64.h: Likewise.
3229         * config/xtensa/xtensa.c: Likewise.
3230
3231 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
3232
3233         * c-pretty-print.c: Fix comment formatting.
3234         * cfglayout.c: Likewise.
3235         * cfgloopanal.c: Likewise.
3236         * cppcharset.c: Likewise.
3237         * dbxout.c: Likewise.
3238         * ggc-page.c: Likewise.
3239         * ggc.h: Likewise.
3240         * target.h: Likewise.
3241
3242 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
3243
3244         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
3245
3246 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3247
3248         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
3249         Convert to ISO C90 function declarations and definitions.
3250
3251 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
3252
3253         * libfuncs.h
3254         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
3255         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
3256         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
3257         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
3258         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
3259         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
3260         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
3261         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
3262         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
3263         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
3264         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
3265         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
3266         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
3267         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
3268         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
3269         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
3270         Delete.
3271         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
3272         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
3273         (le_optab, unord_optab): New.
3274
3275         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
3276         from the code_to_optab table, not a giant switch; use
3277         swap_condition; do widening only if a comparison function that
3278         we can call exists in a wider mode, not if a cmp_optab insn or
3279         libfunc exists in a wider mode; call protect_from_queue
3280         exactly once on each operand.
3281         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
3282
3283         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
3284         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
3285         Set floating point comparison libfuncs using set_optab_libfunc
3286         on the appropriate optab.
3287
3288         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
3289         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
3290         selector conditionals.
3291
3292 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
3293
3294         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
3295         identical to m68hc12 as far as libraries are concerned.
3296
3297 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3298
3299         PR c/12446
3300         * c-typeck.c (convert_for_assignment): Issue an error for
3301         array to pointer assignment after default conversion.
3302         (digest_init): Likewise.
3303
3304 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
3305
3306         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
3307
3308 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
3309
3310         * doc/extend.texi (Function Attributes): Fix title of GNU C
3311         Preprocessor manual.
3312         (C++ Extensions): Fix reference to "Predefined Macros" in the
3313         GNU C Preprocessor manual.
3314
3315 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
3316
3317         * doc/extend.texi: Document how GCC estimates and relies on the size
3318         of an asm.
3319
3320 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
3321
3322         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
3323         arguments downward for big-endian o64.
3324
3325 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
3326
3327         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
3328         PCH generation, avoiding too-frequent flushes when writing to NFS
3329         file system.
3330
3331 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
3332
3333         * objc/objc-act.c (lookup_category): Mark as 'inline'.
3334
3335 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
3336             Ziemowit Laski  <zlaski@apple.com>
3337
3338         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
3339         New functions.
3340         (lookup_method_in_hash_lists): New parameter indicating whether
3341         we are messaging 'Class' or 'id'.
3342         (check_duplicates): Likewise; do not assume all methods will
3343         be either class or instance methods.
3344         (generate_category, finish_class): Use lookup_category().
3345         (add_method): Use add_method_to_hash_list(); insert instance
3346         methods of root classes into the global class method hash table.
3347         (add_category): Use lookup_category(); avoid constructing
3348         duplicate categories.
3349         (really_start_method): Add method to corresponding @interface,
3350         if not already there (and if the @interface exists).
3351         (finish_message_expr, finish_objc): Adjust calls to
3352         check_duplicates().
3353
3354 2003-10-03  Roger Sayle  <roger@eyesopen.com>
3355
3356         PR optimization/9325, PR java/6391
3357         * fold-const.c (fold_convert): For floating point to integer
3358         conversions, return the maximum/minimum representable integer
3359         value if the real constant overflows the destination type.
3360         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
3361         meaning don't truncate the result to a floating point mode.
3362         Simplify the logic by calling real_from_integer directly.
3363         * simplify-rtx.c (simplify_unary_operation):  Implement the
3364         same semantics for folding floating point to integer conversions
3365         in RTL.
3366
3367 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
3368
3369         * config/mips/mips.c (mips_emit_prefetch): Restructure
3370         to avoid use of arrays, handle indexed prefetch.
3371         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
3372         (ISA_HAS_PREFETCHX): New deffine.
3373         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
3374         update comments.
3375         (prefetch_indexed_di, prefetch_indexed_si): New insns.
3376
3377 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
3378             Roger Sayle  <roger@eyesopen.com>
3379
3380         PR optimization/12289
3381         * calls.c (emit_call_1): Pretend to have popped the arguments
3382         to noreturn and longjmp functions instead of ignoring them.
3383         (expand_call): Don't adjust stack_pointer_dela while
3384         inhibit_defer_pop is set.
3385
3386 2003-10-03  Andreas Schwab  <schwab@suse.de>
3387
3388         PR bootstrap/12276
3389         * configure.in: Check for libunwind on the host only if building
3390         a native compiler.
3391         * configure: Regenerated.
3392
3393 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
3394
3395         * unwind-pe.h (read_encoded_value_with_base): Constify u and
3396         its inizialization cast.
3397
3398 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
3399
3400         PR target/12485
3401         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
3402
3403 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
3404
3405         PR optimization/12180
3406         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
3407         functions containing calls to __builtin_next_arg.
3408
3409 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
3410
3411         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
3412         in instructions being output.
3413         * config/mips/mips.md (prefetch_si_address): Change third
3414         operand's constraint letter to 'I'.
3415         (prefetch_di_address): Likewise.
3416         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
3417
3418 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
3419
3420         * system.h: Poison macros obsoleted by earlier patch.
3421         * config/cris/cris.c: C90-ify a function definition.
3422
3423 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
3424
3425         PR/12292
3426         * combine.c (make_field_assignment): Check whether rtx's code
3427         is CONST_INT before using INTVAL.
3428
3429 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
3430
3431         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
3432         htab_find_slot_with_hash.
3433         (cgraph_node_for_identifier): Use NO_INSERT.
3434         (cgraph_remove_node): Use NO_INSERT.
3435         (cgraph_varpool_node): Use INSERT.
3436         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
3437
3438 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
3439
3440         Waldek Hebisch <hebisch@math.uni.wroc.pl>
3441         PR/12072
3442         * varasm.c (compare_constant): Fix thinko.
3443
3444 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
3445
3446         * config/frv/frv.c (frv_issue_rate): New function.
3447         (frv_pack_insns): Use it.
3448         (TARGET_SCHED_ISSUE_RATE): Define.
3449
3450 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
3451
3452         * config/mcore/mcore.c: Convert to ISO C90 function declarations
3453         and definitions.
3454         * config/mcore/mcore.h: Likewise.
3455         * config/mcore/mcore-protos.h: Likewise.
3456
3457 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
3458
3459         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
3460         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
3461
3462 2003-10-01  Per Bothner  <pbothner@apple.com>
3463
3464         * c-lex.c (src_line):   Remove unneeded static variable.
3465         (cb_line_change):  Set input_line directly, instead of src_line.
3466         (get_non_padding_token):  We no longer need to compensate for the
3467         "horrible things" the C++ front-end does with the current line number,
3468
3469         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
3470         callback even when popping the main file.
3471         * c-lex.c (fe_file_change):  Handle a NULL new_map.
3472         * fix-header.c (cb_file_change):  Likewise.
3473         * c-ppoutput.c (pp_file_change):  Likewise.
3474
3475         * cppinit.c (cpp_read_main_file):  Split into two functions:
3476         Distribute _cpp_stack_file call over the two functions.
3477         (cpp_find_main_file):  New function.
3478         Don't call _cpp_do_file_change even if working_directory flag set.
3479         (cpp_push_main_file):  New function.
3480         * cppfiles.c (_cpp_find_failed):  New helper function.
3481         (find_file):  Made non-static and renamed to _cpp_find_file.
3482         (_cpp_stack_file):  No longer needed.  But note the following.
3483         (stack_file):  Made non-static and renamed to _cpp_stack_file.
3484         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
3485         call with calls to cpp_find_main_file and cpp_push_main_file.
3486         (search_path_head):  If there is no current buffer, use main_file.
3487         * cpphash.h:  Update function declarations.
3488         * cpplib.h:  Update function declarations.
3489
3490         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
3491         (c_common_parse_file):  No longer need to call cpp_read_main_file
3492         when file_index > 0 (as in multi-file or server compiation).
3493         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
3494         as this now happens before cpp_push_main_file.
3495         (push_command_line_include):  When done with options, pass LC_LEAVE
3496         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
3497         (fe_file_change):  Handle NULL new_map, and simplify.
3498         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
3499         08-28 change, since we're never called with a NULL buffer.
3500         (_cpp_lex_direct):  Likewise.
3501         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
3502         Return false if buffer is NULL at end.
3503
3504         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
3505         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
3506         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
3507         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
3508         remove the unused return_at_eof parameter.
3509         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
3510         Update callers of cpp_push_buffer.
3511
3512 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
3513
3514         * target.h (init_libfuncs): New hook.
3515         * target-def.h: Default TARGET_INIT_BUILTINS and
3516         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
3517         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
3518         * builtins.c (default_init_builtins): Delete.
3519         * expr.h (default_init_builtins): Delete prototype.
3520         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
3521         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
3522         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
3523         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
3524         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
3525         and UMODDI3_LIBCALL,
3526
3527         * Makefile.in (optabs.o): Depends on target.h.
3528         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
3529         * optabs.c: Include target.h.
3530         (prepare_float_lib_cmp): No need for #ifdef around use of
3531         FLOAT_LIB_COMPARE_RETURNS_BOOL.
3532         (set_optab_libfunc): New function.
3533         (init_optabs): Delete use of all *_LIBCALL defines.
3534         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
3535         * optabs.h: Prototype set_optab_libfunc.
3536
3537         * config.gcc: Remove all references to pa/long_double.h,
3538         ia64/hpux_longdouble.h, and gofast.h.
3539         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
3540         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
3541
3542         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
3543         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
3544         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
3545         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
3546         * config/sparc/sparc.c, config/vax/vax.c:
3547         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
3548         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
3549
3550         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
3551         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
3552         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
3553         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
3554         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
3555         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
3556         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
3557         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
3558         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
3559
3560         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
3561         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
3562         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
3563         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
3564         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
3565
3566         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
3567         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
3568         SUN_INTEGER_MULTIPLY_64 to 0.
3569         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
3570         SUN_INTEGER_MULTIPLY_64 to 1.
3571         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
3572         SUN_INTEGER_MULTIPLY_64 to 0.
3573         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
3574         Define US_SOFTWARE_GOFAST.
3575         * config/vax/vax.h: Default TARGET_ELF to 0.
3576         * config/vax/elf.h: Redefine TARGET_ELF to 1.
3577
3578         * config/gofast.h: Don't define any macros here.  Provide one
3579         static function, gofast_maybe_init_libfuncs, which does what
3580         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
3581         is already defined.  Do not clear negation libfuncs.  Do
3582         not mess with HFmode, XFmode, or TFmode libfuncs.
3583
3584         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
3585
3586 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
3587
3588         PR C/12466
3589         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
3590
3591 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3592
3593         * config/mips/xm-iris5.h: Remove, unnecessary.
3594         * config.build (mips-sgi-irix5*): Remove.
3595         (mips-sgi-irix6*o32): Likewise.
3596         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
3597         (mips-sgi-irix5cross64): Likewise.
3598         (mips-sgi-irix5*): Likewise.
3599         * config.host (mips-sgi-irix5*): Remove.
3600         (mips-sgi-irix6*o32): Likewise.
3601
3602 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
3603
3604         * dbxout.c (dbxout_fptype_value): Delete.
3605         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
3606
3607 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
3608
3609         * output.h (compute_reloc_for_constant): Declare.
3610         * varasm.c (compute_reloc_for_constant): Extract from...
3611         (output_addressed_constants): ... here.  Adjust all callers.
3612
3613 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3614
3615         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
3616         * configure: Rebuilt.
3617
3618 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3619
3620         * fold-const.c (make_range): When handling unsigned, don't reverse
3621         range if high bound is zero.
3622
3623 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
3624
3625         * config/frv/frv.h (PREDICATE_CODES): Added
3626         condexec_si_media_operator, condexec_sf_add_operator and
3627         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
3628         and condexec_sf_unary_operator.
3629
3630 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3631
3632         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
3633         * configure: Rebuilt.
3634
3635 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3636
3637         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
3638         Allow override.
3639         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
3640
3641 2003-09-23  David S. Miller  <davem@redhat.com>
3642
3643         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
3644         before redefining.
3645         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
3646
3647 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
3648
3649         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
3650         C90 function declarations and definitions.
3651
3652 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
3653
3654         * config.gcc (cris-*-linux*): Revert mistaken commit.
3655
3656 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3657
3658         PR optimization/11753
3659         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
3660         the length in the non-V9 case.
3661
3662 2003-09-30  Richard Henderson  <rth@redhat.com>
3663
3664         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
3665         DWARF_ALT_FRAME_RETURN_COLUMN.
3666         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
3667         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
3668         (uw_frame_state_for): Return end-of-stack for null return address.
3669         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
3670
3671         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
3672         (alpha_expand_prologue): Store a zero for it.
3673         (alpha_expand_epilogue): Don't reload it.
3674         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
3675         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
3676         for the sigframe return address.
3677
3678 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
3679
3680         * sdbout.c: Convert to ISO C90 prototypes.
3681         * objc/objc-act.c: Likewise.
3682
3683 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
3684
3685         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
3686         * config/i386/winnt.c: Likewise.
3687         * config/i386/cygming.h: Likewise.
3688
3689 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
3690
3691         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
3692         (A ^ B) - B for any B.
3693
3694 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
3695
3696         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
3697         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
3698
3699 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
3700
3701         * arm/ieee754-sf.S: Tidy formatting.
3702
3703 2003-09-30  Nicolas Pitre  <nico@cam.org>
3704
3705         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
3706         and ARM_MOD_BODY.
3707         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
3708         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
3709         added better divisor alignment in the other case.
3710         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
3711         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
3712         macros above, add fast exits for divisor >= dividend, etc.
3713
3714 2003-09-30  Nicolas Pitre  <nico@cam.org>
3715
3716         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
3717         L_fixdfsi target.
3718         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
3719
3720 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
3721
3722         * config.gcc: Default use_fixproto to 'no'.
3723
3724 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
3725
3726         PR optimization/12345
3727         * config/mips/mips-protos.h (mips_restore_gp): Remove.
3728         (mips_gp_save_slot): Declare.
3729         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
3730         (mips_gp_save_slot): ...this new function.
3731         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
3732         and mips_output_move to generate the output template.
3733         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
3734         a gp load after a noreturn call.  Load the gp using a move rather
3735         than an exception_receiver pattern.
3736         (call_value_internal, call_value_multiple_internal): Likewise.
3737         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
3738
3739 2003-09-30  Carlo Wood  <carlo@alinoe.com>
3740
3741         PR debug/12319
3742         * cfglayout.c (insn_scope):  Use prologue_locator and
3743         epilogue_locator; return the outer function scope for
3744         pro- and epilogue insns.
3745
3746 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
3747
3748         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
3749         REAL_TYPEs based on the bitsize of the type's mode, not the
3750         mode directly.
3751
3752 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3753
3754         * dwarf2out.c (default_eh_frame_section): Split into ...
3755         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
3756         functions.
3757         * output.h (named_section_eh_frame_section): Declare.
3758         (collect2_eh_frame_section): Likewise.
3759
3760 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
3761
3762         * real.c (real_sqrt): Use get_canonical_qnan directly.
3763
3764         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
3765
3766         * varasm.c (assemble_real): Use real_to_target directly,
3767         calculate the number of significant elements of the result
3768         array and write them out in a loop, instead of using a giant
3769         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
3770         macro.
3771
3772 2003-09-29  Jan Hubicka  <jh@suse.cz>
3773
3774         PR c++/12175
3775         * varasm.c (notice_global_symbol): Discard external symbols.
3776
3777         PR optimization/12286
3778         * gcov-io.c (gcov_read_words): Fix memmove call.
3779         * profile.c (compute_branch_probabilities): Add extra sanity checks.
3780
3781 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3782
3783         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
3784         Solaris 7-9.
3785
3786         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
3787         wildcards which explicitly match micro versions.
3788         * fixinc/fixincl.x: Regenerate.
3789
3790 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3791
3792         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
3793         (A ^ B) - B, where B is any power of 2 minus 1.
3794
3795 2003-09-29  Jan Hubicka  <jh@suse.cz>
3796
3797         * libgcov.c (gcov_exit): Fix two pastos.
3798
3799 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3800
3801         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
3802         define_split immediately below to form define_insn_and_split.
3803
3804 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
3805
3806         * config/h8300/h8300.md (*tstsi_variable_bit): New.
3807         (*tstsi_variable_bit_qi): Likewise.
3808
3809 2003-09-28  Phil Edwards  <phil@codesourcery.com>
3810
3811         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
3812         reference name.
3813
3814 2003-09-28  Richard Henderson  <rth@redhat.com>
3815
3816         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
3817         file and line separately.
3818
3819 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
3820
3821         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
3822         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
3823         "*subdi3_borrow_cconly"): New insns.
3824         ("*addsi3_sub", "*subsi3_sub"): Remove.
3825         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
3826         ("*subsi3_cc"): Fix op_type attribute.
3827
3828 2003-09-28  Richard Henderson  <rth@redhat.com>
3829
3830         * stmt.c (expand_asm_operands): Take a location_t, instead of
3831         individual file and line.
3832         * c-typeck.c (c_expand_asm_operands): Likewise.
3833         * tree.h (expand_asm_operands): Update decl.
3834         * c-common.h (c_expand_asm_operands): Likewise.
3835         * c-semantics (genrtl_asm_stmt): Update call.
3836
3837 2003-09-28  Philip Blundell  <philb@gnu.org>
3838
3839         * config/arm/arm.c (legitimize_pic_address): Check
3840         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
3841         (arm_assemble_integer): Likewise.
3842
3843 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
3844
3845         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
3846         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
3847         config/c4x/c4x.h:
3848         Convert to ISO C90 function declarations and definitions.
3849
3850 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
3851
3852         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
3853         Convert to ISO C90 function declarations and definitions.
3854
3855 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
3856
3857         * config/mips/mips.c (mips_constant_info): Add reloc field.
3858         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
3859         underlying symbol, not to an unspec.
3860         (mips_delegitimize_address, print_operand): Clean up accordingly.
3861
3862 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
3863
3864         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
3865         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
3866         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
3867         (mips_classify_constant): Use it.
3868         (mips_splittable_symbol_p): Add an offset argument.
3869         (mips_classify_address): Adjust call accordingly.
3870         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
3871         than a relocation unspec.  Update call to mips_splittable_symbol_p.
3872         Generalize the code that copes with symbols + invalid offsets.
3873         (print_operand): Allow '%R' to be applied to small data addresses.
3874         (mips_reloc_string): Remove RELOC_GPREL16.
3875         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
3876         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
3877         relocation operators.
3878         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
3879         constants accordingly.
3880
3881 2003-09-27  Roger Sayle  <roger@eyesopen.com>
3882
3883         * toplev.c (flag_evaluation_order): New global variable.
3884         * flags.h (flag_evaluation_order): Prototype here.
3885         * expr.c (expand_operands): If we need to preserve observable
3886         evaluation order, protect exp1 from clobbering exp0's result.
3887
3888 2003-09-28  Andreas Jaeger  <aj@suse.de>
3889
3890         * c-decl.c (finish_function): Convert definition to ISO C90.
3891         * ifcvt.c (mark_loop_exit_edges): Likewise.
3892         * ra-rewrite.c (emit_colors): Likewise.
3893
3894 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
3895
3896         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
3897         * config.gcc (arm*-*-uclinux*): Disable fixproto.
3898         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
3899         powerpc-*-eabialtivec*): Disable fixproto.
3900
3901 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
3902
3903         PR optimization/12340
3904         * loop.h (struct induction): Document the new semantics
3905         of the 'same' field for bivs.
3906         * unroll.c (biv_total_increment): Don't count the same
3907         biv increment several times.
3908         (loop_iterations) [GENERAL_INDUCT]: Likewise.
3909
3910 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
3911
3912         * unroll.c (loop_interations)[GT]: Add missing break.
3913
3914 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
3915
3916         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
3917         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
3918         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
3919         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
3920         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
3921         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
3922         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
3923         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
3924         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
3925         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
3926         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
3927         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
3928         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
3929         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
3930         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
3931         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
3932         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
3933         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
3934         config/alpha/xm-vms.h, config/arc/arc-modes.def,
3935         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
3936         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
3937         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
3938         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
3939         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
3940         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
3941         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
3942         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
3943         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3944         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
3945         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
3946         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
3947         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
3948         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
3949         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
3950         config/i960/i960-c.c, config/i960/i960-coff.h,
3951         config/i960/i960-modes.def, config/i960/i960-protos.h,
3952         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
3953         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
3954         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
3955         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
3956         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
3957         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
3958         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
3959         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
3960         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
3961         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
3962         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
3963         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
3964         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
3965         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
3966         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
3967         config/mcore/mcore-protos.h, config/mcore/mcore.c,
3968         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
3969         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
3970         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
3971         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
3972         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
3973         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
3974         config/mips/vr.h, config/mn10300/linux.h,
3975         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
3976         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
3977         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
3978         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
3979         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
3980         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
3981         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
3982         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
3983         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
3984         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
3985         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
3986         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
3987         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
3988         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
3989         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
3990         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
3991         fixinc/fixinc.svr4: GNU CC -> GCC.
3992
3993 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
3994
3995         * objc/objc-act.c (tm_p.h): Tweak order.
3996         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
3997
3998 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
3999
4000         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
4001         Include t-slibgcc-elf-ver and t-linux in tmake_file.
4002         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
4003         Disable fixproto.
4004         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
4005         Disable fixproto.
4006         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
4007         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
4008
4009         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
4010
4011 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
4012
4013         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
4014         * objc/objc-act.c (tm_p.h): Include.
4015
4016 2003-09-26  Per Bothner  <pbothner@apple.com>
4017
4018         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
4019         No longer any need to reverse by recursion.
4020
4021 2003-09-26  Roger Sayle  <roger@eyesopen.com>
4022             Richard Henderson  <rth@redhat.com>
4023
4024         PR optimization/11741
4025         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
4026         appropriate set to match that in hash_scan_insn.  Fall back to
4027         the original copy method, if we can't validate changing insn.
4028         (pre_delete): Only delete instructions that have a single_set,
4029         instead of aborting when we encounter an PARALLEL insn with more
4030         then one SET.
4031
4032 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
4033
4034         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
4035         ("builtin_longjmp"): Insn deleted.
4036         ("save_stack_nonlocal"): Save literal pool base pointer behind
4037         backchain and stack pointer.
4038         ("restore_stack_nonlocal"): Restore literal pool base pointer.
4039         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
4040         the stack save area for the nonlocal goto case.
4041
4042 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4043
4044         PR bootstrap/12358
4045         * pa.c (output_bvb): Fix typo.
4046
4047 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4048
4049         * expmed.c (store_bit_field): Don't search for an integer mode
4050         unless we need the result.
4051
4052 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4053
4054         * expr.c (emit_move_insn_1): If there is no move pattern for the
4055         original mode, try using a pattern for the corresponding integer mode.
4056
4057 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
4058
4059         PR middle-end/9200
4060         * combine.c (if_then_else_cond): Tighten mode check.
4061
4062 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4063
4064         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
4065         'struct _cpp_strbuf'.
4066
4067         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
4068         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
4069         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
4070         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
4071         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
4072         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
4073         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
4074         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
4075         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
4076         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
4077         * config/i386/i386-aout.h, config/i386/i386-coff.h,
4078         config/i386/i386-interix.h, config/i386/i386-interix3.h,
4079         config/i386/i386-modes.def, config/i386/i386-protos.h,
4080         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
4081         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
4082         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
4083         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
4084         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
4085         "GNU compiler" -> GCC.
4086         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
4087         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
4088         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
4089         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
4090         config/i386/freebsd-aout.h, config/i386/freebsd.h,
4091         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
4092
4093 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
4094
4095         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
4096         "local" to the callgraph dump.  Output "after inlining" earlier.
4097         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
4098         callgraph dumps.  Correct misspellings.
4099         (cgraph_decide_inlining):  Output number of insns before inlining.
4100         Output the calling function into which a function is inlined.
4101         (cgraph_decide_small_functions): Format dump file like always_inline.
4102
4103 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
4104
4105         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
4106
4107 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
4108
4109         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
4110         FPR slots in the save area.
4111         (s390_emit_epilogue): Likewise.
4112
4113 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
4114
4115         * cgraph.h (cgraph_remove_edge): Declare.
4116         * cgraph.c (cgraph_remove_edge): Make extern.
4117         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
4118         instead of cgraph_remove_call.
4119
4120 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
4121
4122         * objc/objc-act.c (gen_declaration_1): Fix printf format.
4123
4124 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
4125
4126         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
4127         arm7tdmi core.
4128
4129 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4130
4131         * config/darwin-protos.h (objc_image_info_section):
4132         New prototype.
4133
4134 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4135
4136         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
4137
4138 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4139
4140         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
4141         tsc701 as a --with-cpu, --with-tune setting for sparc.
4142
4143 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
4144
4145         * c-parse.in (objc_try_stmt): Do not specify a %type.
4146
4147 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4148
4149         * config.gcc: New 'widely ported system' clause for rtems.
4150         Set thread file there, not in individual clauses.
4151
4152 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
4153
4154         PR target/6222
4155         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
4156         passed on the stack.
4157
4158 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
4159
4160         * config.gcc (widely ported systems section): Mostly alphabetize
4161         by system.  Comment the case where we can't.
4162         * config.gcc (widely ported systems section): Reindent and clean up.
4163
4164         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
4165         Actually allow ep9312 as an arm --with-arch setting.
4166
4167         * config.gcc (*-hpux11): Disable fixproto.
4168
4169 2003-09-24  Phil Edwards  <phil@codesourcery.com>
4170
4171         PR pch/12112
4172         * gcc/cppfiles.c (pch_open_file): Return based on combined
4173         result of all files.
4174         (validate_pch): Return validate flag for current file.
4175
4176 2003-09-24  Roger Sayle  <roger@eyesopen.com>
4177
4178         PR bootstrap/12358
4179         * fold-const.c (tree_swap_operands_p): Only reorder operands when
4180         one of the operands is constant.
4181
4182 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
4183
4184         MERGE OF objc-improvements-branch into MAINLINE:
4185         * Makefile.in (C_OBJS): Add in stub-objc.o.
4186         (c-parse.y): Change sed demarcations to begin with '@@'.
4187         (stub-objc.o): New rule.
4188         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
4189         flag_replace_objc_classes): New flags.
4190         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
4191         RID_AT_SYNCHRONIZED): New keywords.
4192         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
4193         flag_replace_objc_classes): New flags.
4194         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
4195         objc_comptypes, objc_message_selector, lookup_objc_ivar,
4196         get_current_scope, objc_mark_locals_volatile): New prototypes,
4197         some moved from c-tree.h.
4198         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
4199         (finish_decl): Adjust where objc_check_decl() gets called.
4200         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
4201         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
4202         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
4203         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
4204         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
4205         '@@end_ifc', respectively.
4206         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
4207         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
4208         objc_finally_block): New rules.
4209         (component_decl_list2): Clean up semantic action for @defs construct.
4210         (component_decl, c99_block_start): Remove call to add_objc_decls().
4211         (poplevel): Add call to objc_clear_super_receiver().
4212         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
4213         constructs.
4214         (classdef, methodprotolist): Clean up/simplify.
4215         (methodprotolist2): Eliminate.
4216         (methodproto): Call add_method() instead of add_class_method() and
4217         add_instance_method().
4218         (receiver): Add TYPENAME production.
4219         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
4220         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
4221         AT_SYNCHRONIZED.
4222         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
4223         objc_comptypes, objc_message_selector)
4224         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
4225         struct and pointer types.
4226         (build_c_cast): Do not discard ObjC protocol qualifiers.
4227         (convert_for_assignment): Cache result of comp_target_types() instead
4228         of calling it more than once.
4229         * c.opt (fnext-runtime): Update description string.
4230         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
4231         New ObjC/ObjC++-specific flags.
4232         * function.h (GCC_FUNCTION_H): Header guard.
4233         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
4234         * stub-objc.c: New file, to be used to satisfy references to ObjC
4235         functions by the C and C++ front-ends.
4236         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
4237         * config/darwin.h (FUNCTION): Add in_objc_image_info.
4238         (SECTION_FUNCTION): Add objc_image_info_section.
4239         * doc/invoke.texi: Link to GCC web site for Objective-C information.
4240         (-fconstant-string-class): Update documentation.
4241         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
4242         -fzero-link): New documentation.
4243         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
4244         with '@@'.
4245         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
4246         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
4247         throughout; provide casts for return values from memory allocation
4248         functions (xmalloc, alloca, ggc_alloc, etc.).
4249         (OBJC_VOID_AT_END): New macro.
4250         (rtl.h): Do not #include any more.
4251         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
4252         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
4253         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
4254         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
4255         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
4256         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
4257         val_stack_pop): New.
4258         (objc_check_decl): Fix precondition for error message, along with
4259         the message itself.
4260         (lookup_and_install_protocols): Remove nonexistent protocols from
4261         protocol list instead of returning error_mark_node.
4262         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
4263         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
4264         (synth_module_prologue): General clean-up; construct NeXT-specific
4265         runtime API prototypes if needed.
4266         (build_string_class_template): Remove.
4267         (check_string_class_template, string_layout_checked): New.
4268         (build_objc_string_object): Generalize to work with
4269         -fconstant-string-class.
4270         (build_objc_symtab_template): Fix layout for the NeXT runtime.
4271         (build_metadata_decl): New.
4272         (forward_declare_categories): Call build_metadata_decl() instead of
4273         create_builtin_decl() et al.
4274         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
4275         void_list_node_1.
4276         (build_selector_reference_decl, build_class_reference_decl,
4277         build_objc_string_decl): Do not set TREE_READONLY.
4278         (get_proto_encoding): Do not call hack_method_prototype().
4279         (get_class_reference): Add failure mode for invalid class names;
4280         support -fzero-link; defer if in an ObjC++ template declaration.
4281         (objc_declare_alias, objc_declare_class): Fix up duplicate name
4282         lookup; check for global scope if in ObjC++.
4283         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
4284         RECORD_TYPE, IDENTIFIER_NODE, etc.)
4285         (objc_is_id): Removed.
4286         (objc_is_object_ptr): New function.
4287         (get_class_ivars_from_name): New function, used for @defs construct.
4288         (get_class_ivars): Add option to return raw ivars; create a
4289         ClASS_OWN_IVARS list for each class as needed.
4290         (objc_enter_block, objc_exit_block, objc_declare_variable,
4291         objc_build_throw_stmt, val_stack_push, val_stack_pop,
4292         objc_build_try_enter_fragment, objc_build_extract_expr,
4293         objc_build_try_exit_fragment, objc_build_extract_fragment,
4294         objc_build_try_prologue, objc_build_try_epilogue,
4295         objc_build_catch_stmt, objc_build_catch_epilogue,
4296         objc_build_finally_prologue, objc_build_finally_epilogue,
4297         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
4298         objc_build_synchronized_epilogue, build_objc_exception_stuff):
4299         New functions.
4300         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
4301         the future).
4302         (build_private_template): Fix up calls to get_class_ivars().
4303         (offset_is_register, forwarding_offset): Remove.
4304         (objc_method_parm_type, objc_encoded_type_size): New functions.
4305         (encode_method_prototype): Simplify to no longer depend on
4306         back-end information.
4307         (build_tmp_function_decl_xxx, build_tmp_function_decl,
4308         hack_method_prototype): Removed.
4309         (generate_protocol_references): Remove calls to
4310         build_tmp_function_decl().
4311         (generate_protocols): Adjust calls to encode_method_prototype().
4312         (build_class_template): Generate sel_id' and 'gc_object_type' fields
4313         for the NeXT runtime.
4314         (synth_forward_declarations): Call build_metadata_decl().
4315         (check_ivars): Check that the number of ivars matches also.
4316         (build_super_template): Modify super_type directly; disable debugging
4317         output while generating decl.
4318         (build_ivar_list_initializer): Skip list elements that are not
4319         FIELD_DECLs.
4320         (ivar_list_length): New function.
4321         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
4322         and encode_method_prototype() instead of encode_method_def().
4323         (build_shared_structure_initializer): Generate 'sel_id' field for
4324         the NeXT runtime.
4325         (generate_category): Do not set TREE_USED.
4326         (build_keyword_selector): Ditto; transform into a function argument
4327         chain.
4328         (get_arg_type_list): If there are no user-specified arguments, use
4329         '...'; use OBJC_VOID_AT_END.
4330         (check_duplicates): Add a parameter indicating whether methods or
4331         selectors are being checked.
4332         (receiver_is_class_object): Add parameters indicating whether
4333         receiver is 'self' or 'super'; robustify.
4334         (build_message_expr): Defer call to finish_message_expr() if
4335         inside an ObjC++ template.
4336         (lookup_method_in_hash_lists): New function.
4337         (finish_message_expr): Complete rewrite/fix.
4338         (build_objc_method_call): Ditto; factor out commonalities between
4339         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
4340         messenger variants on the NeXT.
4341         (lookup_instance_method_static, lookup_class_method_static):
4342         Fold into a single lookup_method_static() function with an
4343         additional parameter.
4344         (add_class_method, add_instance_method): Fold into a single
4345         add_method() function with an additional parameter.
4346         (add_category): Make duplicate categories a hard error in ObjC++.
4347         (add_instance_variable): Properly handle unnamed ivars, arrays of
4348         zero or no size and bitfields.  In ObjC++, check for nontrivial
4349         C++ class instances.
4350         (is_public): Allow C functions to access non-@public ivars, with
4351         a warning.
4352         (start_class): Move common initializations to
4353         synth_module_prologue(); check for global scope if in ObjC++.
4354         (continue_class): Fix calls to finish_struct().
4355         (objc_declare_protocols, start_protocol): Check for global scope
4356         if in ObjC++.
4357         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
4358         (encode_aggregate_within): Rewrite to properly distinguish
4359         struct tags from typedefs in both ObjC and ObjC++.
4360         (encode_bitfield, encode_complete_bitfield): Remove.
4361         (encode_next_bitfield, encode_gnu_bitfield): New functions.
4362         (encode_field_decl): Call encode_next_bitfield() or
4363         encode_gnu_bitfield() as needed.
4364         (synth_self_and_ucmd_args): New function.
4365         (start_method_def): Use it.
4366         (objc_types_are_equivalent): New function.
4367         (comp_proto_with_proto): Use it instead of comptypes(), since
4368         we need symmetry.
4369         (really_start_method): Use lookup_method_static() instead of
4370         lookup_class_method_static() and lookup_instance_method_static();
4371         Emit 'extern "C"' if in ObjC++ mode.
4372         (add_objc_decls): Removed.
4373         (UOBJC_SUPER_scope): New variable.
4374         (get_super_receiver): Move construction of 'super' from
4375         add_objc_decls(); remove dependency on struct objc_class.
4376         (encode_method_def): Removed; encode_method_prototype() is
4377         used instead.
4378         (objc_clear_super_receiver): New function.
4379         (objc_expand_function_end): Do not do anything for ordinary
4380         C functions.
4381         (finish_method_def): Mark ObjC methods as un-inlinable.
4382         (gen_declaration_1): Emit widths of bitfields.
4383         (finish_objc): Call generate_objc_image_info() if needed;
4384         use check_duplicates() when checking for selector duplicates.
4385         (generate_objc_image_info): New function.
4386         * objc/objc-act.h (add_instance_method, add_class_method,
4387         get_class_ivars): Remove prototypes.
4388         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
4389         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
4390         objc_build_catch_stmt, objc_build_catch_epilogue,
4391         objc_build_finally_prologue, objc_build_finally_epilogue,
4392         add_method, get_class_ivars_from_name): New prototypes.
4393         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
4394         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
4395         TRANSLATION_UNIT_DECLs.
4396         (OBJC_TYPE_NAME): New.
4397         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
4398         got included.
4399         (IS_SUPER): Robustify.
4400         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
4401         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
4402         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
4403         objc_exception_match_decl, objc_exception_throw_decl,
4404         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
4405         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
4406         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
4407         objc_catch_type): New ObjC/ObjC++ roots.
4408         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
4409         ObjC/ObjC++ tree node codes.
4410
4411 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
4412
4413         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
4414         code path that calls a handler.
4415
4416 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4417
4418         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
4419         Disable fixproto.
4420
4421         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
4422         the section giving $with_cpu defaults by target.
4423
4424         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
4425         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
4426         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
4427         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
4428         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
4429         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
4430
4431 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
4432
4433         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
4434         together.  Protect load string instruction with TARGET_STRING.
4435         (movti_string): Collapse case 1 and 2 together.
4436
4437 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
4438
4439         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
4440
4441 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
4442
4443         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
4444         do...while(0)
4445
4446 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4447
4448         * config.gcc: Move use_fixproto=no from generic vxworks clause to
4449         specific one.
4450
4451         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
4452         (accidentally missed in last pass).
4453
4454 2003-09-23  Andrew Pinski  <apinski@apple.com>
4455
4456         PR bootstrap/12383
4457         * configure: Regenerate.
4458
4459 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4460
4461         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
4462         missed in last pass).
4463
4464 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
4465
4466         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
4467         constant.
4468
4469 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4470
4471         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
4472
4473         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
4474         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
4475         powerpcle-*-eabi*): Disable fixproto.
4476
4477         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
4478         specific FreeBSD clauses.
4479         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
4480         specific NetBSD clauses.
4481         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
4482         to specific OpenBSD clauses.
4483
4484 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4485
4486         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
4487         without adding a frame note.
4488         * pa.md (allocate_stack): Save pic register in new frame marker when
4489         generating pic code.
4490
4491 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
4492
4493         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
4494         cgraph_expand_functions.
4495
4496 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4497
4498         * Makefile.in (gnucompare*): Merge into ...
4499         (slowcompare*): ... here.
4500         (fastcompare*): New targets.
4501         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
4502         other "fast" cmp programs.
4503         * configure: Regenerate.
4504
4505 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4506
4507         * targhooks.c: Include output.h.
4508         * Makefile.in (targhooks.o): Add output.h to dependency list.
4509
4510 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4511
4512         * config.host: Removed superfluous newline.
4513
4514 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4515
4516         * config.gcc: Use ${target}, not $machine.
4517         * configure.in: Don't set $machine.
4518         * configure: Regenerate.
4519
4520 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
4521
4522         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
4523
4524         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
4525         pass zero-size arrays by reference.
4526         (rs6000_va_arg): Likewise.
4527
4528 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
4529
4530         * config.gcc: Set use_fixproto=no in each specific *-gnu*
4531         configuration, rather than the generic one.
4532
4533 2003-09-23  Richard Henderson  <rth@redhat.com>
4534
4535         * tree-inline.c (remap_save_expr): Map new save_expr to identity
4536         rather than to error_mark_node.
4537
4538 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4539
4540         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
4541         Update description.
4542         * configure: Regenerate.
4543         * config.in: Likewise.
4544         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
4545         HAVE_GAS_SHF_MERGE value.
4546         * varasm.c (mergeable_string_section): Likewise.
4547         (mergeable_constant_section): Likewise.
4548
4549 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4550
4551         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
4552         value.
4553
4554 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4555
4556         * target.h (struct gcc_target): New member external_libcall.
4557         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
4558         (TARGET_ASM_OUT): Use it.
4559         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
4560         * targhooks.c: Convert to ISO C 90.
4561         (default_external_libcall): New function.
4562         * targhooks.h (default_external_libcall): Declare.
4563         * varasm.c (assemble_external_libcall): Use
4564         targetm.asm_out.external_libcall instead of
4565         ASM_OUTPUT_EXTERNAL_LIBCALL.
4566         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
4567         (mips_output_external_libcall): Declare.
4568         * config/mips/mips.c (mips_output_external_libcall): Change
4569         definition guard.
4570         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
4571         Only operate for O32 ABI.
4572         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
4573         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
4574         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
4575         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
4576
4577 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
4578
4579         * config.gcc: Do per-target disabling of fixproto here in clauses,
4580         not in t- fragments.
4581         * configure.in: Adjust to set STMP_FIXPROTO correctly.
4582         * configure: Regenerate.
4583         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
4584         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
4585         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
4586         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
4587         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
4588         t-interix, t-linux-aout:  Delete files consisting only of
4589         setting of STMP_FIXPROTO.
4590
4591         * config.host: Allow unknown hosts (not targets).  Allow
4592         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
4593         empty clauses.  Remove useless obsolete-configuration clause.
4594         Prune unsupported configuration list.  Collapse identical
4595         clauses for closely related systems.  Rewrite comment for
4596         unsupported hosts list.  Reorganize a little.
4597
4598 2003-09-22  Richard Henderson  <rth@redhat.com>
4599
4600         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
4601         not precision.
4602
4603 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
4604             Hartmut Penner  <hpenner@de.ibm.com>
4605             Segher Boessenkool  <boessen@de.ibm.com>
4606
4607         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
4608         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
4609         (rs6000_split_altivec_in_gprs): Rename to ...
4610         (rs6000_split_multireg_move): Add support for update addressing.
4611         * config/rs6000/rs6000-protos.h: Same.
4612         * config/rs6000/altivec.md: Same.
4613         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
4614         multiple GPRs.
4615         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
4616         (movti_power): Use new splitter for multiple GPRs.
4617         (movti_string): Same.
4618         (movti_ppc64): Same.
4619
4620 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
4621
4622         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
4623         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
4624
4625 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
4626
4627         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
4628         (andsi3): Set attr cc to set_zn when using shifts or adds.
4629
4630 2003-09-22  Bernardo Innocenti <bernie@develer.com>
4631
4632         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
4633
4634 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
4635
4636         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
4637         Resurrect -mrtd option.
4638
4639 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
4640
4641         PR target/12281
4642         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
4643         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
4644
4645 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
4646
4647         PR target/9786
4648         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
4649         after potential deletion of trapping insn. Avoids later ICE
4650         from call to fixup_abnormal_edges.
4651         (convert_regs_2): Stack the current block successors before
4652         processing this block, that is, before the potential deletion of
4653         dead edges by convert_regs_1, because these edges have been used
4654         to initialize the predecessors count.
4655
4656 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
4657
4658         * real.c: Fix several nits in the head comment.
4659
4660 2003-09-21  Richard Henderson  <rth@redhat.com>
4661
4662         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
4663         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
4664         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
4665         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
4666         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
4667
4668 2003-09-21  Richard Henderson  <rth@redhat.com>
4669
4670         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
4671         (TREE_FILENAME, TREE_LINENO): Likewise.
4672         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
4673         (TREE_LOCUS_SET_P): New.
4674         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
4675         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
4676         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
4677         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
4678         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
4679
4680 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
4681
4682         * config/vax/vax-protos.h: Convert to ISO C90.
4683         * config/vax/vax.c: Convert to ISO C90.
4684
4685 2003-09-21  Graham Stott  <grahams@btinternet.com>
4686
4687        PR target/12353
4688        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
4689
4690 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
4691
4692         PR target/12301
4693         * reorg.c (stop_search_p): Return 1 for insns that can
4694         throw internally.
4695
4696 2003-09-20  Richard Henderson  <rth@redhat.com>
4697
4698         * c-format.c (gcc_diag_char_table): Add %J.
4699         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
4700         (check_format_types): Fix wanted_type name lookup.
4701         (init_dynamic_diag_info): Setup %J.
4702         * diagnostic.c (text_specifies_location): Implement %J.
4703         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
4704         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
4705         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
4706         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
4707         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
4708
4709         * tree-inline.c: Include intl.h
4710         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
4711         * Makefile.in (tree-inline.o): Update.
4712
4713 2003-09-20  Roger Sayle  <roger@eyesopen.com>
4714
4715         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
4716         transformation of a>=0 into (unsigned)a<0x80000000.
4717
4718 2003-09-20  Andrew Pinski <apinski@apple.com>
4719
4720         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
4721
4722 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
4723
4724         * Makefile.in: Don't set (unused) DLLTOOL.
4725
4726         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
4727         Remove obsolete references to ENQUIRE.
4728
4729 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
4730
4731         * configure.in: Remove --with-elf, which doesn't work.
4732         * configure: Regenerate.
4733         * config.gcc: Remove references to $elf, which does nothing.
4734
4735         * config/i386/xm-vsta.h: Remove xm-file believed useless.
4736         * config.build (i386-vsta): Remove reference to it.
4737         * config.host (i386-vsta): Remove reference to it.
4738
4739 2003-09-19  Phil Edwards  <phil@codesourcery.com>
4740
4741         * doc/install.texi:  Document the multiple testsuite options.
4742
4743 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
4744
4745         * doc/install.texi (Specific): Add the specific versions of GCC
4746         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
4747         version 3 and older was discontinued.
4748
4749 2003-09-19      Joel Sherrill <joel@oarcorp.com>
4750
4751         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
4752         68881.
4753
4754 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
4755
4756         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
4757         for -m68030, -m68020-60 and -m68020-40.
4758         * config/m68k/m68k.h (TARGET_68030): New target flag.
4759         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
4760         TARGET_REGPARM): Remove.
4761         * config/m68k/m68k.h: Regroup and renumber target flags.
4762         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
4763         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
4764         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
4765         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
4766         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
4767
4768 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4769
4770         * config/m68k/t-rtems (m68k-*-rtems*): New.
4771         * config.gcc: Use config/m68k/t-rtems.
4772
4773 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4774
4775         * config/mips/t-rtems: New.
4776         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
4777
4778 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
4779
4780         * cgraph.c: Fix typo in debugging output.
4781
4782 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
4783             Eric Botcazou <ebotcazou@libertysurf.fr>
4784
4785         PR target/12166
4786         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
4787
4788 2003-09-18  Mike Stump  <mrs@apple.com>
4789
4790         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
4791         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
4792         cb_ident, cb_def_pragma):  Use fileline typedef.
4793         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
4794
4795 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
4796
4797         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
4798         total parm size if a parm has incomplete type.
4799         (gen_fastcall_suffix): Likewise.
4800
4801 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4802
4803         * except.c (output_function_exception_table): Adjust last change
4804         to handle TYPE of INTEGER_CST.
4805
4806 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
4807
4808         PR target/11184
4809         * builtins.c (expand_builtin_apply): Use convert_memory_address
4810         before returning the value.
4811
4812         * alias.c (find_base_value): Simplify use of
4813         convert_memory_address.
4814         (find_base_term): Likewise.
4815         * builtins.c (expand_builtin_stejmp_setup): Likewise.
4816         (expand_builtin_longjmp): Likewise.
4817         (expand_builtin_prefetch): Likewise.
4818         (get_memory_rtx): Likewise.
4819         (expand_builtin_return): Likewise.
4820         (expand_builtin_memcpy): Likewise.
4821         (expand_builtin_strncpy): Likewise.
4822         (expand_builtin_memset): Likewise.
4823         (expand_builtin_va_arg): Likewise.
4824         (expand_builtin_va_copy): Likewise.
4825         (expand_builtin_alloca): Likewise.
4826         * calls.c (expand_call): Likewise.
4827         * except.c (expand_builtin_extract_return_addr): Likewise.
4828         (expand_builtin_eh_return): Likewise.
4829         * explow.c (convert_memory_address): Define even when
4830         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
4831         is already in the right mode.
4832         * explow.c (memory_address): Simplify use of convert_memory_address.
4833         (probe_stack_range): Likewise.
4834         * expmed.c (make_tree): Likewise.
4835         * expr.c (emit_block_move_in_libcall): Likewise.
4836         (expand_assignment): Likewise.
4837         (expand_expr): Likewise.
4838         * function.c (assign_parms): Likewise.
4839         (expand_function_end): Likewise.
4840         * integrate.c (copy_rtx_and_substitute): Likewise.
4841         * stmt.c (expand_computed_goto): Likewise.
4842
4843 2003-09-18  Roger Sayle  <roger@eyesopen.com>
4844
4845         * simplify-rtx.c (simplify_unary_operation): Only transform
4846         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
4847         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
4848
4849 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4850
4851         PR target/11674
4852         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
4853
4854 2003-09-18  Roger Sayle  <roger@eyesopen.com>
4855
4856         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
4857         PARITY_EXPR): Delete unused tree codes.
4858         * c-common.c (c_common_truthvalue_conversion): Delete references
4859         to FFS_EXPR and POPCOUNT_EXPR.
4860         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
4861         (pp_c_expression): Likewise.
4862         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
4863         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
4864         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
4865         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
4866         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
4867         and long long variants.
4868
4869 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4870
4871         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
4872         * c-pretty-print.c: Fix formatting.
4873         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
4874         (pp_c_type_specifier): Tidy.
4875         (pp_c_compound_literal): New function.
4876         (pp_c_initializer): Simplify..
4877         (pp_c_initializer_list): Likewise.
4878         (pp_c_brace_enclosed_initializer_list): New function.
4879         (pp_c_postfix_expression): Simplify.
4880
4881 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
4882
4883         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
4884         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
4885
4886 2003-09-17  Richard Henderson  <rth@redhat.com>
4887
4888         * tree-optimize.c (tree_rest_of_compilation): Save and restore
4889         input_location.
4890
4891 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
4892
4893         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
4894
4895 2003-09-17  Richard Henderson  <rth@redhat.com>
4896
4897         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
4898
4899 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4900
4901         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
4902         * configure: Regenerate.
4903
4904 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
4905
4906         PR debug/12066
4907         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
4908         * langhooks-def.h (lhd_return_null_tree_v): New function.
4909         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
4910         (LANG_HOOKS_DECLS): Add it to the intializer.
4911         * langhooks.c (lhd_return_null_tree_v): New function.
4912         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
4913
4914 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
4915
4916         * configure.in: Quote gcc_config_arguments for configargs.h.
4917         * configure: Regenerated.
4918         * gccbug.in: Don't shell-expand gcc_config_arguments.
4919
4920 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4921
4922         PR c++/11357
4923         * c-pretty-print.c (pp_c_floating_constant): Append
4924         type-annotation to floating constants.
4925
4926 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4927
4928         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
4929         Define _ABIO32.
4930         Use it for _MIPS_SIM.
4931         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
4932
4933         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
4934         Moved ...
4935         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
4936         updating comment.
4937         Fixes PR target/10190.
4938
4939 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
4940
4941         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
4942         to shared libraries.
4943
4944 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
4945
4946         PR optimization/11646
4947         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
4948         EDGE_ABNORMAL flag for EH edges.
4949         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
4950         if dead edges were purged.
4951
4952 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
4953
4954         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
4955         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
4956         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
4957         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
4958
4959 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
4960
4961         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
4962         returned by tablejump_p.
4963
4964 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
4965
4966         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
4967
4968 2003-09-16  Roger Sayle  <roger@eyesopen.com>
4969
4970         PR bootstrap/12269
4971         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
4972         argument to be VOIDmode, taking the mode of the comparison from
4973         the operands.  Only call simplify_relational_operation if we
4974         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
4975         if comparison has a floating point result.  Ensure that the
4976         result is always of the specified mode.
4977         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
4978         (simplify_unary_operation): Ensure the correct mode and cmp_mode
4979         are always passed to simplify_gen_relational.  Simplify NOT of
4980         comparison operator in any mode, not just BImode.
4981         (simplify_ternary_operation): Correct tests on the return value
4982         of simplify_relational_operation to use const_true_rtx, not
4983         const1_rtx.  Abort if it ever returns a non-constant result.
4984
4985         * cfgloopanal.c (count_strange_loop_iterations): Use the function
4986         simplify_relational_operation, not simplify_gen_relational, if
4987         we're only interested in constant comparisons and will ignore
4988         non-constant results.
4989
4990 2003-09-16  Roger Sayle  <roger@eyesopen.com>
4991
4992         * fold-const.c (tree_swap_operands_p): New function to determine
4993         the prefered ordering of operands.
4994         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
4995         operands to commutative, comparison or ternary operators.  Replace
4996         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
4997         transformation of A ? B : C into !A ? C : B.
4998
4999 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
5000
5001         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5002         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5003         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5004         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5005         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5006         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5007         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5008         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
5009
5010 2003-09-16  Jason Merrill  <jason@redhat.com>
5011             Jakub Jelinek  <jakub@redhat.com>
5012
5013         * c-common.c (handle_warn_unused_result_attribute): New function.
5014         (c_common_attribute_table): Add warn_unused_result.
5015         (c_expand_expr): Issue warning when result of inlined function
5016         with warn_unused_result attribute is ignored.
5017         * calls.c (expand_call): Issue warning when result of function
5018         with warn_unused_result attribute is ignored.
5019         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
5020         * expr.c (expr_wfl_stack): Define.
5021         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
5022         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
5023         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
5024         bit if inlined function has warn_unused_result attribute.
5025         * input.h (expr_wfl_stack): Declare.
5026         * doc/extend.texi: Document warn_unused_result attribute.
5027
5028 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
5029
5030         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
5031
5032 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
5033
5034         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
5035         ATTRIBUTE_UNUSED.
5036         (call_insn_operand): For PIC, don't allow a direct call to a
5037         function in a different section than the current one.
5038
5039 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5040
5041         * doc/invoke.texi (Warning Options): Add missing hyphen before
5042         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
5043         Move "-Wold-style-definition" to the C-only section.
5044         Fix the ordering of the warning options.
5045
5046 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5047             Jeff Law  <law@redhat.com>
5048
5049         * gcse.c (remove_reachable_equiv_notes): New.
5050         replace_store_insn): Call it.  Update antic list.
5051         (store_killed_in_insn): Take REG_EQUAL notes into account.
5052         (build_store_vectors, delete_store): Add parameter to
5053         replace_store_insn call.
5054
5055 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
5056
5057         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
5058         SYMBOL_REF_LOCAL_P.
5059
5060 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
5061
5062         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
5063         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
5064         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
5065         Likewise.
5066         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
5067         Likewise.
5068         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
5069         * config/sparc/sparc.c (function_arg_padding): Likewise.
5070
5071 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
5072
5073         * haifa-sched.c (schedule_block): Use ready_remove_first instead
5074         of choose_ready for non-dfa insn scheduling.
5075
5076 2003-09-15  Andreas Jaeger  <aj@suse.de>
5077             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5078
5079         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
5080         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
5081         * c-parse.in: Warn about old-style parameter definition.
5082         * c-common.c: Define warn_old_style_defintion.
5083         * c-common.h: Declare it.
5084         * c.opt: Add Wold-style-defintion.
5085
5086 2003-09-15  Andreas Jaeger  <aj@suse.de>
5087
5088         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
5089         * config/rs6000/rs6000.c: Likewise.
5090
5091 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5092
5093         PR optimization/10914
5094         * expr.h (get_condition, canonicalize_condition): Declaration changed.
5095         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
5096         and canonicalize_condition calls.
5097         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
5098         delete_null_pointer_checks): Ditto.
5099         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
5100         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
5101         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
5102         (canonicalize_condition, get_condition): Allow to return comparisons
5103         of cc mode registers.
5104         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
5105         cc mode registers comparison in condition.
5106
5107 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
5108
5109         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
5110         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
5111         function.
5112         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
5113
5114 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
5115
5116         * combine.c (simplify_comparison): Convert
5117         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
5118         (eq (and (lshiftrt X Y) 1) 0).
5119
5120 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
5121
5122         * alias.c: Follow spelling conventions.
5123         * cpphash.h: Likewise.
5124         * fold-const.c: Likewise.
5125
5126 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
5127
5128         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
5129         * c-lex.c (cb_line_change): Skip line changing whenever
5130         c-ppoutput.c would.
5131
5132 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
5133
5134         * ra.c: Convert to ISO C90 prototypes.
5135         * ra-build.c: Likewise.
5136         * ra-colorize.c: Likewise.
5137         * ra-debug.c: Likewise.
5138         * ra-rewrite.c: Likewise.
5139
5140 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
5141
5142         * Makefile.in (%.dvi): Remove excess $(docdir).
5143
5144 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
5145
5146         * function.c (STACK_BYTES): Move definition to head of file.
5147         (assign_parms): Don't pass current_function_pretend_args_size
5148         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
5149         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
5150         excess before laying out the argument.
5151
5152 2003-09-14  Andreas Jaeger  <aj@suse.de>
5153
5154         * objc/objc-act.c: Convert to ISO C90 prototypes.
5155         * objc/objc-act.h: Likewise.
5156
5157 2003-09-14  Olaf Hering  <olh@suse.de>
5158
5159         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
5160
5161 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
5162
5163         PR target/12021
5164         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
5165         as they already are done in config/m68k/m68k.h.
5166         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
5167
5168         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
5169         (machopic_output_stub): Only generate pic base symbols when using pic
5170         and generate them in the form L00000000$spb.
5171
5172 2003-09-13  Richard Henderson  <rth@redhat.com>
5173
5174         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
5175         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
5176         * cgraph.h: Update.
5177
5178 2003-09-12  Dale Johannesen  <dalej@apple.com>
5179
5180         * config/rs6000/rs6000.c: Fix typos in previous.
5181
5182 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
5183
5184         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
5185         when allocating pp->buffer.
5186
5187 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
5188
5189         * config/darwin.c (machopic_select_rtx_section): Use
5190         const_data_section for things that might require relocation.
5191
5192 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
5193
5194         PR bootstrap/12264
5195         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
5196
5197 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
5198
5199         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
5200         * config/xtensa/linux.h (ASM_SPEC): Likewise.
5201         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
5202         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
5203         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
5204         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
5205         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
5206         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
5207         and redefine corresponding TARGET_* macros with constants from the
5208         xtensa-config.h header.
5209         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
5210         for the options listed above.
5211
5212 2003-09-12  Dale Johannesen  <dalej@apple.com>
5213
5214         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
5215         * config/rs6000/rs6000-c.c:  Ditto.
5216         * config/rs6000/rs6000.c:  Ditto.
5217         * config/rs6000/ sysv4.h:  Ditto.
5218
5219 2003-09-12  Chris Lattner <sabre@nondot.org>
5220
5221         * loop.c: Move comments describing BIV's and GIV's to top of file
5222
5223 2003-09-12  Roger Sayle  <roger@eyesopen.com>
5224
5225         PR optimization/8967
5226         * alias.c (write_dependence_p): Modify to take an additional constp
5227         argument that controls whether the UNCHANGING_RTX_P flags are used.
5228         (anti_dependence, output_dependence): Adjust write_dependence_p
5229         callers to pass this additional argument, to return the same result.
5230         (unchanging_anti_dependence): New variant of anti_dependence that
5231         ignores the UNCHANGING_RTX_P property on memory references.
5232         * rtl.h (unchaning_anti_dependence): Prototype here.
5233         * flow.c (init_propagate_block): Place fake constant mem writes on
5234         the mem_set_list so that dead writes to const variables are deleted.
5235         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
5236         (mark_used_regs): Likewise.
5237
5238 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
5239
5240         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
5241         (mcore_secondary_reload_class): Declare.
5242         (mcore_output_inline_const_forced): Remove.
5243         * config/mcore/mcore.md (movsi): Remove the code that forced
5244         non-inlineable constants into a register if the target was r15
5245         or the stack pointer.  Remove constant restrictions from the main
5246         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
5247         of an r <- P alternative.  Remove fallback define_insn for reload.
5248         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
5249         define_insn.  Use mcore_output_move in the remaining define_insn.
5250         Adjust condition and constraints in the way as for movsi.
5251         (movdi): Always split unacceptable constants into two.  Use
5252         simplify_gen_subreg instead of operand_subword{,_force}.
5253         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
5254         (mcore_output_move): Support HImode and QImode moves as well.
5255         (mcore_m15_operand_p): New function.
5256         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
5257         (mcore_secondary_reload_class): New function.
5258         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
5259         terms of mcore_secondary_reload_class.
5260
5261 2003-09-11  Mike Stump  <mrs@apple.com>
5262
5263         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
5264
5265 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5266
5267         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
5268         MODE exactly, then only convert logN(N) -> 1.0 if
5269         flag_unsafe_math_optimizations is set.
5270
5271         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
5272         init_builtin_dconsts): Delete.
5273         * emit-rtl.c (dconstpi, dconste): Define.
5274         (init_emit_once): Initialize dconstpi & dconste.
5275         * real.h (dconstpi, dconste): Declare.
5276
5277 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
5278
5279         PR fortran/11522
5280         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
5281         for ultimate origin even if block is abstract.
5282
5283 2003-09-11  Roger Sayle  <roger@eyesopen.com>
5284
5285         * combine.c (combine_simplify_rtx): Move several NOT and NEG
5286         optimizations from here...
5287         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
5288         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
5289
5290 2003-09-11  Richard Henderson  <rth@redhat.com>
5291
5292         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
5293         Tweek tests for function already generated.
5294         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
5295         * cgraph.h (cgraph_finalize_function): Update for extra arg.
5296         * c-decl.c (finish_function): Likewise.
5297
5298 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
5299
5300         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
5301
5302 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
5303
5304         * real.c: Update URL to VAX floating point docs.
5305         (decode_vax_d): Extract 8 exponent bits instead of 7.
5306
5307 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
5308
5309         * combine.c (force_to_mode): Set fuller_mask based only on mask,
5310         not op_mode.
5311
5312 2003-09-11  Jan Hubicka  <jh@suse.cz>
5313
5314         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
5315         on why function is not inlinable; do not check
5316         the body.
5317         (inline_forbidden_p): Move to...
5318         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
5319         deal with alloca, longjmp.
5320         (inline_forbidden_p): New static function.
5321         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
5322         find_builtin_longjmp_call): Kill.
5323
5324 2003-09-10  Richard Henderson  <rth@redhat.com>
5325
5326         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
5327         * cgraphunit.c: Update to match.
5328         (record_call_1): Rearrange.  Call lang hook for language nodes.
5329         (cgraph_analyze_function): Don't call lower_function.
5330         * langhooks.h (struct lang_hooks_for_callgraph): Replace
5331         lower_function with analyze_expr.
5332         * langhooks-def.h: Update to match.
5333         * langhooks.c (lhd_callgraph_analyze_expr): New.
5334
5335 2003-09-10  Martin Husemann  <martin@duskware.de>
5336
5337         PR target/11965
5338         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
5339         constants greater than 63.
5340         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
5341         against constants greater than 31.
5342         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
5343         constants greater than 63.
5344
5345 2003-09-09  Richard Henderson  <rth@redhat.com>
5346
5347         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
5348         * cgraph.h (cgraph_finalize_function): Update.
5349         * c-decl.c (finish_function): Update.
5350
5351 2003-09-09  Devang Patel  <dpatel@apple.com>
5352
5353         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
5354         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
5355
5356 2003-09-09  Eric Christopher  <echristo@redhat.com>
5357
5358         * configure.in: Change usage of 'head' to 'sed 1q'.
5359         * configure: Regenerate.
5360
5361 2003-09-09  Richard Henderson  <rth@redhat.com>
5362
5363         * except.c: Include cgraph.h.
5364         (output_function_exception_table): Invoke
5365         cgraph_varpool_mark_needed_node.
5366         * Makefile.in (except.o): Update.
5367
5368 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
5369
5370         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
5371         and use it throughout.
5372
5373 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5374
5375         * builtins.c (real_dconstp, fold_builtin_logarithm,
5376         fold_builtin_exponent): New, split out from fold_builtin.  Also
5377         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
5378         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
5379         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
5380         of hardcoded array size.
5381         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
5382         (tree_expr_nonnegative_p): Likewise.
5383         * real.h (dconst3, dconst10, dconstthird): New.
5384
5385 2003-09-09  Jan Hubicka  <jh@suse.cz>
5386
5387         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
5388         inline functions.
5389         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
5390         DECL_SAVED_TREE.
5391
5392 2003-09-09  Roger Sayle  <roger@eyesopen.com>
5393
5394         * builtins.c (fold_builtin_cabs): Protect the complex argument
5395         against multiple evaluation when optimizing cabs* into sqrt*.
5396
5397 2003-09-09  Jan Hubicka  <jh@suse.cz>
5398
5399         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
5400
5401 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
5402
5403         * Makefile.in: Revert yesterday's change.
5404
5405 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
5406             Peter Barada <peter@baradas.org>
5407
5408         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
5409         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
5410         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
5411         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
5412         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
5413         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
5414         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
5415         (m68k_compute_frame_layout): New function.
5416         (m68k_initial_elimination_offset): New function.
5417         (m68k_output_function_prologue): ColdFire-specific movem handling.
5418         (m68k_output_function_epilogue): Likewise.
5419         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
5420         (ARG_POINTER_REGNUM): Add new definition.
5421         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
5422         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
5423         (CAN_ELIMINATE): Likewise.
5424         (INITIAL_ELIMINATION_OFFSET): Likewise.
5425
5426 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
5427
5428         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
5429         by removing redundant variable cfa_store_offset.
5430
5431 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
5432
5433         * langhooks-def.h (lhd_register_builtin_type): New function.
5434         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
5435         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
5436         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
5437         * langhooks.c (lhd_register_builtin_type): New function.
5438         * c-common.h (c_register_builtin_type): Declare.
5439         * c-common.c (c_register_builtin_type): New function.
5440         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
5441         c_register_builtin_type.
5442         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
5443         __float80, and __float128 macros.
5444         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
5445         __float80, and __float128 types.
5446
5447 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5448
5449         * builtin-types.def
5450         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
5451         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
5452         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
5453         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
5454         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
5455         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
5456         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
5457         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
5458         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
5459         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
5460         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
5461         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
5462         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
5463         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
5464         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
5465         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
5466         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
5467         New.
5468         * doc/extend.texi: Document new builtins.
5469
5470 2003-09-09  Jan Hubicka  <jh@suse.cz>
5471
5472         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
5473         finalization.
5474         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
5475         functions, check for COMDAT.
5476         (cgraph_assemble_pending_functions): Break out from...
5477         (cgraph_finalize_function): ... here; allow redefinig of extern inline
5478         functions.
5479         (record_call_1): Record function references only in non-unit-at-a-time
5480         mode.
5481         (cgraph_analyze_function): Reset current_function_decl.
5482         (cgraph_finalize_compilation_unit):  Assemble pending functions.
5483
5484 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
5485
5486         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
5487         (libgov.a): Likewise.
5488         (libgcc_eh.a): Likewise.
5489
5490 2003-09-08  Roger Sayle  <roger@eyesopen.com>
5491
5492         * fold-const.c (operand_equal_p): Clarify documentation.
5493
5494 2003-09-08  Richard Henderson  <rth@redhat.com>
5495
5496         * c-decl.c (c_expand_body_1): Push and pop function context here.
5497         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
5498         nested argument instead of computing nesting ourselves.
5499
5500 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
5501
5502         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
5503         regstack if optimizing but not scheduling after reload.
5504
5505 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
5506
5507         * config/sparc/sparc.c (struct machine_function): New type.
5508         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
5509         (sparc_override_options): Initialize init_machine_status.
5510         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
5511         tie_symbolic_operand, tle_symbolic_operand): New functions.
5512         (symbolic_operand): Disallow tls_symbolic_operand.
5513         (symbolic_memory_operand): Likewise.
5514         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
5515         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
5516         New functions.
5517         (sparc_tls_symbol): New variable.
5518         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
5519         legitimize_address): New functions.
5520         (print_operand): Handle %&.
5521         (sparc_init_machine_status, get_some_local_dynamic_name,
5522         get_some_local_dynamic_name_1): New functions.
5523         (sparc_output_dwarf_dtprel): New function.
5524         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
5525         constant_address_p.
5526         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
5527         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
5528         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
5529         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
5530         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
5531         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
5532         (ASM_OUTPUT_DWARF_DTPREL): Define.
5533         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
5534         tie_symbolic_operand, tle_symbolic_operand.
5535         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
5536         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
5537         (tls_call_delay): New attribute.
5538         (in_call_delay): Use it.
5539         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
5540         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
5541         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
5542         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
5543         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
5544         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
5545         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
5546         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
5547         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
5548         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
5549         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
5550         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
5551         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
5552         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
5553         insns.
5554         * config/sparc/sparc-protos.h (legitimate_constant_p,
5555         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
5556         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
5557         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
5558         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
5559         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
5560         * configure.in (sparc*-*-*): Add TLS check.
5561         * configure: Rebuilt.
5562
5563 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
5564
5565         PR target/11689
5566         * config/i386/i386.c (memory_address_length): Fix computation when
5567         the base is esp or ebp.
5568
5569 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
5570
5571         PR c++/11852
5572         * varasm.c (initializer_constant_valid_p): Correct logic for
5573         CONSTRUCTORs.
5574
5575 2003-09-07  Roger Sayle  <roger@eyesopen.com>
5576
5577         * expr.c (expand_operands): New function to expand an operand pair.
5578         (expand_expr): Call expand_operands whenever we need to expand both
5579         operands of a binary operator.
5580         (do_store_flag): Likewise for operands of comparison operations.
5581
5582 2003-09-07  Roger Sayle  <roger@eyesopen.com>
5583
5584         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
5585         (-A)*B if we care about sign-dependent rounding.
5586
5587 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
5588
5589         * c-pretty-print.h (pp_c_left_brace): Declare.
5590         (pp_c_right_brace): Likewise.
5591         * c-pretty-print.c (pp_c_left_brace): Now a function
5592         (pp_c_right_brace): Likewise.
5593
5594 2003-09-07  Jan Hubicka  <jh@suse.cz>
5595
5596         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
5597
5598 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5599
5600         * diagnostic.c (warn_deprecated_use): Move to toplev.c
5601
5602 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5603
5604         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
5605         * Makefile.in (langhooks.o): Depend on diagnostic.h
5606
5607 2003-09-06  James E Wilson  <wilson@tuliptree.org>
5608
5609         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
5610         simplify.
5611
5612 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
5613
5614         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
5615         and use it throughout.
5616
5617 2003-09-07  Jan Hubicka  <jh@suse.cz>
5618
5619         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
5620
5621         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
5622         virables.
5623
5624         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
5625         functions.
5626         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
5627
5628 2003-09-06  Jan Hubicka  <jh@suse.cz>
5629
5630         PR target/12070
5631         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
5632
5633         PR opt/12082
5634         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
5635
5636 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5637
5638         * diagnostic.c (announce_function): Move to toplev.c.
5639
5640 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5641
5642         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
5643         volatile mem.
5644
5645 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5646
5647         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
5648         when gc checking is enabled.
5649
5650 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
5651
5652         PR c/9862
5653         * c-decl.c (c_expand_body_1): Move return warning from here...
5654         (finish_function): ...to here.
5655
5656 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
5657
5658         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
5659         a subset of the input class.
5660
5661 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
5662
5663         * config/i860/i860.c: Follow spelling conventions.
5664         * config/i860/i860.h: Likewise.
5665         * config/sh/sh.h: Likewise.
5666
5667 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
5668
5669         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
5670         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
5671         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
5672
5673 2003-09-05  Roger Sayle  <roger@eyesopen.com>
5674             Richard Henderson  <rth@redhat.com>
5675
5676         PR optimization/1823
5677         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
5678         multiplication to implement division by constant integer.
5679
5680 2003-09-05  Jan Hubicka  <jh@suse.cz>
5681
5682         * opts.c (decode_options): Enable unit-at-a-time at -O2.
5683         * params.def (max-inline-insns-single): Set to 500
5684         (max-inline-insns-auto): Set to 150
5685         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
5686
5687 2003-09-04  Richard Henderson  <rth@redhat.com>
5688
5689         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
5690         (cgraph_mark_needed_node): Remove needed argument.
5691         * cgraph.h: Update to match.
5692         * cgraphunit.c (decide_is_function_needed): Split out from ...
5693         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
5694         if we generated the function.
5695         (record_call_1): Update for cgraph_mark_reachable_node.
5696         * varasm.c (mark_referenced): Likewise.
5697         * objc/objc-act.c (mark_referenced_methods): Likewise.
5698
5699 2003-09-04  DJ Delorie  <dj@redhat.com>
5700
5701         * targhooks.c: Add comment explaining the migration process.
5702
5703 2003-09-04  Eric Christopher  <echristo@redhat.com>
5704
5705         * config/frv/t-frv: Fix path for frv-abi.h.
5706         * config/frv/frv-asm.h: Fix string concatenation.
5707
5708 2003-09-04  DJ Delorie  <dj@redhat.com>
5709
5710         * builtins.c (apply_args_size): Guard against a NULL cfun.
5711         (expand_builtin_apply_args_1): Likewise.
5712         (expand_builtin_apply): Likewise.
5713         Fixes PR bootstrap/12172.
5714
5715 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5716
5717         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
5718         assembler supports Sun syntax for cmov.
5719         * configure: Regenerate.
5720         * config.in: Likewise.
5721         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
5722         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
5723         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
5724         Fixes PR target/12101.
5725
5726 2003-09-04  Matt Austern  <austern@apple.com>
5727
5728         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
5729         with verbosity 0, instead of DECL_NAME, for human-readable string.
5730
5731 2003-09-04  Eric Christopher  <echristo@redhat.com>
5732
5733         * targhooks.c (default_return_in_memory): Allow
5734         unconverted ports.
5735
5736 2003-09-04  Eric Christopher  <echristo@redhat.com>
5737
5738         * targhooks.c (default_return_in_memory): Fix typo
5739         in last checkin.
5740
5741 2003-09-04  Eric Christopher  <echristo@redhat.com>
5742
5743         * targhooks.c (default_return_in_memory): Fix default
5744         definition.
5745
5746 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
5747
5748         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
5749         deleted function.
5750         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
5751         enable coff-only code in m68k.c.
5752
5753 2003-09-04  Nick Clifton  <nickc@redhat.com>
5754
5755         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
5756         v850e1.
5757         * config/v850/v850.h: Accept v850e1 as a default CPU.
5758         Accept -mv850e1 as a command line option.
5759         * doc/invoke.texi: Document new -mv850e1 command line switch.
5760         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
5761         -mv850e.
5762
5763 2003-09-04  Nick Clifton  <nickc@redhat.com>
5764
5765         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
5766         * config/v850/t-v850: Only produce one extra multilib - for
5767         the v850e.
5768         * config/v850/t-v850e: New file: Only produce one extra
5769         multilib - for the v850.
5770
5771 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
5772
5773         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
5774         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
5775         * unwind.h (_Unwind_GetBSP): New prototype.
5776         * libgcc-std.ver: Add empty GCC_3.3.2 version.
5777         * mkmap-symver.awk: For symbol versions with no exported symbols,
5778         don't put anything into version script, just change all symbol
5779         versions which inherit from it to inherit from its ancestor.
5780
5781 2003-09-04  Eric Christopher  <echristo@redhat.com>
5782
5783         * config/mips/mips.c (mips_expand_prologue): Convert to
5784         calls.struct_value_rtx hook.
5785         (reg_or_const_float_1_operand): New.
5786         * config/mips/mips.h: Update Comments.
5787         (mips_arg): Add reg_or_const_float_1_operand.
5788         * config/mips/mips.md (divdf3); Convert to expander.
5789         (divsf3): Ditto.
5790         (*divdf3): New pattern.
5791         (*divsf3): Ditto.
5792
5793 2003-09-04  Jan Hubicka  <jh@suse.cz>
5794
5795         * toplev.c (wrapup_global_declarations): Fix final pass in
5796         unit-at-atime mode.
5797
5798 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
5799
5800         * doc/extend.texi: Document removal of cast-as-lvalue extension in
5801         C++.
5802
5803 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
5804
5805         * gcc.c (process_command): Fix typo.
5806
5807 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
5808
5809         optimization/11980
5810         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
5811         (PTRDIFF_TYPE): Likewise.
5812         (WCHAR_TYPE_SIZE): Likewise.
5813
5814 2003-09-03  DJ Delorie  <dj@redhat.com>
5815
5816         * targhooks.c: New file.
5817         * targhooks.h: New file.
5818         * Makefile.in: Add targhooks.o support.
5819         (function.o): Depend on$(TARGET_H).
5820         (stmt.o): Likewise.
5821         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
5822         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
5823         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
5824         (expand_builtin_saveregs): Convert to
5825         calls.expand_builtin_saveregs hook.
5826         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
5827         here, instead of ...
5828         (get_parm_info) ... here.
5829         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
5830         hook.
5831         (finish_function): Handle calls.promote_prototypes hook here too.
5832         * c-typeck.c (convert_arguments): Convert to
5833         calls.promote_prototypes hook.
5834         (c_convert_parm_for_inlining): Likewise.
5835         * calls.c (initialize_argument_information): Convert to
5836         calls.promote_function_args hook.
5837         (expand_call): Convert to calls.struct_value_rtx,
5838         calls.strict_argument_naming,
5839         calls.pretend_outgoing_varargs_named, and
5840         calls.promote_function_return hooks.  Pass fndecl to
5841         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
5842         hooks, so they can use that.
5843         (emit_library_call_value_1): Likewise.
5844         * combine.c (setup_incoming_promotions): Convert to
5845         calls.promote_function_args hook.
5846         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
5847         * expr.c (expand_assignment): Pass call to aggregate_value_p.
5848         (expand_expr): Likewise.
5849         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
5850         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
5851         RETURN_IN_MEMORY macro defaults.
5852         * final.c (profile_function): Convert to calls.struct_value_rtx
5853         hook.
5854         * function.c (aggregate_value_p): Accept function type tree as
5855         second parameter; try to deduce fntype from it.  Convert to
5856         calls.return_in_memory hook.
5857         (assign_parms): Convert to calls.setup_incoming_varargs,
5858         calls.strict_argument_naming, calls.promote_function_args,
5859         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
5860         aggregate_value_p.
5861         (expand_function_start): Likewise.  Convert to
5862         calls.struct_value_rtx hook.
5863         (expand_function_end): Convert to calls.promote_function_return hook.
5864         (allocate_struct_function): Pass fndecl to aggregate_value_p.
5865         * hard-reg-set.h: Update comments to new hook names.
5866         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
5867         * reg-stack.c (stack_result): Likewise.
5868         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
5869         * stmt.c (expand_value_return): Convert to
5870         calls.promote_function_return hook.
5871         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
5872         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
5873         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
5874         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
5875         TARGET_STRICT_ARGUMENT_NAMING,
5876         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
5877         * target.h: Likewise.
5878         * tree.h (aggregate_value_p): Also takes a tree to deduce function
5879         attributes from (for target hooks).
5880         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
5881         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
5882         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
5883         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
5884         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
5885         to hooks.
5886
5887         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
5888         to aggregate_value_p.
5889         * config/arm/arm.c (arm_init_cumulative_args,
5890         arm_output_mi_thunk): Likewise.
5891         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
5892         Likewise.
5893         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
5894         mips_can_use_return_insn): Likewise.
5895         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
5896         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
5897         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
5898         aggregate_value_p.
5899         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
5900         function to aggregate_value_p.
5901         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
5902         aggregate_value_p.
5903
5904         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
5905         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
5906         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
5907         (sh_handle_renesas_attribute, sh_promote_prototypes,
5908         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
5909         sh_setup_incoming_varargs, sh_strict_argument_naming,
5910         sh_pretend_outgoing_varargs_named): New decls.
5911         (targetm): Add new hooks.
5912         (calc_live_regs): Save MACL and MACH if the function has the
5913         renesas attribute.
5914         (sh_expand_prologue): Support renesas attribute.
5915         (sh_builtin_saveregs): Make static.
5916         (sh_build_va_list): Support renesas attribute.
5917         (sh_va_start): Likewise.
5918         (sh_va_arg): Likewise.
5919         (sh_promote_prototypes): New.
5920         (sh_function_arg): New, moved from sh.h.  Support renesas
5921         attribute.
5922         (sh_function_arg_advance): Likewise.
5923         (sh_return_in_memory): Likewise.
5924         (sh_strict_argument_naming): Likewise.
5925         (sh_pretend_outgoing_varargs_named): Likewise.
5926         (sh_struct_value_rtx): New.
5927         (sh_attribute): Add renesas attribute.
5928         (sh_handle_renesas_attribute): New.
5929         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
5930         (sh_ms_bitfield_layout_p): Support renesas attribute also.
5931         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
5932         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
5933         -mhitachi.
5934         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
5935         target hooks.
5936         (sh_args): Add renesas_abi flag.
5937         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
5938         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
5939         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
5940         stack for the renesas abi.
5941         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
5942         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
5943         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
5944         call cookie to indicate renesas calls.
5945
5946 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
5947
5948         * gcse.c (replace_one_set): New function.
5949         (pre_insert_copy_insn): Change the order of copying
5950         to make copy propagation discover additional PRE opportunities.
5951
5952 2003-09-03  Roger Sayle  <roger@eyesopen.com>
5953
5954         PR optimization/11700.
5955         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
5956         of a hard register is representable before trying to simplify it
5957         using subreg_hard_regno.
5958
5959 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5960
5961         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
5962         * configure: Regenerate.
5963
5964 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5965
5966         * intl.h (N_): Remove parentheses.
5967
5968 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
5969
5970         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
5971         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
5972         definition and code blocks compiled when not defined.
5973         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
5974         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
5975         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
5976         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
5977
5978 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
5979
5980         * cgraphunit.c (visited_nodes): New static variable.
5981         (record_call_1): Use walk_tree with visited_nodes.
5982         (cgraph_create_edges): Use walk_tree with visited_nodes.
5983         Setup/teardown visited_nodes hashtable.
5984
5985 2003-09-03  Roger Sayle  <roger@eyesopen.com>
5986
5987         * toplev.c (flag_rounding_math): New global variable.
5988         (f_options): Add to the list of language independent options.
5989         * flags.h (flag_rounding_math): Prototype here.
5990         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
5991         * common.opt (frounding-math): New common command line option.
5992         * opts.c (common_handle_option): Handle OPT_frounding_math.
5993         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
5994
5995         * doc/invoke.texi: Document this new command line option.
5996
5997 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5998
5999         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
6000
6001 2003-09-03  Jan Hubicka  <jh@suse.cz>
6002
6003         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
6004         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
6005         * c-objc-common.c: Kill include of gt-c-objc-common.h
6006         (expand_deferred_fns, deffer_fn): Kill function.
6007         (deferred_fns): Kill variable.
6008         (finish_cdtor): Update finish_function call.
6009         (c_objc_common_finish_file): Always call cgraph code.
6010         * c-parse.c: Regenerate.
6011         * c-parse.y: Regenerate.
6012         * c-tree.h (finish_function): Update prototype.
6013         * objc-acct.c (build_module_descriptor, finish_method_def):
6014         Update call of finish_function.
6015         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
6016         forward prototype.
6017         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
6018         function and assemble it if needed.
6019         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
6020         mode.
6021         (cgraph_optimize): Likewise.
6022         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
6023         even when it has no inline callees.
6024         * c-parse.in: Update calls to finish_function.
6025
6026 2003-09-03  Nick Clifton  <nickc@redhat.com>
6027
6028         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
6029         Use #error to generate the message if TARGET_DEFAULT is not
6030         recognised.
6031
6032 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
6033
6034         * config/mips/mips.h (MASK_UNUSED1): Remove.
6035         (MASK_XGOT, TARGET_XGOT): Define.
6036         (TARGET_SWITCHES): Add an entry for -mxgot.
6037         (ASM_SPEC): Map -mxgot to -xgot.
6038         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
6039         whether we're using a big-GOT sequences.
6040         (mips_legitimize_const_move, mips_expand_call): Likewise.
6041         (override_options): Revert 2003-01-09 change.
6042         * doc/invoke.texi: Document -mxgot.
6043
6044 2003-09-02  Jason Merrill  <jason@redhat.com>
6045
6046         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
6047         * config/sparc/sol2.h: Not here.
6048
6049 2003-09-02  Roger Sayle  <roger@eyesopen.com>
6050
6051         * expr.c (expand_expr): The code following both_summands performs
6052         the same task as simplify_gen_binary.  Replace all gotos to
6053         both_summands with a call to simplify_gen_binary and delete the
6054         now unused label.
6055
6056 2003-09-02  Jason Merrill  <jason@redhat.com>
6057
6058         PR c++/7327
6059         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
6060
6061 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
6062
6063         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
6064         (cgraph_optimize_function): Set current_function_decl to the
6065         fndecl we're integrating from.
6066
6067 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6068
6069         * builtins.def: Break out _Complex math functions into their
6070         own category.
6071
6072 2003-09-02  Andreas Jaeger  <aj@suse.de>
6073
6074         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
6075
6076 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
6077
6078         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
6079         finding the note again.
6080
6081 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6082
6083         * config.gcc: Remove host-specific rewrites of target_alias.
6084
6085 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
6086
6087         * Makefile.in (genprogs): Fix typo.
6088
6089         * Makefile.in (gencheck.o): Remove build commands.
6090         (dummy-conditions.o): Likewise.
6091         (read-rtl.o): Likewise.
6092         (gensupport.o): Likewise.
6093         (genconfig$(build_exeext)): Remove rule.
6094         (genconfig.o): Remove build commands.
6095         (genflags$(build_exeext)): Remove rule.
6096         (genflags.o): Remove build commands.
6097         (gencodes$(build_exeext)): Remove rule.
6098         (gencodes.o): Remove build commands.
6099         (genconstants.o): Remove build commands.
6100         (genemit$(build_exeext)): Remove rule.
6101         (genemit.o): Remove build commands.
6102         (genrecog$(build_exeext)): Remove rule.
6103         (genrecog.o): Remove build commands.
6104         (genextract$(build_exeext)): Remove rule.
6105         (genextract.o): Remove build commands.
6106         (genpeep$(build_exeext)): Remove rule.
6107         (genpeep.o): Remove build commands.
6108         (genattr$(build_exeext)): Remove rule.
6109         (genattr.o): Remove build commands.
6110         (genprognames): New variable.
6111         (genprogs): Likewise.
6112         (genobjs): Likewise.
6113         (genprogs): New rule.
6114         (genobjs): Likewise.
6115         (genattrtab.o): Remove build commands.
6116         (genautomata.o): Likewise.
6117         (genoutput$(build_exeext)): Remove rule.
6118         (genoutput.o): Remove build commands.
6119         (gengenrtl.o): Likewise.
6120         (genpreds.o): Likewise.
6121         (gengtype.o): Likewise.
6122         (genconditions.o): Likewise.
6123         (gen-protos.o): Likewise.
6124         (scan.o): Likewise.
6125         (fix-header.o): Likewise.
6126         (scan-decls.o): Likewise.
6127         (check-g++): Combine with other check targets.
6128         (check-gcc): Likewise.
6129         (check-g77): Likewise.
6130         (check-objc): Likewise.
6131
6132 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6133
6134         * config.gcc: Remove host-specific stuff which is unused here
6135         since the introduction of config.host.
6136
6137         * doc/fragments.texi: Mention config.host.
6138         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
6139         of config.build, config.host, and config.gcc.
6140
6141 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
6142
6143         * c-decl.c (pushdecl): Don't put variables on
6144         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
6145         incomplete.
6146
6147 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6148
6149         * config.host: New file.
6150         * config.gcc: Remove some host-specific stuff and some
6151         logic needed only for repeated invocation.
6152         * configure.in: Use config.host.
6153         * configure: Regenerate.
6154
6155 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
6156
6157         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
6158         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
6159         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
6160         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
6161         * tree.def (BIT_ANDTC_EXPR): Kill.
6162
6163 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
6164
6165         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
6166         * configure: Regenerate.
6167
6168         * config.gcc:  Remove references to install_headers_dir, now unused
6169         since introduction of config.build.
6170         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
6171
6172         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
6173         config.build.
6174
6175         * config.build: New file.
6176         * config.gcc: Remove some build-specific stuff.
6177         * configure.in: Use config.build.
6178         * configure: Regnerate.
6179
6180 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
6181             Roger Sayle  <roger@eyesopen.com>
6182
6183         PR middle-end/11823
6184         * stmt.c (expand_end_case_type): Only use jump tables for dense
6185         switch statements when optimizing for size.
6186
6187 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
6188
6189         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
6190         the != 0 case, which ensures pending stack adjustments are flushed.
6191
6192 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6193
6194         * configure.frag: Delete file.
6195         * configure.in: Rename the substitution variables
6196         dep_host_xmake_file and dep_tmake_file to xmake_file and
6197         tmake_file respectively.  Do not expand $srcdir in the
6198         value of these; leave that for Make.  Introduce a new
6199         substitution varaible, all_lang_makefrags, which lists
6200         subdirectory Make-lang.in files; exclude these from
6201         all_lang_makefiles, which is now only for subdirectory
6202         outputs.  Do not invoke configure.frag.  Do not set nor
6203         AC_SUBST_FILE target_overrides, host_overrides, or
6204         language_fragments. Create build subdirectories in
6205         config.status extra commands.
6206         * configure: Regenerate.
6207         * Makefile.in: Update substitutions to match changes to
6208         configure.  Use include directives instead of @-insertions
6209         to read in host, target, and language fragments.
6210         (Makefile rule): Do not invoke configure.frag.  Do not copy
6211         config.status to config.run before executing it.  Set
6212         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
6213         regenerated.
6214         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
6215
6216 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6217
6218         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
6219         * c-typeck.c (same_translation_unit_p): New function.
6220         (comptypes): Use it instead of flags parameter to identify
6221         structure types from different translation units.
6222         * c-decl.c (duplicate_decls): Always call comptypes with
6223         COMPTYPE_STRICT flags argument.
6224         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
6225         to file_scope_decl.
6226
6227 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
6228
6229         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
6230         * c-decl.c (struct c_scope): Remove "incomplete" field.
6231         (pushdecl): Attach variables with incomplete types to
6232         the TYPE_MAIN_VARIANT of the incomplete type in question.
6233         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
6234         to complete, not at current_scope->incomplete.  All such
6235         variables do need completion.
6236
6237 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
6238         Nicolas Pitre <nico@cam.org>
6239
6240         * arm/lib1funcs.asm (RETCOND): Delete.
6241         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
6242         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
6243         (__ARM_ARCH__): Move here from ieee754-?f.S.
6244         (RET, RETc): Clean up definitions.
6245         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
6246         (FUNC_END): New macro that marks the end of any function.
6247         (ARM_FUNC_START): New macro that allows an assembler routine to be
6248         implemented in ARM code even if a Thumb-only build.
6249         Unconditionally include ieee754-?f.S.
6250         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
6251         Mark ends of functions.
6252         Split into separate conditionally-compiled units.
6253         Use RETLDM to return from routines.
6254         * arm/ieee754-sf.S: Similarly.
6255         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
6256         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
6257         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
6258         _fixsfsi and _fixunssfsi.
6259
6260         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
6261         multiplication underflows to zero.
6262         (__adddf3): Fix bug when using VFP ordering on little-endian
6263         processors.
6264         (__fixdfsi): Use rrx to extract the carry into a register instead of
6265         MRS instruction.  Optimize later use of result.
6266         * arm/ieee754-sf.S (__fixsfsi): Likewise.
6267         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
6268
6269 2003-08-29  Richard Henderson  <rth@redhat.com>
6270
6271         * tree-optimize.c: New file.
6272         * Makefile.in (OBJS-archive): Add tree-optimize.o.
6273         (tree-optimize.o): New.
6274         * c-decl.c (store_parm_decls): Use allocate_struct_function.
6275         (finish_function): Don't free_after_parsing or free_after_compilation.
6276         (set_save_expr_context): Move to tree-optimize.c.
6277         (c_expand_body_1): Use tree_rest_of_compilation.
6278         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
6279         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
6280         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
6281         iterate until closure.
6282         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
6283         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
6284         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
6285         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
6286         * toplev.h (tree_rest_of_compilation): Declare it.
6287
6288 2003-08-29  Richard Henderson  <rth@redhat.com>
6289
6290         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
6291         * integrate.c (save_for_inline): Set saved_for_inline.
6292         * c-semantics.c (genrtl_scope_stmt): Check it.
6293         * toplev.c (wrapup_global_declarations): Check it.
6294         (rest_of_handle_inlining): Set and check rtl_inline_init.
6295         (rest_of_compilation): Remove out of date comment.
6296
6297 2003-08-29  Richard Henderson  <rth@redhat.com>
6298
6299         * function.c (allocate_struct_function): New, split out of ...
6300         (prepare_function_start, init_function_start): ... here.
6301         * expr.c (init_expr): Use ggc_alloc_cleared.
6302         * stmt.c (init_stmt_for_function): Likewise.
6303         * tree.h (allocate_struct_function): Declare.
6304
6305 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
6306
6307         * config.gcc: Don't use negated character class in shell case
6308         clause.
6309
6310 2003-08-29  Richard Henderson  <rth@redhat.com>
6311
6312         * function.h (struct function): Move function_frequency and
6313         max_jumptable_ents before start of bit field members.
6314
6315 2003-08-29  Richard Henderson  <rth@redhat.com>
6316
6317         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
6318         (fold_builtin_constant_p) ... not here.
6319
6320 2003-08-29  Richard Henderson  <rth@redhat.com>
6321
6322         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
6323         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
6324         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
6325
6326 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6327
6328         * builtins.def: Fix typos.
6329         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
6330         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
6331         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
6332         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
6333         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
6334
6335         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
6336         Use ATTR_MATHFN_FPROUNDING_ERRNO.
6337
6338 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
6339
6340         * config.gcc (i386-*-vsta): Fix obvious bogosity.
6341
6342         * fixinc/inclhack.def:  Remove special cases for unsupported
6343         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
6344         * fixinc/fixincl.x: Regenerate.
6345
6346 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
6347
6348         * Makefile.in (cpp.info): Just state dependencies.
6349         (gcc.info): Likewise.
6350         (gccint.info): Likewise.
6351         (gccinstall.info): Likewise.
6352         (cppinternals.info): Likewise.
6353         (cpp.dvi): Likewise.
6354         (gcc.dvi): Likewise.
6355         (gccint.dvi): Likewise.
6356         (gccinstall.dvi): Likewise.
6357         (cppinternals.dvi): Likewise.
6358         (gcov.1): Likewise.
6359         (cpp.1): Likewise.
6360         (gcc.1): Likewise.
6361         (gfdl.7): Likewise.
6362         (gpl.7): Likewise.
6363         (fsf-funding.7): Likewise.
6364         ($(objdir)/%.info): New pattern rule.
6365         (%.dvi): Likewise.
6366
6367 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
6368
6369         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
6370         (restage2): Likewise.
6371         (restage3): Likewise.
6372         (restage4): Likewise.
6373         (restageprofile): Likewise.
6374         (restagefeedback): Likewise.
6375         (bubblestrap): Likewise.
6376
6377 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
6378
6379         * config.gcc: Narrow unsupported target match to avoid clobbering
6380         i?86-sequent-sysv4*.
6381
6382 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6383
6384         * builtins.c (mathfn_built_in): Handle new math builtins.
6385
6386 2003-08-28  Per Bothner  <per@bothner.com>
6387
6388         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
6389         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
6390         (_cpp_lex_buffer):  Likewise.
6391         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
6392
6393 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
6394
6395         * config/s390/s390.md ("*mulsi3_sign"): New insn.
6396         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
6397         ("mulsidi3"): ... this new insn.
6398         ("umulsidi3"): New insn.
6399         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
6400         mixed-mode matching constraints.
6401         ("udivmodsi4", "udivmoddisi3"): New insns.
6402         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
6403
6404 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6405
6406         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
6407         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
6408         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
6409         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
6410         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
6411         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
6412         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
6413         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
6414         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
6415         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
6416         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
6417         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
6418         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
6419         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
6420         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
6421         * tree.c: Assign new type_nodes.
6422         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
6423         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
6424         (float_ptr_type_node, double_ptr_type_node,
6425         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
6426
6427         * doc/extend.texi: Document new builtins.
6428
6429 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6430
6431         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
6432         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
6433
6434         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
6435         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
6436         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
6437         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
6438         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
6439         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
6440         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
6441         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
6442         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
6443         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
6444
6445         * doc/extend.texi: Document new builtins.
6446
6447 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
6448
6449         * fixinc/mkfixinc.sh: Remove special case code for unsupported
6450         variants of i?86, powerpcle, and thumb.
6451         * fixinc/mkfixinc.sh: Remove special case code for unsupported
6452         arm and hppa variants.
6453
6454 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6455
6456         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
6457         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
6458         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
6459         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
6460         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
6461         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
6462         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
6463         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
6464         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
6465         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
6466
6467         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
6468         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
6469         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
6470         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
6471         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
6472         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
6473         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
6474         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
6475         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
6476         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
6477         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
6478         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
6479         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
6480         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
6481         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
6482         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
6483         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
6484         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
6485         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
6486         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
6487         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
6488         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
6489         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
6490         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
6491         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
6492         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
6493         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
6494         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
6495         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
6496         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
6497         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
6498
6499         * doc/extend.texi: Document new builtins.
6500
6501 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
6502
6503         * config/s390/s390.c (legitmate_constant_p): Use LARL on
6504         zSeries machines even in 31-bit addressing mode.
6505         (legitimate_reload_constant_p): Likewise.
6506         (legitimize_pic_address): Likewise.
6507         (legitimize_tls_address): Likewise.
6508         (s390_split_branches): Likewise.
6509         (s390_dump_pool): Likewise.
6510         (s390_mainpool_finish): Likewise.
6511         (s390_chunkify_start): Likewise.
6512         (s390_select_rtx_section): Likewise.
6513         * config/s390/s390.md ("doloop_si"): Likewise.
6514         ("pool_start_31", "pool_end_31"): Likewise.
6515         ("pool_start_64", "pool_end_64"): Likewise.
6516         ("main_base_31_small", "main_base_31_large"): Likewise.
6517         ("main_base_64"): Likewise.
6518         ("reload_base_31", "reload_base_64"): Likewise.
6519         ("*movsi_larl"): New insn.
6520         ("cjump", "icjump"): Use long branches on zSeries machines.
6521         ("jump"): Likewise.
6522         ("call"): Use BRASL on zSeries machines.
6523         ("call_value", "call_value_tls"): Likewise.
6524         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
6525         and replace by ...
6526         ("*bras", "*brasl", "*basr") ... these new insns.
6527         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
6528         "bas_31_r"): Remove and replace by ...
6529         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
6530         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
6531         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
6532         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
6533         ("*return_si", "*return_di"): Remove and replace by ...
6534         ("*return"): ... this new insn.
6535         ("rotlsi3"): Allow on zSeries machines.
6536
6537         * config/s390/s390.c (legitimize_reload_constant_p): Use
6538         LL/LH type instructions in z/Architecture mode.
6539         * config/s390/s390.md ("*movsi_lli"): Likewise.
6540         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
6541         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
6542         ("*extendqisi2"): Use LB in z/Architecture mode.
6543         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
6544         z/Architecture mode.
6545         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
6546         Likewise.
6547
6548         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
6549         and 31-bit mode.
6550         ("ptr_extend"): Allow only in 64-bit mode.
6551
6552 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
6553
6554         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
6555         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
6556         definitions.
6557         (main): Only use standard_startfile_prefix if native.
6558         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
6559
6560 2003-08-27  Per Bothner  <pbothner@apple.com>
6561
6562         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
6563         test fails following my 08-21 change, and it seems unnecessary anyway.
6564         (cpp_error):  Likewise.
6565
6566 2003-08-27  Jason Merrill  <jason@redhat.com>
6567
6568         * real.c (do_multiply): Initialize with memset.
6569
6570 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6571
6572         * gcov.c (typedef struct arc_info): New field cs_count.
6573         (accumulate_line_counts): Find cycles correctly.
6574
6575 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
6576
6577         * config/s390/s390.c (struct machine_function): Remove member
6578         literal_pool_label.
6579         (s390_optimize_prolog): Replace TEMP_REG argument with
6580         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
6581         (general_s_operand): Accept all immediates before reload if
6582         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
6583         references.
6584         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
6585         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
6586         (s390_alloc_pool): New function.
6587         (s390_new_pool): Call it.
6588         (s390_dump_pool): Add REMOTE_LABEL argument.
6589         (s390_chunkify_start): Add BASE_REG argument.  Do not check
6590         get_pool_size ().
6591         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
6592         s390_dump_pool call.
6593         (s390_pool_count, s390_nr_constants): Remove.
6594         (s390_output_constant_pool): Remove.
6595         (s390_mainpool_start): New function.
6596         (s390_mainpool_finish): New function.
6597         (s390_mainpool_cancel): New function.
6598         (s390_reorg): Implement main literal pool handling.
6599         (s390_emit_prologue): Emit main_pool placeholder instead of
6600         literal_pool_31 / literal_pool_64 insns.
6601         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
6602         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
6603         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
6604         ("main_base_31_small", "main_base_31_large"): New insns.
6605         ("main_base_64",  "main_pool"): New insns.
6606         ("literal_pool_31", "literal_pool_64"): Remove.
6607
6608 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
6609
6610         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
6611         fixinc.ptx.
6612         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
6613         Prettify a little.
6614         * fixinc/fixincl.x: Regenerate.
6615
6616 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
6617
6618         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
6619         (L_ieee754_dp): New.  Include ieee754-df.S.
6620         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
6621         and compilation in apcs-26 mode.
6622         * arm/ieee754-df.S: Likewise.
6623         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
6624         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
6625
6626 2003-08-27  Nicolas Pitre  <nico@cam.org>
6627
6628         * arm/ieee754-sf.S: New.
6629         * arm/ieee754-df.S: New.
6630
6631 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
6632
6633         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
6634         and restore it if returning NULL.
6635
6636 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
6637
6638         * calls.c (initialize_argument_information): If an argument has no
6639         stack space associated with it, and BLOCK_REG_PADDING is defined,
6640         use it to decide at which end the argument should be padded.
6641         * function.c (assign_parms): Allocate BLKmode stack slots.
6642         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
6643         (mips_pad_reg_upward): Declare.
6644         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
6645         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
6646         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
6647         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
6648         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
6649         (mips_expand_call): Remove code for generating structure shifts.
6650         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
6651         types unless using the EABI.
6652         (function_arg_advance): Don't generate shift instructions.
6653         (function_arg): Don't return them.  Don't short-circuit the
6654         check for double structure chunks for DFmode arguments.
6655         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
6656         (mips_expand_prologue): Remove code to emit structure shifts.
6657         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
6658         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
6659         comments to say that only structure returns are a problem.
6660
6661 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6662
6663         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
6664         Fix to match produced versions.
6665         * fixinc/inclhack.def (longlong_t): New disabled test, ported
6666         from fixinc.svr4.
6667         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
6668         from fixinc.ptx.
6669         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
6670         ported from fixinc.ptx.
6671
6672 2003-08-26  Per Bothner  <pbothner@apple.com>
6673
6674         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
6675         (cpp_error_with_line):  Use fileline for appropriate parameter.
6676         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
6677         (struct cpp_reader):  Likewise for fields line and directive_line.
6678         (_cpp_begin_message):  Use fileline for appropriate parameter.
6679         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
6680         cpp_error):  Use fileline for appropriate parameters and variables.
6681         (print_location):  New local lin, since it is not a fileline.
6682
6683 2003-08-26  Roger Sayle  <roger@eyesopen.com>
6684
6685         PR middle-end/12002
6686         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
6687         (FLOAT_TYPE_P): Define in terms of these two new macros.
6688         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
6689         for complex floating point types.
6690
6691 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
6692
6693         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
6694         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
6695         s390_output_pool_entry.
6696
6697 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
6698
6699         * fixinc/inclhack.def (svr4_preproc_lint_on,
6700         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
6701         fixes, ported from fixinc.svr4.
6702
6703 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
6704
6705         * doc/install.texi (Prerequisites): Mention GNU make requirement.
6706
6707         * Makefile.in (AR_FOR_TARGET): Export it.
6708         (AR_CREATE_FOR_TARGET): Likewise.
6709         (AR_FLAGS_FOR_TARGET): Likewise.
6710         (AR_EXTRACT_FOR_TARGET): Likewise.
6711         (AWK): Likewise.
6712         (BUILD_PREFIX): Likewise.
6713         (BUILD_PREFIX_1): Likewise.
6714         (DESTDIR): Likewise.
6715         (GCC_FOR_TARGET): Likewise.
6716         (INCLUDES): Likewise.
6717         (INSTALL_DATA): Likewise.
6718         (LIB1ASMSRC): Likewise.
6719         (LIBGCC2_CFLAGS): Likewise.
6720         (MACHMODE_H): Likewise.
6721         (NM_FOR_TARGET): Likewise.
6722         (RANLIB_FOR_TARGET): Likewise.
6723         (libsubdir): Likewise.
6724         (slibdir): Likewise.
6725         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
6726         exporting.
6727         (libgcc.a): Don't pass them here.
6728         (stmp-multilib): Or here.
6729         (install-libgcc): Or here.
6730         (install-multilib): Or here.
6731         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
6732         (stage1_build): Or here.
6733
6734 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
6735
6736         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
6737         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
6738
6739 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
6740
6741         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
6742         "*fmaddsf", "*fmsubsf"): New insns.
6743
6744 2003-08-26  Roger Sayle  <roger@eyesopen.com>
6745
6746         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
6747         (C1*C2)/X when unsafe math optimizations are allowed.
6748         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
6749         math optimizations.  Minor code clean-ups.  Recursively call
6750         fold when constructing sub-expressions.
6751
6752 2003-08-26  Roger Sayle  <roger@eyesopen.com>
6753
6754         * builtins.c (fold_builtin_bitop): New function to perform constant
6755         folding of ffs, clz, ctz, popcount and parity builtin functions
6756         and their long and long long variants (such as ffsl and ffsll).
6757         (fold_builtin): fold_builtin_bitop when appropriate.
6758         * simplify-rtx.c (simplify_unary_operation): Honor both
6759         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
6760         evaluating clz and ctz at compile-time, for operands wider
6761         than HOST_WIDE_INT.
6762
6763 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
6764
6765         * builtins.c (build_function_call_expr): Don't set
6766         TREE_SIDE_EFFECTS here.
6767         * expr.c (emit_block_move_via_libcall): Likewise.
6768         (clear_storage_via_libcall): Likewise.
6769         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
6770         CALL_EXPRs.
6771
6772         * gcse.c (is_too_expensive): New function.
6773         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
6774
6775 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
6776
6777         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
6778         commented-out logic to use DCE threads (if present), add
6779         support for POSIX threads.
6780         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
6781         #defines for -pthread.  Add -lpthread to LIB_SPEC when
6782         -pthread.  In both cases take -mt as a synonym for -pthread
6783         for acc compatibility.
6784         Define GTHREAD_USE_WEAK to 0.
6785         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
6786         Remove old logic for DCE threads from LIB_SPEC.
6787         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
6788
6789 2003-08-25  Roger Sayle  <roger@eyesopen.com>
6790
6791         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
6792         return 0 for invalid argument types.  Instead drop through to a
6793         call of expand_call at the bottom of function.  If op is SQRT,
6794         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
6795
6796 2003-08-25  Richard Henderson  <rth@redhat.com>
6797
6798         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
6799         result when op0 is SImode.
6800
6801 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
6802
6803         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
6804         from fixinc.svr4.
6805         * fixinc/fixincl.x: Regenerate.
6806         * fixinc/tests/base/sys/signal.h: Regenerate.
6807
6808 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
6809
6810         * combine.c (simplify_comparison): Re-enable widening of comparisons
6811         with non-paradoxical subregs of non-REG expressions.
6812
6813 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
6814
6815         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
6816
6817 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
6818
6819         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
6820
6821 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6822
6823         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
6824         * c-pretty-print.h (c_pretty_printer): Now typedef to the
6825         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
6826         (struct c_pretty_print_info): Document.  Add new fields.
6827         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
6828         (pp_direct_abstract_declarator): New macro.
6829         (pp_ptr_operator): Likewise.
6830         (pp_simple_type_specifier): Likewise.
6831         (pp_expression): Likewise.
6832         (pp_parameter_list): Rename from pp_parameter_declaration.
6833         * c-pretty-print.c (pp_c_whitespace): Now a function.
6834         (pp_c_left_paren): Likewise.
6835         (pp_c_right_paren): Likewise.
6836         (pp_c_dot): Likewise.
6837         (pp_c_ampersand): Likewise.
6838         (pp_c_arrow): Likewise.
6839         (pp_c_semicolon): Likewise.
6840         (pp_c_type_cast): New function.
6841         (pp_c_space_for_pointer_operator): Likewise.
6842         (pp_c_call_argument_list): Likewise.
6843         (pp_c_cv_qualifier): Adjust prototype.
6844         (pp_c_type_qualifier_list): Likewise.
6845         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
6846         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
6847         Adjust to follow standard grammar.
6848         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
6849         REFERENCE_TYPE.  Tidy.
6850         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
6851         (pp_c_parameter_declaration): Remove.
6852         (pp_c_abstract_declarator): Adjust prototype.
6853         (pp_c_direct_abstract_declarator): Likewise.
6854         (pp_c_type_id): Likewise.
6855         (pp_c_storage_class_specifier): Likewise.
6856         (pp_c_function_specifier): Likewise.
6857         (pp_c_declaration_specifiers): Likewise.
6858         (pp_c_direct_declarator): Likewise.
6859         (pp_c_declarator): Likewise.
6860         (pp_c_declarator): Likewise.
6861         (pp_c_declaration): Likewise.
6862         (pp_c_attributes): Likewise.  Tidy.
6863         (pp_c_function_definition): Adjust prototype.
6864         (pp_c_char): Likewise.
6865         (pp_c_string_literal): Likewise.
6866         (pp_c_integer_constant): Likewise.
6867         (pp_c_character_constant): Likewise.
6868         (pp_c_bool_constant): Likewise.
6869         (pp_c_enumeration_constant): Likewise.
6870         (pp_c_floating_constant): Likewise.
6871         (pp_c_constant): Likewise.
6872         (pp_c_identifier): Likewise.
6873         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
6874         (pp_c_initializer): Adjust prototype.
6875         (pp_c_init_declarator): Likewise.
6876         (pp_c_initializer_list): Likewise.
6877         (pp_c_id_expression): Likewise.
6878         (pp_c_postfix_expression): Likewise.
6879         (pp_c_expression_list): Likewise.
6880         (pp_c_unary_expression): Likewise.
6881         (pp_c_cast_expression): Likewise.
6882         (pp_c_multiplicative_expression): Likewise.
6883         (pp_c_additive_expression): Likewise.
6884         (pp_c_shift_expression): Likewise.
6885         (pp_c_relational_expression): Likewise.
6886         (pp_c_equality_expression): Likewise.
6887         (pp_c_and_expression): Likewise.
6888         (pp_c_exclusive_or_expression): Likewise.
6889         (pp_c_inclusive_or_expression): Likewise.
6890         (pp_c_logical_and_expression): Likewise.
6891         (pp_c_logical_or_expression): Likewise.
6892         (pp_c_conditional_expression): Likewise.
6893         (pp_c_assignment_expression): Likewise.
6894         (pp_c_expression): Likewise.  Tidy.
6895         (pp_c_statement): Likewise.  Document.
6896         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
6897
6898         * c-lang.c (c_initialize_diagnostics): Update.
6899         * c-common.h (strip_pointer_operator): Declare.
6900         * c-common.c (strip_pointer_operator): Define.
6901
6902 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
6903
6904         PR c++/8795
6905         * tree.h (build_method_type_directly): Declare.
6906         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
6907         (vector_size_helper): Likewise.
6908         * tree.c (build_method_type_directly): New function.
6909         (build_method_type): Use it.
6910
6911 2003-08-24  Richard Henderson  <rth@redhat.com>
6912
6913         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
6914         for 16-byte vector modes if sse not enabled; warn for abi change.
6915         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
6916
6917 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
6918
6919         * rtlanal.c (may_trap_p): Simplify an integer comparison.
6920
6921 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
6922
6923         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
6924         comment.  Enable for DYNIX/ptx systems (when they switch to
6925         regular fixincludes).
6926         * fixinc/fixincl.x: Regenerate.
6927
6928 2003-08-23  Jason Eckhardt  <jle@rice.edu>
6929
6930         * config/i860/t-i860: New.
6931         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
6932
6933 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
6934
6935         * c-decl.c (pushdecl): Only put decls which finish_struct will do
6936         something about onto incomplete chain.
6937         (finish_struct): If not removing type from incomplete
6938         list, update prev.
6939
6940 2003-08-20  Jan Hubicka  <jh@suse.cz>
6941
6942         PR target/11369
6943         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
6944
6945         PR target/11031
6946         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
6947         const_0_to_15_operand, const_0_to_255_operand): New predicates.
6948         * i386.h (PREDICATE_CODES): Add these.
6949         * i386.c (pinsrw and pextrw patterns): Use them.
6950
6951         PR target/10984
6952         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
6953
6954         PR target/8869
6955         * expr.c (convert_modes): Deal properly with integer to vector
6956         constant conversion.
6957
6958         PR target/8871
6959         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
6960
6961 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
6962
6963         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
6964         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
6965         ("*movhi"): ... this.
6966         ("movqi", "*movqi"): Likewise.
6967         ("movqi_64"): Remove.
6968         ("*zero_extendhisi2_31"): Change predicate to s_operand.
6969
6970 2003-08-23  Dale Johannesen  <dalej@apple.com>
6971         * calls.c (emit_library_call_value_1): Fix obvious errors in
6972         arguments to emit_group_store.
6973
6974 2003-08-23  Jason Eckhardt  <jle@rice.edu>
6975
6976         * calls.c (emit_library_call_value_1): Remove code related
6977         to LIBGCC_NEEDS_DOUBLE.
6978         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
6979         * doc/tm.texi: Likewise.
6980         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
6981
6982 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
6983
6984         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
6985
6986 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
6987
6988         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
6989         as well.  Put memory references in the varargs alias set.
6990         (mips_expand_prologue): Remove varargs handling from here.
6991
6992 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
6993
6994         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
6995         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
6996         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
6997         for function pointer calls.
6998         * config/s390/s390.md ("*negdi2_31"): Likewise.
6999
7000 2003-08-23  Roger Sayle  <roger@eyesopen.com>
7001
7002         * combine.c (apply_distributive_law): Correct comment.
7003
7004 2003-08-23  Jason Eckhardt  <jle@rice.edu>
7005
7006         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
7007
7008 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7009
7010         * config/i860/i860.c (i860_build_va_list): Create the va_decl
7011         declaration.  Document the va_list structure.
7012         (i860_va_start): Initialize the va_list structure.
7013         (i860_va_arg): Rewrite completely.
7014         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
7015         * config/i860/varargs.asm: Do not allocate or initialize
7016         a va_list.  Return the address of the register save area.
7017
7018 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7019
7020         * config/iq2000/iq2000.c: Fix comment typos.
7021         * config/iq2000/iq2000.md: Likewise.
7022
7023 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7024
7025         * config/iq2000/iq2000.c: Follow spelling conventions.
7026         * config/iq2000/iq2000.h: Likewise.
7027         * config/mn10300/mn10300.c: Likewise.
7028
7029 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7030
7031         * config/i860/i860.c (output_move_double): Don't set latehalf
7032         to zero for CONST_INT (since it could be, e.g., -1).
7033
7034         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
7035         (MODSI3_LIBCALL): ...with this one.
7036         (UREMSI3_LIBCALL): Replace this macro...
7037         (UMODSI3_LIBCALL): ...with this one.
7038
7039 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7040
7041         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
7042         (output_delayed_branch): Remove prototype.
7043         (single_insn_src_p): Remove prototype.
7044         * config/i860/i860.c (single_insn_src_p): Remove function.
7045         (output_delayed_branch): Remove function.
7046         (output_delay_insn): Remove function.
7047         (va_start): Remove unconditional test and dead code, re-format.
7048         Fix coding style and spelling problems in various comments.
7049         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
7050         (blockage pattern): ...and use it here.
7051         (all define_peephole patterns related to delayed branches): Remove.
7052         Fix coding style and spelling problems in various comments.
7053
7054 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7055
7056         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
7057         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
7058         Convert all function definitions from traditional to ISO C90 syntax.
7059         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
7060         with 'GCC'.  Remove all uses of the PARAMS macro.
7061         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
7062         * config/i860/i860.md: Likewise.
7063         * config/i860/sysv4.h: Likewise.
7064         * config/i860/varargs.asm: Likewise.
7065
7066 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7067
7068         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
7069         argument.
7070         (tdesc_section): Add prototype.
7071         Update copyright dates.
7072         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
7073         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
7074         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
7075         (targetm): Likewise.
7076         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
7077         for '%d' where necessary.
7078         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
7079         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
7080         by UNITS_PER_WORD when referencing (likewise for .floats).
7081         (I860_SVR4_VARARGS): Rename...
7082         (I860_SVR4_VA_LIST): ...to this.
7083         Call build() with 't' rather than 'field'.
7084         (i860_rtx_costs): New function.
7085         (TARGET_RTX_COSTS): Define.
7086         (i860_internal_label): New function.
7087         (TARGET_ASM_INTERNAL_LABEL): Define.
7088         (i860_file_start): New function.
7089         Update copyright dates.
7090         * config/i860/i860.h (CPP_PREDEFINES): Remove.
7091         (TARGET_CPU_CPP_BUILTINS): Define.
7092         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
7093         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
7094         (ASM_FILE_START): Remove.
7095         (ASM_FILE_START_1): Remove.
7096         (ASM_GLOBALIZE_LABEL): Remove.
7097         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
7098         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
7099         with targetm.asm_out.internal_label.
7100         Update copyright dates.
7101         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
7102         (CPP_PREDEFINES): Remove.
7103         (TARGET_OS_CPP_BUILTINS): Define.
7104         (GLOBAL_ASM_OP): Define.
7105         (ASM_FILE_START): Remove.
7106         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
7107         (TARGET_ASM_FILE_START): Define.
7108         Update copyright dates.
7109
7110 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7111
7112         * gcc/config.gcc (i860-*-sysv4*): Add target.
7113         * config/i860/i860-protos.h: New.
7114         * config/i860/i860.c: New.
7115         * config/i860/i860.h: New.
7116         * config/i860/i860.md: New.
7117         * config/i860/sysv4.h: New.
7118         * config/i860/varargs.asm: New.
7119         * config/i860/x-sysv4: New.
7120
7121 2003-08-22  Jason Eckhardt  <jle@rice.edu>
7122
7123         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
7124         Remove all uses of PARAMS macro.
7125         Convert all function definitions to ISO C90 syntax.
7126         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
7127         * config/pa/fptr.c: Likewise.
7128         * config/pa/lib2funcs.asm: Likewise.
7129         * config/pa/long_double.h: Likewise.
7130         * config/pa/milli64.S: Likewise.
7131         * config/pa/pa-64.h: Likewise.
7132         * config/pa/pa-hpux.h: Likewise.
7133         * config/pa/pa-hpux10.h: Likewise.
7134         * config/pa/pa-hpux11.h: Likewise.
7135         * config/pa/pa-linux.h: Likewise.
7136         * config/pa/pa-modes.def: Likewise.
7137         * config/pa/pa-osf.h: Likewise.
7138         * config/pa/pa-pro-end.h: Likewise.
7139         * config/pa/pa.md: Likewise.
7140         * config/pa/pa32-linux.h: Likewise.
7141         * config/pa/pa64-linux.h: Likewise.
7142         * config/pa/pa64-hpux.h: Likewise.
7143         * config/pa/pa64-regs.h: Likewise.
7144         * config/pa/quadlib.c: Likewise.
7145         * config/pa/rtems.h: Likewise.
7146         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
7147         all uses of the PARAMS macro.
7148         * config/pa/pa.h: Likewise.
7149         * config/pa/som.h: Likewise.
7150
7151         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
7152         Remove all uses of PARAMS macro.
7153         Convert all function definitions to ISO C90 syntax.
7154         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
7155         Remove all uses of PARAMS macro.
7156         * config/iq2000.h: Remove all uses of PARAMS macro.
7157         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
7158
7159 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
7160
7161         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
7162         * config/s390/s390.c (gen_consttable): Remove.
7163         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
7164         (s390_output_pool_entry): New function.
7165         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
7166         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
7167         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
7168         (UNSPECV_POOL_ENTRY): ... this new constant.
7169         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
7170         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
7171         ("*pool_entry"): ... and replace by this new insn.
7172         ("literal_pool_31"): Do not emit anchor label if pool empty.
7173
7174         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
7175         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
7176         (s390_fixup_clobbered_return_reg): Remove.
7177         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
7178         (s390_return_addr_rtx): Always retrieve return address from save area
7179         slot.  Use save_return_addr_p to force slot to be filled.
7180         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
7181
7182 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
7183
7184         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
7185         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
7186         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
7187         around SB-1 errata if TARGET_FIX_SB1 is set.
7188         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
7189         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
7190
7191 2003-08-22  Roger Sayle  <roger@eyesopen.com>
7192
7193         * hashtable.c (ht_expand): Avoid calculating rehash for the common
7194         case that the first probe hits an empty hash table slot.
7195
7196 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
7197
7198         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
7199
7200 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
7201
7202         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
7203         (ptr_extend_plus_imm): ... this.
7204         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
7205         optimization in C++.
7206         (ia64_output_mi_thunk): Support ILP32 mode.
7207
7208 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
7209
7210         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
7211         function.
7212         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
7213
7214 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7215
7216         * config/i386/i386.c (const_int_1_operand): Simplify an
7217         integer comparison.
7218
7219 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
7220
7221         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
7222         * config/rs6000/ppc64-fp.c: Likewise.
7223
7224 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7225
7226         * cfgcleanup.c: Fix comment typos.
7227         * emit-rtl.c: Likewise.
7228         * optabs.c: Likewise.
7229         * ra-build.c: Likewise.
7230         * rtlanal.c: Likewise.
7231         * tree.h: Likewise.
7232
7233 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7234
7235         * c-decl.c: Fix comment formatting.
7236         * cfgrtl.c: Likewise.
7237         * combine.c: Likewise.
7238         * convert.c: Likewise.
7239         * dominance.c: Likewise.
7240         * dwarf2out.c: Likewise.
7241         * dwarfout.c: Likewise.
7242         * expmed.c: Likewise.
7243         * fold-const.c: Likewise.
7244         * gcov.c: Likewise.
7245         * genattrtab.c: Likewise.
7246         * ggc-common.c: Likewise.
7247         * mips-tfile.c: Likewise.
7248         * regmove.c: Likewise.
7249
7250 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
7251
7252         * builtin-attrs.def: Fix comment formatting.
7253         * c-pretty-print.c: Likewise.
7254         * diagnostic.h: Likewise.
7255         * langhooks.h: Likewise.
7256         * recog.c: Likewise.
7257         * simplify-rtx.c: Likewise.
7258         * tree.def: Likewise.
7259
7260 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
7261
7262         * config/m68k/m68k-protos.h: Convert to ISO C90.
7263         * config/m68k/m68k.c: Likewise.
7264
7265 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
7266             Paul Dale  <pauli@snapgear.com>
7267             Peter Barada <peter@baradas.org>
7268
7269         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
7270         ColdFire cores.
7271
7272 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
7273
7274         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
7275         * config.gcc (*-*-openbsd): Don't set tm_file.
7276         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
7277         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
7278         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
7279         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
7280         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
7281         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
7282         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
7283         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
7284         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
7285         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
7286         xscale-*-coff): Use explicit and complete lists of target headers
7287         to include.  Move definitions to tm_defines where appropriate.
7288         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
7289         not-yet-contributed configuration.
7290
7291         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
7292         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
7293         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
7294         * config/i386/nto.h, config/iq2000/iq2000.h,
7295         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
7296         * config/m68k/linux.h, config/m68k/m68k-aout.h
7297         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
7298         * config/m68k/netbsd.h, config/m68k/openbsd.h
7299         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
7300         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
7301         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
7302         Remove includes of other target config headers, and
7303         definitions of macros moved to tm_defines lists.  Add #undefs
7304         where now necessary to prevent redefinition warnings.
7305
7306         * config/h8300/coff.h: New file split out of...
7307         * config/h8300/elf.h: ...here.
7308         * config/m68k/hp320base.h: New file split out of...
7309         * config/m68k/hp320.h: ...here.
7310         * config/rs6000/lynxbase.h: New file split out of...
7311         * config/rs6000/lynx.h: ...here.
7312
7313         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
7314         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
7315
7316         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
7317         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
7318         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
7319         Remove unnecessary #ifndef.
7320         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
7321         [under IN_LIBGCC2] with config/.
7322
7323 2003-08-21  Per Bothner  <pbothner@apple.com>
7324
7325         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
7326         to cpp_push_buffer.
7327         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
7328         by return_at_eof check.  Always call _cpp_pop_buffer at end.
7329
7330 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
7331
7332         PR target/11805
7333         * config/h8300/h8300.md (two anonymous patterns): Remove.
7334
7335 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
7336
7337         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
7338         * config/mips/mips.c (function_arg_pass_by_reference): Never return
7339         true for n32 & n64.
7340
7341 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
7342
7343         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
7344         and similarly in (A | C) == D where C & ~D != 0.
7345
7346 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
7347
7348         PR 8180
7349         * configure.in: When testing with_libs and with_headers, treat
7350         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
7351         * configure: Regenerate.
7352
7353 2003-08-20  Peter Barada <peter@baradas.org>
7354
7355         * longlong.h (umul_ppmm): Add ColdFire support.
7356
7357 2003-08-20  Peter Barada <peter@baradas.org>
7358             Bernardo Innocenti  <bernie@develer.com>
7359
7360         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
7361         * config/m68k/m68k.h: Likewise.
7362         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
7363         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
7364         * config/m68k/linux.h: Likewise.
7365         * config/m68k/m68k.c: Likewise.
7366         * config/m68k/m68k.md: Likewise.
7367         * config/m68k/m68kelf.h: Likewise.
7368         * config/m68k/netbsd-elf.h: Likewise.
7369         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
7370
7371 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
7372
7373         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
7374         * config/m68k/m68k.md: Likewise.
7375
7376 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
7377
7378         PR java/11996
7379         Revert this change:
7380         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
7381         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
7382         types with precisions other than those given by native machine
7383         modes.
7384
7385 2003-08-20  Gunther Nikl  <gni@gecko.de>
7386
7387         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
7388         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
7389         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
7390         * config/m68k/m68k.md (anonymous define_insn): Likewise
7391         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
7392         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
7393         code selected by NO_ASM_FMOVECR
7394
7395 2003-08-20  Gunther Nikl  <gni@gecko.de>
7396
7397         * config/m68k/m68k.c (output_move_const_into_data_reg,
7398         output_move_himode): unify MOTOROLA/MIT handling of moveq
7399         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
7400         Likewise
7401
7402 2003-08-20  Gunther Nikl  <gni@gecko.de>
7403
7404         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
7405         label name
7406         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
7407         HOST_WIDE_INT_PRINT_DEC with %wd
7408
7409 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
7410
7411         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
7412         redefine warning.
7413
7414 2003-08-20  Roger Sayle  <roger@eyesopen.com>
7415
7416         PR middle-end/11984
7417         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
7418         operands before calling tree_int_cst_lt when performing associative
7419         transformations.
7420
7421 2003-08-20  Jason Merrill  <jason@redhat.com>
7422
7423         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
7424         (EXPR_CHECK): Don't check for 'r' or 's' if we're
7425         checking IS_EXPR_CODE_CLASS.
7426         * calls.c (calls_function_1): Likewise.
7427         * fold-const.c (fold): Likewise.
7428         * tree.c (iterative_hash_expr): Likewise.
7429         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
7430
7431 2003-08-20  Gunther Nikl  <gni@gecko.de>
7432
7433         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
7434         depending on MOTOROLA_BSR
7435         * config/m68k/m68k.md (anonymous define_insn): Likewise
7436
7437 2003-08-20  Jason Merrill  <jason@redhat.com>
7438
7439         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
7440         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
7441         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
7442         * dojump.c (do_jump): Likewise.
7443         * fold-const.c (operand_equal_p, fold): Likewise.
7444         (tree_expr_nonnegative_p): Likewise.
7445
7446         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
7447         TYPE_USER_ALIGN for FIELD_DECLs.
7448
7449         * attribs.c (decl_attributes): Rebuild the function pointer type after
7450         changing the target type.
7451         * tree.c (get_qualified_type): Also check that the attributes match.
7452
7453 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
7454
7455         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
7456         * objc/config-lang.in (stagestuff): ... to here.
7457
7458 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
7459
7460         PR c++/11946
7461         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
7462         NOP_EXPR) when necessary.
7463         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
7464         types with precisions other than those given by native machine
7465         modes.
7466
7467 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
7468
7469         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
7470         because some macro is defined.
7471
7472         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
7473         options.
7474         * config/i386/darwin.h (ASM_SPEC): New.
7475         (SUBTARGET_EXTRA_SPECS): New.
7476         * config/rs6000/darwin.h (ASM_SPEC): New.
7477         (SUBTARGET_EXTRA_SPECS): New.
7478         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
7479         a cross-compiler between two different processors on Darwin.
7480         * configure: Regenerate.
7481
7482 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
7483
7484         * builtins.c: Fix comment typos.
7485         * c-common.c: Likewise.
7486         * c-decl.c: Likewise.
7487         * c-pretty-print.c: Likewise.
7488         * cfgbuild.c: Likewise.
7489         * cfglayout.c: Likewise.
7490         * cfgloopanal.c: Likewise.
7491         * cgraphunit.c: Likewise.
7492         * cppfiles.c: Likewise.
7493         * dwarfout.c: Likewise.
7494         * expr.c: Likewise.
7495         * fold-const.c: Likewise.
7496         * gcse.c: Likewise.
7497         * ggc-page.c: Likewise.
7498         * haifa-sched.c: Likewise.
7499         * pretty-print.c: Likewise.
7500         * tree.c: Likewise.
7501         * tree.h: Likewise.
7502         * value-prof.c: Likewise.
7503
7504 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
7505
7506         * c-decl.c: Follow spelling conventions.
7507         * cppfiles.c: Likewise.
7508
7509 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
7510
7511         * c-common.c: Fix comment formatting.
7512         * c-common.h: Likewise.
7513         * c-decl.c: Likewise.
7514         * cppinit.c: Likewise.
7515         * cpplib.h: Likewise.
7516         * emit-rtl.c: Likewise.
7517         * input.h: Likewise.
7518         * line-map.h: Likewise.
7519         * opts.c: Likewise.
7520         * opts.h: Likewise.
7521         * simplify-rtx.c: Likewise.
7522
7523 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
7524
7525         * unwind-c.c: Add libgcc-style exception.
7526         * unwind-dw2.c: Likewise.
7527         * unwind-pe.h: Likewise.
7528         * unwind-sjlj.c: Likewise.
7529         * unwind.inc: Likewise.
7530
7531 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
7532
7533         PR c/5582 PR c++/10538
7534         * langhooks-def.h (lhd_decl_uninit): Declare.
7535         (LANG_HOOKS_DECL_UNINIT): New macro.
7536         (LANG_HOOKS_INITIALIZER): Adjust.
7537         * langhooks.h (struct lang_hooks): Add new field
7538         decl_uninit.
7539         * langhooks.c (lhd_decl_uninit): Define.
7540         * c-common.c (c_decl_uninit_1): New function.
7541         (c_decl_uninit): New function.
7542         (warn_init_self): Define.
7543         * c-common.h (c_decl_uninit): Declare.
7544         (warn_init_self): Declare.
7545         * c.opt: Introduce -Winit-self.
7546         * c-opts.c (c_common_handle_options): Set warn_init_self.
7547         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
7548         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
7549         * function.c (uninitialized_vars_warning): Call the language hook.
7550         * doc/invoke.texi: Document -Winit-self.
7551
7552 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
7553
7554         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
7555         to use better predicates and constraints.  Define new
7556         instruction to handle "trap_if" with DI-mode arguments.
7557         (conditional_trap): FAIL if trap code is not 0.
7558
7559 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
7560
7561         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
7562         strstr with $pb to a strcompare with "<pic base>"
7563         (ix86_output_addr_diff_elt): Output the real pic base.
7564
7565 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7566
7567         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
7568         (LANG_HOOKS_INITIALIZER): Correct.
7569         * c-lang.c: Likewise.
7570
7571 2003-08-19  Jan Hubicka  <jh@suse.cz>
7572
7573         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
7574         (cgraph_varpool_mark_needed_node): Likewise.
7575         * cgraph.h (notice_global_symbol): Declare
7576         * varasm.c (notice_global_symbol): Break out from ...
7577         (assemble_start_function): ... here; update for variables.
7578         (assemble_variable): Use notice_global_symbol.
7579
7580 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
7581
7582         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
7583         expect SFmode and DFmode arguments to be passed in FPRs,
7584         regardless of the underlying type.
7585
7586 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
7587
7588         PR target/11924
7589         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
7590         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
7591
7592 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
7593
7594         PR c/11207
7595         * c-typeck.c (set_init_index): Check for negative index.
7596
7597 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
7598
7599         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
7600         call0 ABI.
7601         * config/xtensa/crtn.asm (_init, _fini): Likewise.
7602         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
7603         __umodsi3, __modsi3): Likewise.
7604         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
7605         $(INCLUDES).
7606
7607 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
7608
7609         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
7610
7611 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
7612
7613         * config/mips/mips.md: Quote C code in braces.  Remove use of
7614         fake const0_rtx operands.  Remove double backslashes.  Use \;.
7615         Remove workarounds for bogus warnings.
7616
7617 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
7618
7619         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
7620         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
7621         rather than TARGET_MIPS4300.
7622         (mulsf3_internal, mulsf3_r4300): Likewise.
7623
7624 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
7625
7626         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
7627
7628 2003-08-17  Roger Sayle  <roger@eyesopen.com>
7629
7630         * simplify-rtx.c (associative_constant_p): New function to test
7631         whether an RTX expression is an immediate constant.
7632         (simplify_associative_operation): New function to perform some
7633         reassociation optimizations of associative binary expressions.
7634         (simplify_binary_operation): Use simplify_associative_operation
7635         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
7636         Floating point expressions are only reassociated when unsafe
7637         math optimizations are permitted.
7638
7639 2003-08-17  Andreas Jaeger  <aj@suse.de>
7640
7641         * config/alpha/alpha.md: Remove usage of PARAMS.
7642
7643         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
7644         * config/i386/i386-interix.h: Likewise.
7645         * config/i386/winnt.c: Likewise.
7646         * config/i386/cygming.h: Likewise.
7647         * config/i386/cygwin2.c: Likewise.
7648         * config/darwin.c: Likewise.
7649         * config/darwin-c.c: Likewise.
7650         * config/darwin-protos.h: Likewise.
7651         * config/darwin.h: Likewise.
7652         * config/s390/s390-protos.h: Likewise.
7653         * config/s390/s390.c: Likewise.
7654         * config/ia64/ia64.c: Likewse
7655         * config/ia64/ia64-protos.h: Likewise.
7656         * config/ia64/ia64-c.c: Likewise.
7657
7658 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7659
7660         * config/sparc/sparc.c: Convert to ISO C.
7661
7662         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
7663         * config/sparc/sparc.c: Likewise.
7664
7665 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
7666
7667         PR c++/11512
7668         * stmt.c (expand_expr_stmt_value): Don't warn about any void
7669         typed expression.
7670
7671 2003-08-16  Jan Hubicka  <jh@suse.cz>
7672
7673         * i386.c (ix86_fntype_regparm): Rename from ...
7674         (ix86_function_regparm): ... this one; add fastcall and local
7675         functions.
7676         (ix86_function_ok_for_sibcall): Update.
7677         (ix86_return_pops_args): Likewise.
7678         (init_cumulative_args): Likewise.
7679         (x86_can_output_mi_thunk): Likewise.
7680         (function_arg): Fix formating.
7681         (x86_this_parameter): Fix fastcall.
7682         (x86_output_mi_thunk): Likewise.
7683
7684         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
7685         body as reachable; mark nested functions as needed too.
7686         (dump_cgraph): Do not output global.calls.
7687         * cgraph.h (cgraph_global_info): Kill.
7688         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
7689         (record_call_1): Speedup.
7690         (cgraph_analyze_function): Break out from ...; compute inlining
7691         parameters.
7692         (cgraph_finalize_compilation_unit): ... here.
7693         (cgraph_mark_inline): Kill computation of calls.
7694         (cgraph_decide_inlining): Do not compute most of initial values.
7695
7696 2003-08-14  Roger Sayle  <roger@eyesopen.com>
7697
7698         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
7699         to negate if either operand is easy to negate, if we don't care
7700         about sign-dependent rounding.
7701         (negate_expr): Make the logic to negate a REAL_CST explicit.
7702         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
7703         that's easy to negate, if we don't honor sign-dependent rounding.
7704         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
7705         negate, and the symmetric A * -B as -A * B if A is easy to negate.
7706         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
7707         -C/D if B and C are cheap to negate.  Add an explicit rule to
7708         optimize X/-1.0 as -X when we don't care about signaling NaNs.
7709
7710 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
7711
7712         * Makefile.in (tm_file): Rename tm_include_list.
7713         (tm_p_file): Rename tm_p_include_list.
7714         (build_xm_file): Rename build_xm_include_list.
7715         (host_xm_file): Rename host_xm_include_list.
7716         (xm_file): Rename xm_include_list.
7717         (xm_file_list): Add to be substituted.
7718         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
7719         Update to match.
7720         (bt-load.o): Add missing dependency on $(TM_H).
7721         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
7722         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
7723         build_xm_file, generate both *_file_list and *_include_list
7724         values from it.  (xm_file_list was formerly not being generated.)
7725         In *_include_list, prefix the names of all headers found in
7726         $(srcdir)/config with config/.  In each loop, consider only
7727         the special case files that can actually appear in that list.
7728         AC_SUBST all *_file_list and all *_include_list variables; do
7729         not AC_SUBST the plain *_file variables.
7730         * configure: Regenerate.
7731
7732 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7733
7734         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
7735
7736 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7737
7738         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
7739         direct calls.
7740         (attr_length_call): Include it here.  Improve length estimate for
7741         local calls.
7742         (output_call): Use targetm.binds_local_p.
7743
7744 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7745
7746         * builtins.c (CASE_MATHFN): New helper macro.
7747         (mathfn_built_in): Simplify and sort.
7748
7749         * protoize.c (substr): Delete, callers changed to `strstr'.
7750
7751 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
7752
7753         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
7754         * config/iq2000/xm-iq2000.h: Delete file.
7755
7756 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
7757
7758         * gengtype.c (walk_type): Process a subobject before processing
7759         the pointer that points to the subobject.
7760
7761 2003-08-13  Per Bothner  <pbothner@apple.com>
7762
7763         * regclass.c (init_reg_modes):  Make non-static.
7764         Rename to init_reg_modes_once per new naming convention.
7765         (init_regs):  Don't call init_reg_modes here.
7766         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
7767         * rtl.h (init_reg_modes_once):  New declaration.
7768         * toplev.c (backend_init):  Call init_regs after init_emit_once.
7769
7770 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
7771
7772         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
7773         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
7774
7775 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
7776
7777         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
7778         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
7779
7780 2003-08-13  Dale Johannesen  <dalej@apple.com>
7781
7782         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
7783         handling of decrement-and-branch farther than 32 bits.
7784
7785 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
7786
7787         * configure.in (make_compare_target): Move test to ...
7788         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
7789         * configure: Regenerate.
7790
7791 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
7792
7793         * config/mips/iris6.h: Convert to C90 prototypes.
7794         * config/mips/irix6-libc-compat.c: Likewise.
7795         * config/mips/mips-protos.h: Likewise.
7796         * config/mips/mips.c: Likewise.
7797
7798 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
7799
7800         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
7801         for selected machines.  Comment heavily.
7802         fixinc/fixincl.x: Rebuild.
7803         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
7804
7805 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
7806
7807         * config/mips/mips.h: Tweak various comments.
7808         * config/mips/mips.c: Likewise.
7809
7810 2003-08-11  James E Wilson  <wilson@tuliptree.org>
7811
7812         PR optimization/11319
7813         PR target/10021
7814         * alias.c (find_base_value, case REG): Return 0 not src if no base
7815         found.
7816
7817 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7818
7819         * gcse.c (gmalloc): Fix last change.
7820
7821 2003-08-11  Roger Sayle  <roger@eyesopen.com>
7822
7823         * simplify-rtx.c (simplify_binary_operation): Replace calls to
7824         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
7825         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
7826         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
7827
7828 2003-08-11  Roger Sayle  <roger@eyesopen.com>
7829
7830         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
7831         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
7832         typecode for an ABS_EXPR.
7833
7834         * doc/c-tree.texi: Document ABS_EXPR.
7835
7836 2003-08-11  Roger Sayle  <roger@eyesopen.com>
7837
7838         * fold-const.c (fold): Optimize any associative floating point
7839         operator with -funsafe-math-optimizations, not just MULT_EXPR.
7840
7841 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
7842
7843         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
7844         information in SHmedia case too.
7845         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
7846         Likewise.
7847         (__set_fpscr): Use an access via GOT for PIC case.
7848
7849 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
7850
7851         * configure.in (intermodule): Make switch test more portable.
7852         * configure: Regenerate.
7853
7854 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
7855
7856         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
7857         (restrap): Likewise.
7858
7859 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7860
7861         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
7862         (grealloc): Size argument is a size_t.
7863         (gcalloc): New function.  Use throughout in lieu of
7864         gmalloc/memset.
7865
7866         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
7867         xmalloc/memset.
7868         * config/ia64/ia64.c (ia64_reorg): Likewise.
7869         * conflict.c (conflict_graph_new): Likewise.
7870         * fixinc/fixincl.c (run_compiles): Likewise.
7871         * genattrtab.c (optimize_attrs): Likewise.
7872         * genrecog.c (new_decision): Likewise.
7873         * haifa-sched.c (schedule_block): Likewise.
7874         * hashtable.c (ht_create): Likewise.
7875
7876 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
7877
7878         * config/xtensa/lib2funcs.S: Fix whitespace.
7879         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
7880         syntax where appropriate.  Remove unnecessary backslash escapes.
7881         Reformat comments and fix some code formatting.
7882         (extendqisi2): Rearrange conditional.
7883         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
7884         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
7885         of fatal_insn.
7886
7887 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
7888
7889         * config/mips/mips.c: Various formatting fixes.
7890         (override_options): Resync -mtune handling with gas.
7891         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
7892         * config/mips/mips.h: More formatting fixes.
7893         (mips_abi): Move declaration.
7894         * config/mips/mips.md (exception_receiver): Add mode to
7895         unspec_volatile.
7896
7897 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
7898
7899         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
7900         evsplatfi here.
7901         (bdesc_1arg): Remove evsplati and evsplatfi.
7902
7903 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
7904
7905         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
7906         into account.
7907
7908 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7909
7910         * builtins.c (expand_builtin_strcat): Optimize constant strings.
7911
7912 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7913
7914         * pretty-print.c (pp_base_indent): Rename from pp_indent.
7915         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
7916         (struct c_pretty_print_info): Add more fields.
7917         (pp_c_left_paren): Move to c-pretty-print.c.
7918         (pp_c_right_paren): Likewise.
7919         (pp_c_left_brace): Likewise.
7920         (pp_c_right_brace): Likewise.
7921         (pp_c_left_bracket): Likewise.
7922         (pp_c_right_bracket): Likewise.
7923         (pp_c_declarator): Declare.
7924         (pp_c_direct_declarator): Likewise.
7925         (pp_c_specifier_qualifier_list): Likewise.
7926         (pp_c_type_id): Likewise.
7927         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
7928         (pp_c_type_qualifier_list): New.
7929         (pp_c_pointer): Likewise.
7930         (pp_c_parameter_type_list): Likewise.
7931         (pp_c_function_definition): Likewise.
7932         (pp_c_id_expression): Likewise.
7933         (pp_c_simple_type_specifier): Tidy.
7934         (pp_c_unary_expression): Likewise.
7935         (pp_c_expression): Likewise.
7936         (pp_c_pretty_printer_init): Likewise.
7937         (pp_c_specifier_qualifier_list): Rework..
7938         (pp_c_abstract_declarator): Likewise.
7939         (pp_c_postfix_expression): Likewise.
7940         (pp_c_primary_expression): Likewise.
7941         (pp_c_cast_expression): Likewise.
7942         (pp_c_direct_abstract_declarator): Likewise.
7943         (pp_c_storage_class_specifier): Likewise.
7944         (pp_c_function_specifier): Likewise.
7945         (pp_c_declaration_specifiers): Likewise.
7946         (pp_c_direct_declarator): Likewise.
7947         (pp_c_declarator): Likewise.
7948         (pp_c_declaration): Likewise.
7949         (pp_c_statement): Likewise.
7950         (pp_c_integer_constant): Rename from pp_c_integer_literal.
7951         (pp_c_character_constant): Rename from pp_c_character_literal.
7952         (pp_c_bool_constant): Rename from pp_c_bool_literal.
7953         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
7954         (pp_c_floating_constant): Rename from pp_c_real_literal.
7955         (pp_c_constant): Rename from pp_c_literal.
7956         * c-lang.c: Include diagnostic.h and c-pretty-print.h
7957         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
7958         (c_initialize_diagnostics): New.
7959         * Makefile.in (c-lang.o): Update dependency.
7960
7961 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
7962
7963         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
7964
7965 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
7966
7967         * config/mips/mips.c (mips_no_mips16_string): Remove.
7968         (override_options): Don't handle -mips16 as part of -mipsN.
7969         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
7970         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
7971         (TARGET_OPTIONS): Remove -mno-mips16.
7972
7973 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
7974
7975         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
7976         (coprocessor2_operand): Likewise.
7977         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
7978         (lookup_name): Remove declaration.
7979         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
7980         (mips16, mips_abicalls): Remove.
7981         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
7982         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
7983         (coprocessor_operand, coprocessor2_operand): Remove.
7984         (override_options): Don't set mips16 or mips_abicalls.
7985         (print_operand): Don't expect SIGN_EXTEND operands.
7986         (mips_secondary_reload_class): Likewise.
7987         (mips_output_conditional_branch): Remove disabled long-branch code.
7988         * config/mips/mips.h (call_used_regs): Remove declaration.
7989         (may_call_alloca): Likewise.
7990         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
7991         (mips_abicalls, mips16): Remove declarations.
7992         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
7993         (CC1_SPEC): Remove outdated comment.
7994         (MIPS_VERSION, MACHINE_TYPE): Remove.
7995         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
7996         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
7997         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
7998         (PUSH_ROUNDING): Likewise.
7999         (ASSEMBLER_SCRATCH_REGNUM): Remove.
8000         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
8001         and mips16 with TARGET_MIPS16.
8002
8003 2003-08-09  Per Bothner  <pbothner@apple.com>
8004
8005         * cppinit.c (cpp_read_main_file):  Split out source-independent
8006         initialization to separate function ...
8007         (cpp_post_options):  New function.
8008         * cppfiles.c (cpp_stack_file):  Rename public name to ...
8009         (_cpp_stack_file):  New internal function name.
8010         * cpplib.h:  Update accordingly.
8011         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
8012         (cpp_read_main_file):  Don't initialize line here.
8013         * c-opts.c (c_common_post_options):  Call cpp_post_options.
8014         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
8015         * fix-header.c (read_scan_file):  Call cpp_post_options.
8016
8017 2003-08-09  Per Bothner  <per@bothner.com>
8018
8019         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
8020
8021 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8022
8023         * pa.c (pa_asm_output_mi_thunk): Fix typo.
8024
8025 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
8026
8027         PR preprocessor/11839
8028         * cppfiles.c (open_file): Handle ENOTDIR.
8029
8030 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
8031
8032         PR target/11699
8033         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
8034
8035 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8036
8037         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
8038         source/destination is not a register operand.
8039
8040 2003-08-08  Richard Henderson  <rth@redhat.com>
8041
8042         PR target/11535
8043         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
8044         RETURN_ADDRESS_POINTER_REGNUM.
8045         (ia64_expand_prologue): Don't frob it.
8046         (ia64_output_function_epilogue): Likewise.
8047         (ia64_return_addr_rtx): New.
8048         (ia64_split_return_addr_rtx): New.
8049         * config/ia64/ia64-protos.h: Update.
8050         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
8051         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
8052         (GENERAL_REGNO_P): Don't check it.
8053         (AR_*_REGNUM): Renumber.
8054         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
8055         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
8056         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
8057         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
8058         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
8059         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
8060         (movdi_ret_addr): New.
8061
8062 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
8063
8064         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
8065
8066 2003-08-08  Roger Sayle  <roger@eyesopen.com>
8067
8068         * tree.h (get_identifier) Define a macro form of get_identifier
8069         that calls get_identifier_with_length when the string is constant.
8070         (get_identifier_with_length): Change type of second argument to
8071         size_t in prototype.
8072         * stringpool.c (get_identifier): Undefine the macro before giving
8073         the function definition.
8074         (get_identifier_with_length): Change  type of second argument to
8075         size_t in function definition.
8076         * hashtable.c (calc_hash): Change type of second argument to size_t.
8077         (ht_lookup): Change type of third argument to size_t.  Reorganize
8078         to speed-up the cases where the hash table slot is empty, or the
8079         first probe matches (i.e. there isn't a collision).
8080         * hashtable.h (ht_lookup): Adjust function prototype.
8081
8082 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
8083
8084         PR target/9697
8085         PR target/11777
8086         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
8087
8088 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
8089
8090         * common.opt: Add debug switches.
8091         * flags.h (use_gnu_debug_info_extensions): Boolify.
8092         * opts.c (write_symbols, debug_info_level,
8093         use_gnu_debug_info_extensions): Move from toplev.c.
8094         (set_debug_level): New.
8095         (common_handle_options): Handle debug switches.
8096         (print_help): Display target options directly.
8097         * toplev.c (debug_hooks): Don't initialize.
8098         (write_symbols, debug_info_level,
8099         use_gnu_debug_info_extensions): Move to opts.c.
8100         (debug_args, display_help, decode_g_option): Remove.
8101         (process_options): Set no debug if level zero here,
8102         and no-debug-hooks.  Error here if impossible debug format selected.
8103         * toplev.h (display_help, decode_g_option): Remove.
8104
8105 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
8106
8107         * tree.c (get_file_function_name_long): Fix size of alloca() area.
8108
8109 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
8110
8111         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
8112         and gcc_cv_prog_cmp_skip.
8113         * configure: Regenerate.
8114
8115 2003-08-08  Stan Cox  <scox@redhat.com>
8116
8117         * config/iq2000: New port.
8118         * config.gcc (iq2000-*-elf): Added.
8119         * doc/install.texi (Specific):  Add iq2000 description.
8120
8121 2003-08-08  Andreas Schwab  <schwab@suse.de>
8122
8123         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
8124         and insert missing empty argument.
8125         * configure: Regenerate.
8126
8127 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8128
8129         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
8130         (attr_length_millicode_call): Likewise.
8131         (attr_length_call): Likewise.  Revise some maximum insn lengths.
8132         (attr_length_indirect_call): Likewise.
8133         (output_call): Fix thinko that added extra nop.
8134         * pa.h (IN_NAMED_SECTION_P): Define.
8135
8136         PR c++/11712
8137         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
8138         __STDC_EXT__ when using C++ dialect.
8139
8140 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
8141
8142         * sh.c (calc_live_regs): If the return address pointer is live,
8143         force pr live.
8144         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
8145         for saves / restores.
8146         (sh_expand_epilogue): If sh_media_register_for_return returns a
8147         register number, flag the instructions that restores PR_MEDIA_REG
8148         as possibly dead.
8149         Remove dead update of offset.
8150         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
8151         we can use the result of get_hard_reg_initial_val.
8152         * sh.md (UNSPEC_RA): New constant.
8153         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
8154         (load_ra).  Handle UNSPEC_RA.
8155         (sibcall_media): Use PR_MEDIA_REG.
8156
8157         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
8158         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
8159         needs saving on SHmedia.
8160
8161 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
8162
8163         * config/s390/s390.md: Replace all occurrences of \\t with \t.
8164
8165 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
8166
8167         * local-alloc.c (combine_regs): Fix comment typo.
8168
8169 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
8170
8171         * c-decl.c (builtin_decls): Replace with first_builtin_decl
8172         and last_builtin_decl.
8173         (c_init_decl_processing): Initialize both.
8174         (c_reset_state): Iterate from first_builtin_decl to
8175         last_builtin_decl inclusive to reintroduce builtins.
8176
8177 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
8178
8179         * doc/extend.texi (Function Attributes): Document the IA-64 version
8180         of the "model" attribute.
8181
8182         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
8183         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
8184         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
8185
8186         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
8187         (ia64_encode_section_info): Likewise.
8188         (ia64_attribute_table): Add "model" attribute.
8189         (TARGET_ENCODE_SECTION_INFO): Define.
8190         (small_addr_symbolic_operand): New function.
8191         (got_symbolic_operand): Return 0 for a symbolref to an object
8192         in the small address area.
8193         (enum ia64_addr_area): New type.
8194         (small_ident1): New variable.
8195         (small_ident2): Likewise.
8196         (init_idents): New function.
8197         (ia64_get_addr_area): Likewise.
8198         (ia64_encode_addr_area): Likewise.
8199         (ia64_encode_section_info): Likewise.
8200         (ia64_expand_load_address): For symbolic references to objects in
8201         the small-address-area, load the address via gen_rtx_SET() (which,
8202         eventually, will expand into "addl").
8203
8204 2003-08-06  Per Bothner  <pbothner@apple.com>
8205
8206         * line-map.h (fileline):  New typedef.
8207         (struct line_map, linemap_add, linemap_lookup):  Use it.
8208         * input.h (struct location_s):  Comment notes that long-term we want
8209         to replace it by fileline.
8210
8211 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
8212
8213         Fix SHcompact exception handling:
8214         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
8215         by the prologue, return a MEM with return_address_pointer_rtx
8216         as address.
8217         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
8218         (RETURN_ADDR_OFFSET): Don't define.
8219         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
8220         registers that are visible in compact mode.  Show that SHmedia
8221         registers still exist in compact mode, even if there are not
8222         readily accessible.
8223         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
8224         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
8225         and DW_EH_PE_pcrel for pic data.
8226         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
8227         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
8228         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
8229         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
8230         * sh.md (movsi_media-1): New splitter.
8231
8232 2003-08-06  Graeme Peterson <gp@qnx.com>
8233
8234         * config/i386/nto.h: New.
8235         * config/i386/t-nto: New.
8236         * config.gcc (i[34567]86-*-nto-qnx*): New.
8237
8238 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
8239
8240         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
8241
8242 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
8243
8244         * calls.c (load_register_parameters): Arrange for call_fusage to
8245         report the whole register as used when shifting to the msb.
8246
8247 2003-08-05  Roger Sayle  <roger@eyesopen.com>
8248
8249         * builtins.c (expand_builtin): When not optimizing, call the library
8250         function for all builtins that have library functions (except alloca).
8251
8252 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
8253
8254         * c.opt: Introduce -fworking-directory.
8255         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
8256         * c-common.h (flag_working_directory): Declare.
8257         * c-common.c (flag_working_directory): Define.
8258         * c-opts.c (c_common_handle_options): Set it.
8259         (sanitize_cpp_opts): Set...
8260         * cpplib.h (struct cpp_options): ... working_directory option.
8261         (struct cpp_callbacks): Add dir_change.
8262         * cppinit.c (read_original_filename): Call...
8263         (read_original_directory): New.  Look for # 1 "directory//"
8264         and process it.
8265         (cpp_read_main_file): Call dir_change callback if working_directory
8266         option is set.
8267         * gcc.c (cpp_unique_options): Pass -g*.
8268         * c-lex.c (cb_dir_change): New.
8269         (init_c_lex): Set dir_change callback.
8270         * toplev.c (src_pwd): New static variable.
8271         (set_src_pwd, get_src_pwd): New functions.
8272         * toplev.h (get_src_pwd, set_src_pwd): Declare.
8273         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
8274         * dwarf2out.c (gen_compile_unit_die): Likewise.
8275         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
8276
8277 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8278
8279         * pretty-print.h (pp_set_line_maximum_length): Make macro.
8280         (pp_set_prefix): Likewise.
8281         (pp_destroy_prefix): Likewise.
8282         (pp_remaining_character_count_for_line): Likewise.
8283         (pp_clear_output_area): Likewise.
8284         (pp_formatted_text): Likewise.
8285         (pp_last_position_in_text): Likewise.
8286         (pp_emit_prefix): Likewise.
8287         (pp_append_text): Likewise.
8288         (pp_flush): Likewise.
8289         (pp_format_text): Likewise.
8290         (pp_format_verbatim): Likewise.
8291         (pp_tree_identifier): Tidy.
8292         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
8293         (pp_base_format_verbatim): Rename from pp_format_verbatim.
8294         (pp_base_flush): Rename from pp_flush.
8295         (pp_base_set_line_maximum_length): Rename from
8296         pp_set_line_maximum_length.
8297         (pp_base_clear_output_area): Rename from pp_clear_output_area.
8298         (pp_base_set_prefix): Rename from pp_set_prefix.
8299         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
8300         (pp_base_emit_prefix): Rename from pp_emit_prefix.
8301         (pp_base_append_text): Rename from pp_append_text.
8302         (pp_base_formatted_text): Rename from pp_formatted_text.
8303         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
8304         (pp_base_remaining_character_count_for_line): Rename from
8305         pp_remaining_character_count_for_line.
8306         * diagnostic.h (diagnostic_format_decoder): Tidy.
8307         (diagnostic_flush_buffer): Likewise.
8308         * c-pretty-print.h: (pp_c_string_literal): Declare.
8309         (pp_c_real_literal): Likewise.
8310         (pp_c_integer_literal): Likewise.
8311         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
8312         pp_identifier.
8313         (pp_c_character_literal): Tidy.
8314         (pp_c_string_literal): Make public.
8315         (pp_c_bool_literal): Likewise.
8316         (pp_c_integer_literal): Likewise.
8317         (pp_c_real_literal): Likewise.
8318
8319         * Makefile.in (C_PRETTY_PRINT_H): New variable.
8320         (c-pretty-print.o): Update dependence.
8321
8322 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
8323
8324         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
8325         ".set nomacro" state.
8326         (fix_truncsfsi2_macro): Likewise.
8327
8328 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
8329
8330         * tree.h (DID_INLINE_FUNC): Remove macro.
8331         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
8332         add tree check for FUNCTION_DECL.
8333         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
8334         (struct tree_decl): Rename inlined_function_flag to
8335         declared_inline_flag.
8336         * c-common.h (c_lang_decl): Remove.
8337         (DECL_ESTIMATED_INSNS): Remove.
8338         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
8339         (DECL_DECLARED_INLINE_P): Remove.
8340         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
8341         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
8342         (finish_function): Make uninlinable a bool.  Fixup call to
8343         tree_inlinable_function_p() and fix some code style issues.
8344         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
8345         * cgraph.c (dump_cgraph): Likewise.
8346         * cgraphunit.c (cgraph_decide_inlining): Likewise
8347         (cgraph_finalize_compilation_unit): Likewise.
8348         Also update call to tree_inlinable_function_p().
8349         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
8350         look at DECL_DECLARED_INLINE and reverse logic.
8351         * print-tree.c (print_node): Likewise.
8352         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
8353         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
8354         prototype.
8355         * tree-inline.c (inlinable_function_p): Split up in this function to
8356         check for basic inlining inhibiting conditions, and new
8357         limits_allow_inlining() function.  Warn if inlining is impossible
8358         because the inline candidate calls alloca or uses sjlj exceptions.
8359         (limits_allow_inlining): this new function to check if the inlining
8360         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
8361         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
8362         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
8363         Update prototypes.
8364         (tree_inlinable_function_p): Make a bool.  Update call to
8365         inlinable_function_p
8366         (expand_call_inline): Use limits_allow_inlining() when not in
8367         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
8368         instead see if the function was declared `inline'.
8369
8370 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
8371
8372         * gcse.c (try_replace_reg): Fix updating of note.
8373
8374 2003-08-04  Roger Sayle  <roger@eyesopen.com>
8375
8376         PR middle-end/11771
8377         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
8378         logic in negate_expr, i.e. we don't invert (A-B) for floating
8379         point types unless flag_unsafe_math_optimizations.
8380
8381 2003-08-04  Roger Sayle  <roger@eyesopen.com>
8382
8383         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
8384         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
8385         for floating point expressions with -ffast-math.
8386         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
8387         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
8388
8389 2003-08-04  Roger Sayle  <roger@eyesopen.com>
8390
8391         * c-common.c (flag_noniso_default_format_attributes): Delete.
8392         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
8393         (c_attrs_initialized): Delete.
8394         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
8395         always call c_init_attributes.
8396         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
8397         set c_attrs_initialized when done.
8398         (c_common_insert_default_attributes): Delete.
8399         * c-common.h (flag_noniso_default_format_attributes): Delete.
8400         (c_coomon_insert_default_attributes): Delete prototype.
8401         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
8402         flag_noniso_default_format_attributes.
8403
8404         * c-decl.c (c_insert_default_attributes): Delete.
8405         * c-tree.h (c_insert_default_attributes): Delete prototype.
8406
8407         * attribs.c (decl_attributes): Don't call insert_default_attributes
8408         langhook.  Update function description comment.
8409         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
8410         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
8411         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
8412         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
8413
8414         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
8415         define.
8416
8417 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
8418
8419         * config/mips/mips.c (override_options): Disable -G on targets that
8420         have no .section support.
8421         (mips_select_section): Use default_select_section for such targets.
8422
8423 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
8424
8425         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
8426         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
8427         * fixinc/fixincl.x: Rebuild.
8428         * fixinc/tests/base/regexp.h: New test.
8429
8430 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
8431
8432         * c-ppoutput.c (cb_line_change): Don't skip line changing while
8433         parsing macro arguments in the top-level context.
8434
8435 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
8436
8437         * config.in: Remove HAVE_LSTAT.
8438         * configure, configure.in: Don't test for lstat.
8439
8440 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8441
8442         * opts.c (decode_options): Do language-specific initialization for
8443         the global diagnostic context.
8444         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
8445         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
8446         (LANG_HOOKS_INITIALIZER): Adjust.
8447         * langhooks.h (struct lang_hooks): Add new field
8448         initialize_diagnostics.
8449         * langhooks.c (lhd_initialize_diagnostics): Define.
8450
8451 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8452
8453         * pretty-print.h:   Adjust macro definitions.
8454         * pretty-print.c (pp_newline): Rename to pp_base_newline.
8455         (pp_character): Rename to pp_base_character.
8456         (pp_string): Rename to pp_base_string.
8457         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
8458         (pp_newline):  Likewise.  Adjust.
8459         (pp_c_char): Adjust.
8460
8461 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8462
8463         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
8464         BUILT_IN_LLABS): Move to miscellaneous section.
8465
8466 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
8467
8468         PR preprocessor/11534
8469         * cppexp.c (parse_defined): Warn only if -pedantic.
8470
8471 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
8472
8473         * cppfiles.c (stack_file): Use file path.
8474
8475 2003-08-02  Roger Sayle  <roger@eyesopen.com>
8476
8477         * builtin-types.def (BT_SSIZE): New primitive type.
8478         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
8479         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
8480         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
8481         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
8482         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
8483         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
8484         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
8485         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
8486         few functions that define default attributes using it.
8487         * c-common.c (c_common_insert_default_attributes): Do nothing.
8488
8489         * doc/extend.texi: Document these "new" builtins.
8490
8491 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
8492
8493         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
8494         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
8495         when -mieee-fp set and -shared not set.
8496         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
8497
8498 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
8499
8500         * cppfiles.c (struct _cpp_file): Rename once_only_next to
8501         next_file.  Remove import and pragma_once, add once_only.
8502         (find_file): Add new file structures to the all_files list.
8503         (should_stack_file): Mark #import-ed files once-only, and
8504         don't stack them if the file has already been stacked.
8505         (_cp_mark_file_once_only): Simplify.
8506         * cpphash.h (struct cpp_reader): Rename once_only_files
8507         to all_files.  Rename saw_pragma_once to seen_once_only.
8508         (_cpp_mark_file_once_only): Update prototype.
8509         * cpplib.c (do_pragma_once): Update.
8510
8511 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
8512
8513         * cppfiles.c (ENOTDIR): Remove.
8514         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
8515         other than ENOENT here.
8516         (once_only_file_p): Rename should_stack_file.
8517         (find_file, open_file_failed, read_file_guts): Report errors
8518         with full path name.
8519         (read_file): Move pch handling to should_stack_file.
8520         (should_stack_file): Handle PCH and once-only issues, and
8521         reading the file.
8522         (stack_file): Don't do file reads.
8523
8524 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8525
8526         * libgcov.c (gcov_exit): Cleanup and fix.
8527         * profile.c (compute_value_histograms): Don't try to read profiles
8528         that are not present.
8529
8530 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8531
8532         * builtins.def: Categorize.
8533
8534         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
8535         Mind fp rounding.
8536         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
8537
8538 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
8539
8540         * config.gcc: Enable posix threads by default on darwin.
8541
8542 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
8543
8544         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
8545         even if nehedges1 is 0.
8546
8547 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
8548
8549         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
8550         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
8551         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
8552         and defintions.
8553
8554         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
8555         * fixinc/fixincl.x: Regenerate.
8556         * fixinc/tests/base/math.h: Regenerate to match test_text change.
8557
8558 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8559
8560         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
8561
8562 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8563
8564         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
8565         for accesses to exc_ptr.
8566
8567 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
8568
8569         * doc/sourcebuild.texi (Front End Directory): Don't make references
8570         to libsubdir, it's not part of the interface to frontends.
8571         * doc/install.texi (Configuration): Help users read faster by saying
8572         that GCC's configure options are the standard autoconf ones.
8573         Mention --libdir.  Update the default rules for finding the
8574         assembler.  Don't use libsubdir since we haven't said what it means.
8575         (Specific): In the Solaris 7 notes, update the place to put the
8576         assembler.
8577         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
8578         * doc/cpp.texi (Search Path): Actually, the search path
8579         depends on libdir, which can relocate with cpp.
8580         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
8581         now a private interface between the Makefile and the driver.
8582
8583 2003-08-01  Richard Henderson  <rth@redhat.com>
8584
8585         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
8586
8587         * varasm.c (lookup_constant_def): New function.
8588         * rtl.h (lookup_constant_def): Declare it.
8589         * dwarf2out.c (loc_descriptor_from_tree): Use it.
8590         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
8591
8592 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
8593
8594         * c-decl.c (gettags, pushdecl_function_level): Delete.
8595         (last_function_parm_vars): Rename last_function_parm_others.
8596         (current_function_parm_vars): Rename current_function_parm_others.
8597         (struct c_scope): Rewrite comment explaining this data structure.
8598         Add names_last, blocks_last, parms_last fields.  Rename
8599         incomplete_list to incomplete.
8600         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
8601         (poplevel): Ignore second argument.  No need to nreverse
8602         anything.  Restructure such that each list is processed
8603         exactly once.  Use 'const location_t *locus' syntactic sugar
8604         variable where useful.  Issue unused variable warnings
8605         ourselves, do not rely on function.c.
8606         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
8607         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
8608         (implicitly_declare): decl cannot be error_mark_node.
8609         (undeclared_variable): Manipulate scope structure directly.
8610         (c_make_fname_decl): Likewise.
8611         (getdecls, c_init_decl_processing): Fix comment.
8612         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
8613         for 'last' variable.
8614         (grokparms): No need to nreverse parms list.
8615         (store_parm_decls_newstyle): Set up the parms_last and
8616         names_last fields of the new scope too.
8617         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
8618         on parms to begin with; check this under ENABLE_CHECKING.  Set
8619         up parms_last.
8620         (check_for_loop_decls): Refer directly to current_scope->tags.
8621         Use consistent quote style in diagnostics.
8622         (c_write_global_declarations): The names list is not backward.
8623
8624         * c-common.h: Don't prototype gettags.
8625         * c-parse.in: Call poplevel with second argument 0 always.
8626
8627 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8628
8629         * builtins.def: Resort builtins.
8630
8631 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8632
8633         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
8634         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
8635         Prepend "__builtin_" onto NAME with string concatenation.  Remove
8636         explicit "__builtin_" from each macro call.
8637
8638         Reformat entire file.
8639
8640 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8641
8642         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
8643         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
8644
8645 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
8646
8647         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
8648         CCL1, or CCL2 modes with floating point operations.
8649
8650         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
8651         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
8652         "*subdf3_cconly"): New insns.
8653         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
8654
8655 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
8656
8657         * Makefile.in: Refine dependencies.
8658         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
8659         * c.opt: Update help for -Wimport.
8660         * cppfiles.c: Include hashtab.h.  Update comments.
8661         (stack_file): Read the file before updating dependencies.
8662         (once_only_file_p): Be smarter about marking once-only files.
8663         (_cpp_mark_file_once_only): Correct the check for existence on
8664         the list.
8665         (open_file_failed): Use name not path, which is NULL.
8666         * cpphash.h: Don't include hashtab.h.
8667         (struct _cpp_file): Remove.
8668         (struct cpp_reader): Update.
8669         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
8670         * cpplib.h (struct cpp_options): Remove warn_import.
8671         (cpp_simplify_path): Remove.
8672
8673 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
8674
8675         PR c++/11295
8676         * doc/extend.texi (Statement Expressions): Document C++ semantics.
8677
8678 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
8679
8680         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
8681
8682 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8683
8684         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
8685         throughout.
8686         * builtins.def: Likewise.
8687
8688 2003-07-31  Jason Merrill  <jason@redhat.com>
8689
8690         * Makefile.in (bubblestrap): Don't require a previous full
8691         bootstrap.
8692
8693         * expr.c (mostly_zeros_p): No longer static.
8694         * tree.h: Declare it.
8695         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
8696         unless we need to do substitutions.
8697
8698 2003-07-31  Roger Sayle  <roger@eyesopen.com>
8699
8700         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
8701         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
8702         as pow(x,2.0) when the latter will be expanded back into x*x.
8703         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
8704         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
8705         pow can never set errno when used with an integer exponent.
8706         Always use expand_powi when exponent is -1, 0, 1 or 2.
8707         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
8708         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
8709         the pow forms of these expressions.
8710
8711 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
8712
8713         * Makefile.in (libexecdir): New.
8714         (libsubdir): Use gcc instead of gcc-lib.
8715         (libexecsubdir): New.
8716         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
8717         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
8718         gcc-lib.
8719         (installdirs): Make libexecsubdir.
8720         (install-common): Put executables in libexecsubdir.
8721         (itoolsdir): Use libexecsubdir.
8722         (itoolsdatadir): New.
8723         (install-mkheaders): Separate data files and executables.
8724         (install-collect2): Put executables in libexecsubdir.
8725         (uninstall): Remove libexecsubdir.
8726         * mkheaders.in: Update for new arrangement of files.
8727         (libexecdir): New.
8728         (libexecsubdir): New.
8729         (itoolsdir): Use libexecsubdir.
8730         (itoolsdatadir): New.
8731         * gcc.c (gcc_libexec_prefix): New.
8732         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
8733         (standard_exec_prefix_1): Use libexec.
8734         (standard_exec_prefix_2): New.
8735         (standard_libexec_prefix): New.
8736         (process_command): Update for new arrangement of files.  Compute
8737         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
8738
8739 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8740
8741         * inclhack.def (stdio_va_list): Avoid bogus replacement which
8742         triggers on Interix.
8743         * fixincl.x: Regenerate.
8744
8745 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
8746
8747         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
8748         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
8749
8750 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8751
8752         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
8753
8754 2003-07-31  Per Bothner  <pbothner@apple.com>
8755
8756         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
8757         (add_input_filename):  New function.
8758         (handle_options):  Call add_input_filename directly instead of
8759         with a lang hook.
8760         * opts.h (in_fnames, num_in_fnames):  Moved here.
8761         (add_input_filename):  Declare.
8762         * c-decl.c:  Need to #include opts.h.
8763         * Makefile.in (c-decl.o):  Also depends on opts.h.
8764         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
8765         (c_common_handle_filename):  Replaced by add_input_filename.
8766         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
8767         Remove.
8768         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
8769         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
8770         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
8771         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
8772
8773 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8774
8775         * combine.c (try_combine): Set JUMP_LABEL for newly created
8776         unconditional jump.
8777
8778 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8779
8780         * fold-const.c (fold): Fold some comparisons of bit operations.
8781
8782 2003-07-31  Jan Hubicka  <jh@suse.cz>
8783
8784         * cgraph.c (create_edge): Fix typo.
8785         * i386.c (pic_symbolic_operand): Reorder tests.
8786
8787 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
8788
8789         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
8790         more fully.
8791         (Gcov Data Files): Update.
8792
8793 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8794
8795         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
8796         default.
8797
8798         * gthr-posix.c: New file.
8799         * gthr-posix.h: Define _REENTRANT if missing.
8800         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
8801
8802         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
8803         by gthr-posix.o.
8804         * config/alpha/t-osf-pthread: New file.
8805
8806         * fixinc/inclhack.def (alpha_pthread): New fix.
8807         * fixinc/fixincl.x: Regenerate.
8808         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
8809
8810         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
8811         warning.
8812         Fixes PR bootstrap/9330.
8813
8814 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8815
8816         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
8817         without GNU ld.
8818         Update comment.
8819         * configure: Regenerate.
8820
8821 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
8822
8823         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
8824         setter.
8825
8826 2003-07-30  Roger Sayle  <roger@eyesopen.com>
8827
8828         * builtins.def: Alphabetize.
8829
8830 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
8831
8832         * doc/c-tree.texi: Normalize spellings of "lowercase" and
8833         "uppercase".
8834         * doc/cpp.texi: Likewise.
8835         * doc/md.texi: Likewise.
8836         * doc/rtl.texi: Likewise.
8837         * doc/tm.texi: Likewise.
8838
8839 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
8840
8841         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
8842         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
8843         of cc1obj.
8844
8845 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
8846
8847         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
8848         macros before defining them.
8849
8850 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
8851
8852         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
8853         UNSPECV_BLOCKAGE): New constants.
8854         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
8855         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
8856         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
8857         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
8858
8859         (all insns and expanders): Write output control string as brace block
8860         where appropriate.  Remove \-escapes for doublequote characters.
8861
8862 2003-07-31  Jan Hubicka  <jh@suse.cz>
8863
8864         * gcse.c (insert_store): Fix typo in previous patch.
8865
8866 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
8867
8868         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
8869
8870 2003-07-30  Andi Kleen  <ak@muc.de>
8871
8872         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
8873
8874 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8875
8876         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
8877         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
8878         GCOV_N_VALUE_COUNTERS): New.
8879         * profile.c (compute_value_histograms): New static function.
8880         (branch_prob): Read back the value histograms.
8881         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
8882         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
8883         * value-prof.c: Add comment on reading the profile.
8884         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
8885         * doc/invoke.texi (-fprofile-values): Document behavior with
8886         -fbranch-probabilities.
8887
8888 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
8889
8890         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
8891
8892 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
8893
8894         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
8895         symbolically.
8896
8897 2003-07-30  Jan Hubicka  <jh@suse.cz>
8898
8899         * gcse.c (insert_store): Ignore fake edges.
8900
8901         * c-common.c (flag_vtable_gc): Kill.
8902         * c-common.g (flag_vtable_gc): Kill.
8903         * c-opts (c_common_handle_option): Kill.
8904         * c.opt (fvtable-gc): Kill.
8905         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
8906         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
8907         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
8908
8909         * invoke.texi (-ftable-gc): Kill documentation.
8910
8911         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
8912         just because function body is missing.
8913
8914         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
8915
8916 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
8917
8918         * unwind-sjlj.c: Fix typo in file description.
8919
8920 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
8921
8922         * calls.c (load_register_parameters): When shifting reg sized values
8923         to the msb, move the value to a reg first.
8924
8925 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
8926
8927         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
8928         * line-map.h (linemap_add): Update comments.
8929         * line-map.c (linemap_add): Update comments, interpret zero-length
8930         filename as "<stdin>".
8931
8932 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
8933
8934         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
8935
8936 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
8937
8938         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
8939         New static variables.
8940         (struct c_scope): Add parms and warned_forward_parm_decls
8941         fields; remove parm_order.
8942         (storedecls, storetags): Delete.
8943         (poplevel): Also clear bindings on the parms chain.
8944         (pushdecl): Handle forward declarations of parameters, and
8945         chain PARM_DECLs on the parms list, not the names list.
8946         (lookup_name_current_level): Check for PARM_DECLs on the parms
8947         list too.
8948         (push_parm_decl): Don't update parm_order.
8949         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
8950         warning, only once per parameter list, and set TREE_ASM_WRITTEN
8951         on the decls here.  Then move the forward decls to the names list.
8952         (grokparms): Set last_function_parm_vars.
8953         (get_parm_info): Don't use gettags or getdecls.  No need to
8954         extract non-parms from the parms list, or reorganize the parms
8955         list.  Feed nonparms back in the TREE_TYPE of the list node
8956         returned.  Issue only one error per parameter list for "void"
8957         appearing more than once in said parameter list.  Collapse
8958         parmlist_tags_warning into this function to avoid double scan
8959         of tags list.
8960         (start_function): Set current_function_parm_vars.
8961         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
8962         directly.  Get non-parms from current_function_parm_vars; no
8963         need to extract them from the parms chain.  Properly bind tags
8964         in the new scope.
8965         (store_parm_decls_oldstyle): No need to extract non-parameters
8966         from the parms chain, nor to store them back afterward.  Move
8967         declaration to top of function, restructure code reordering
8968         DECL_ARGUMENTS.
8969         (store_parm_decls): No need to save and restore warn_shadow.
8970         * c-parse.in: Don't call parmlist_tags_warning nor
8971         clear_parm_order.  Call mark_forward_parm_decls when forward
8972         parm decls are encountered.
8973         * c-tree.h: Prototype mark_forward_parm_decls; not
8974         clear_parm_order or parmlist_tags_warning.
8975
8976 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
8977
8978         * c-common.c (allow_pch): Remove.
8979         * c-common.h (allow_pch): Remove.
8980         (c_common_no_more_pch): Declare.
8981         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
8982         * c-pch.c: Include hosthooks.h.
8983         (c_common_valid_pch): Don't check allow_pch.
8984         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
8985         (c_common_no_more_pch): New.
8986         * ggc-common.c: Include hosthooks.h.
8987         (gt_pch_save): Call gt_pch_get_address.
8988         (gt_pch_restore): Call gt_pch_use_address.
8989         * hooks.c (hook_voidp_size_t_null): New.
8990         (hook_bool_voidp_size_t_false): New.
8991         * hooks.h (hook_voidp_size_t_null): New.
8992         (hook_bool_voidp_size_t_false): New.
8993         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
8994         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
8995         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
8996         HOST_HOOKS_GT_PCH_USE_ADDRESS.
8997         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
8998         gt_pch_use_address.
8999         * doc/hostconfig.texi (Host Common): Document
9000         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
9001         * Makefile.in (c-pch.o): Depend on hosthooks.h.
9002         (ggc-common.o): Likewise.
9003
9004         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
9005         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
9006         (pch_address_space): New.
9007         (darwin_rs6000_gt_pch_get_address): New.
9008         (darwin_rs6000_gt_pch_use_address): New.
9009
9010 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
9011
9012         PR preprocessor/11569
9013         PR preprocessor/11649
9014         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
9015         * cppfiles.c: Completely rewritten.
9016         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
9017         struct cpp_path is now struct cpp_dir.
9018         (remove_duplicates): Don't simplify path names.
9019         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
9020         cpp_stack_file.
9021         * cpphash.h: Include hashtab.h.
9022         (_cpp_file): Declare.
9023         (struct cpp_buffer): struct include_file is now struct _cpp_file,
9024         and struct cpp_path is now struct cpp_dir.  Rename members.
9025         (struct cpp_reader): Similarly.  New members once_only_files,
9026         file_hash, file_hash_entries, quote_ignores_source_dir,
9027         no_search_path, saw_pragma_once.  Remove all_include_files and
9028         max_include_len.  Make some members bool.
9029         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
9030         (_cpp_stack_file): Renamed from _cpp_read_file.
9031         (_cpp_stack_include): Renamed from _cpp_execute_include.
9032         (_cpp_init_files): Renamed from _cpp_init_includes.
9033         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
9034         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
9035         (cpp_read_next_file): Rename and move to cppfiles.c.
9036         (cpp_read_main_file): Update.
9037         * cpplib.c (run_directive): Update for renamed members.
9038         (do_include_common, _cpp_pop_buffer): Update.
9039         (do_import): Undeprecate #import.
9040         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
9041         * cpplib.h: Remove file_name_map_list.
9042         (cpp_options): Remove map_list.
9043         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
9044         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
9045
9046 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
9047
9048         * Makefile.in:  Make stamp-objdir safe for parallel builds.
9049
9050 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
9051
9052         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
9053         (info):  Depend on stmp-docobjdir.
9054
9055 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9056
9057         * configure: Regenerate.
9058
9059 2003-07-29  Jan Hubicka  <jh@suse.cz>
9060
9061         PR C++/11131
9062         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
9063         in !unit-at-a-time mode.
9064
9065 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
9066
9067         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
9068         main function.
9069
9070 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
9071
9072         PR c++/11667
9073         * c-common.c (shorten_compare): Take into account differences
9074         between C and C++ representation for enumeration types.
9075         * tree.h (set_min_and_max_values_for_integral_type): Declare.
9076         * stor-layout.c (set_min_and_max_values_for_integral_type): New
9077         function, broken out from ...
9078         (fixup_signed_type): ... here and ...
9079         (fixup_unsigned_type): ... here.
9080
9081 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
9082
9083         * c-decl.c: Update commentary, adjust blank lines throughout.
9084         (struct c_scope): Fix indentation.  Reorder members so
9085         outer-context pointers come first, booleans last.
9086         (duplicate_decls, define_label): Use a 'locus' variable for
9087         diagnostic locations in a few more places.
9088         (warn_if_shadowing): Un-split a conditional that fits on one line.
9089         (c_init_decl_processing): No need to clear current_scope and
9090         current_function_scope.
9091         (start_decl): Merge if/else if statements with same action.
9092         (push_parm_decl): Rename old_immediate_size_expand to use
9093         save_foo convention; save/restore around entire function.
9094         (grokdeclarator): Remove unnecessary braces.
9095
9096 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
9097             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
9098
9099         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
9100         when warn_declaration_after_statement.  Call pedwarn_c90, not
9101         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
9102         * c-common.c (warn_declaration_after_statement): Define.
9103         * c-common.h (warn_declaration_after_statement): Declare.
9104         * c.opt (Wdeclaration-after-statement): New.
9105         * c-errors.c (pedwarn_c90): New function.
9106         * c-opts.c (c_common_handle_option) <case
9107         OPT_Wdeclaration_after_statement>: New.
9108         * c-tree.h (pedwarn_c90): Declare.
9109         * doc/invoke.texi (Option Summary): Document
9110         -Wdeclaration-after-statement.
9111         (Warning Options): Ditto.
9112
9113 2003-07-28  Jan Hubicka  <jh@suse.cz>
9114
9115         * i386.md (memory attribute) Avoid accessing uninitialized memory
9116         for ishift1 type instructions.
9117
9118 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
9119
9120         * configure.in (--enable-checking): Add fold category.
9121         (ENABLE_FOLD_CHECKING): Define if requested.
9122         * configure: Rebuilt.
9123         * config.in: Rebuilt.
9124         * doc/install.texi: Document it.
9125         * fold-const.c: Include md5.h.
9126         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
9127         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
9128         print_fold_checksum): New functions.
9129
9130         * fold-const.c (fold): Never modify argument passed to fold, instead
9131         change a copy and return it.
9132         * convert.c (convert_to_integer): Likewise.
9133
9134 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
9135
9136         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
9137         cleanup of junk after #else and #endif directives.  Collapse repeated
9138         clauses into for statment.
9139
9140         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
9141
9142 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
9143
9144         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
9145         (keep_next_if_subblocks): Rename next_is_function_body.
9146         (pushlevel): Adjust commentary.  Always set ->keep on the
9147         outermost level of a function.  Don't set ->keep_if_subblocks.
9148         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
9149         (store_parm_decls): Adjust to match.
9150         (finish_function): Adjust to match.
9151         Call poplevel with all three arguments zero.
9152
9153         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
9154         New functions split out of store_parm_decls.
9155         Avoid unnecessary work. Use local variables consistently.
9156         (store_parm_decls): Likewise.
9157
9158         (finish_function): No need to set functionbody flag on call to
9159         poplevel.
9160         (struct language_function): Remove scope field.
9161         (c_push_function_context, c_pop_function_context): No need to
9162         save and restore current_scope.
9163
9164 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
9165
9166         * doc/extend.texi (Deprecated Features): Implicit typename is
9167         gone. Default args on types is going.
9168
9169 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
9170
9171         * Makefile.in (ifcvt.o): Depend on target.h
9172         * ifcvt.c (target.h): Include.
9173         (if_convert): Don't call mark_loop_exit_edges if we can't
9174         modify jumps.
9175
9176 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9177
9178         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
9179
9180 2003-07-26  Richard Henderson  <rth@redhat.com>
9181
9182         PR inline-asm/11676
9183         * cse.c (count_reg_usage): Handle asm_operands properly.
9184
9185 2003-07-26  Roger Sayle  <roger@eyesopen.com>
9186
9187         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
9188         (DEF_EXT_FALLBACK_BUILTIN): Delete.
9189         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
9190         the regular DEF_EXT_LIB_BUILTIN macro.
9191         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
9192         the regular DEF_LIB_BUILTIN macro.
9193         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
9194         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
9195         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
9196         DEF_EXT_LIB_BUILTIN macro.
9197
9198         * c-decl.c (duplicate_decls): Remove code to handle builtin
9199         functions prototyped without an argument list.
9200
9201 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
9202
9203         * config/i386/winnt.c: Revert 2003-07-08 change.
9204         (i386_pe_section_type_flags): Remove error_with_decl here too.
9205
9206 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9207
9208         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
9209         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
9210         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
9211         (v850_handle_data_area_attribute): Likewise.
9212
9213 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
9214
9215         * varasm.c (output_constant_def_contents): Use
9216         ASM_DECLARE_CONSTANT_NAME if defined.
9217         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
9218         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
9219         objects get at least one byte to prevent assembler problems.
9220         (ASM_DECLARE_CONSTANT_NAME): New.
9221
9222         * Makefile.in (libbackend.o): Remove options_.h.
9223         (mostlyclean): Likewise.
9224
9225         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
9226         insert a label at the end of an function under Mach-O.
9227
9228         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
9229
9230 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
9231
9232         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
9233         equality.
9234         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
9235
9236         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
9237
9238 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9239
9240         * doc/passes.texi (Passes): Mention pretty-printing and
9241         diagnostic files.
9242
9243 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
9244
9245         * doc/extend.texi (Function Attributes): GNU C++ does now allow
9246         unused parameter decls.
9247         (Attribute Syntax): GNU C++ does not allow label attributes to be
9248         after the ':'.
9249
9250 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9251
9252         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
9253         (objc_declare_class): Likewise.
9254         (error_with_ivar): Likewise.
9255         (start_class): Likewise.
9256         (warn_with_method): Likewise.
9257
9258 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9259
9260         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
9261         from GCC.
9262         * calls.c (try_to_integrate): Don't use xxx_with_decl.
9263         (expand_call): Likewise.
9264         * dwarfout.c (output_reg_number): Likewise.
9265         * expr.c (expand_expr): Likewise.
9266         * function.c (assign_temp): Likewise.
9267         (uninitialized_vars_warning): Likewise.
9268         (setjmp_args_warning): Likewise.
9269         (expand_function_end): Likewise.
9270         * stmt.c (fixup_gotos): Likewise.
9271         (warn_about_unused_variables): Likewise.
9272         (expand_end_bindings): Likewise.
9273         * stor-layout.c (layout_decl): Likewise.
9274         (place_field): Likewise.
9275         * toplev.c (check_global_declarations): Likewise.
9276         (rest_of_handle_inlining): Likewise.
9277         (default_tree_printer): New function.
9278         (general_init): Initialize diagnostic machinery before routing
9279         signals to the ICE machinery.  Set default tree printer.
9280         * toplev.h (pedwarn_with_decl): Remove declaration.
9281         (warning_with_decl): Likewise.
9282         (error_with_decl): Likewise.
9283         (pedwarn): Remove attribute for the time being.
9284         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
9285         * varasm.c (named_section): Likewise.
9286         (make_decl_rtl): Likewise.
9287         (assemble_variable): Likewise.
9288         (merge_weak): Likewise.
9289         (declare_weak): Likewise.
9290
9291         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
9292         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
9293         (format_with_decl): Remove.
9294         (diagnostic_for_decl): Likewise.
9295         (pedwarn_with_decl): Likewise.
9296         (warning_with_decl): Likewise.
9297         (error_with_decl): Likewise.
9298         (diagnostic_initialize): Adjust.
9299         (diagnostic_count_diagnostic): Likewise.
9300         (announce_function): Likewise.
9301         (lhd_print_error_function): Likewise.
9302         (diagnostic_report_current_module): Likewise.
9303         (default_diagnostic_starter): Likewise.
9304         (diagnostic_report_diagnostic): Likewise.
9305         (default_diagnostic_finalizer): Likewise.
9306         (verbatim): Likewise.
9307         (error): Likewise.
9308         (warning): Likewise.
9309         * opts.c (common_handle_option): Likewise.
9310         * pretty-print.c: New file.
9311         * c-pretty-print.h (pp_base): Override.
9312         * c-pretty-print.c: Adjust use of macros throughout.
9313         (pp_buffer): New macro.
9314         (pp_newline): Likewise.
9315         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
9316         * Makefile.in (DIAGNOSTIC_H): New variable.
9317         (c-errors.o): Use it.
9318         (c-objc-common.o): Likewise.
9319         (c-common.o): Likewise.
9320         (c-opts.o): Likewise.
9321         (c-format.o): Likewise.
9322         (diagnostic.o): Likewise.
9323         (opts.o): Likewise.
9324         (toplev.o): Likewise.
9325         (rtl-error.o): Likewise.
9326         (dwarf2out.o): Likewise.
9327         (jump.o): Likewise.
9328         (pretty-print.o): New rule.
9329
9330 2003-07-24  Roger Sayle  <roger@eyesopen.com>
9331
9332         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
9333         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
9334         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
9335         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
9336         (DEF_FRONT_END_LIB_BUILTIN): Delete.
9337         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
9338         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
9339
9340         * builtins.c (build_string_literal): New function to construct
9341         a char* pointer to a string literal.
9342         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
9343         "rtx target" to be consistent with other expand_builtin_* functions.
9344         Change 3rd argument from "int unlocked" to "bool unlocked".
9345         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
9346         c-common.c to avoid front-end dependencies.  Optimize printf("")
9347         as a no-op when the result isn't required.  Handle embedded NULs
9348         in format string.
9349         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
9350         from c-common.c to avoid front-end dependencies.  Likewise, optimize
9351         fprintf(fp,"") as a no-op when the result isn't required, evaluating
9352         fp for side-effects.  Handle embedded NULs in format string.
9353         (expand_builtin_sprintf): Fix typo.
9354         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
9355         optimizing.  Adjust calls of expand_builtin_fputs to match the API
9356         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
9357         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
9358         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
9359
9360         * c-common.c (is_valid_printf_arglist): Delete.
9361         (c_expand_builtin): Delete.
9362         (c_expand_builtin_printf): Moved to builtins.c. Delete.
9363         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
9364         (c_expand_expr): No longer treat CALL_EXPRs specially.
9365         (CALLED_AS_BUILT_IN): Delete.
9366
9367 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9368
9369         PR optimization/11631
9370         * gcse.c (store_motion): Connect infinite loops to exit.
9371
9372 2003-07-24  Jason Merrill  <jason@redhat.com>
9373
9374         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
9375         (boolean_true_node, boolean_false_node): Likewise.
9376         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
9377         * tree.c (build_common_tree_nodes): Init boolean_type_node.
9378         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
9379         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
9380         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
9381         (truthvalue_true_node): Renamed from boolean_true_node.
9382         (truthvalue_false_node): Renamed from boolean_false_node.
9383         * c-decl.c: Just set truthvalue_* to integer_*.
9384         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
9385
9386 2003-07-24  Roger Sayle  <roger@eyesopen.com>
9387
9388         * c-decl.c (match_builtin_function_types): New subroutine of
9389         duplicate_decls to test whether a redeclaration of a builtin
9390         function is suitably close, i.e. the return type and all of
9391         the argument types have the same modes as the builtin expects.
9392         (duplicate_decls): Fuzzy type matching for builtin functions
9393         moved to match_builtin_function_types.
9394
9395 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9396
9397         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
9398         flag correctly.
9399
9400 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
9401
9402         * c-decl.c: Search-and-replace change 'binding level' to
9403         'scope' in commentary.
9404         (struct binding_level): Now struct c_scope.
9405         (current_binding_level): Now current_scope.
9406         (free_binding_level): Now scope_freelist.
9407         (current_function_level): Now current_function_scope.
9408         (global_binding_level): Now global_scope.
9409         (make_binding_level): Now make_scope.
9410         (pop_binding_level): Now pop_scope.
9411
9412 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9413
9414         * configure.in (libgcc_visibility): Add missing whitespace.
9415
9416 2003-07-24  Richard Henderson  <rth@redhat.com>
9417
9418         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
9419         __gcc_personality_v0.
9420
9421 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9422
9423         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
9424
9425 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
9426
9427         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
9428         documentation missed from my 2003-07-09 patch.
9429
9430 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
9431
9432         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
9433         it's not provided.
9434         * configure: Rebuild.
9435
9436 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
9437
9438         PR c/10602
9439         * c-typeck.c (type_lists_compatible_p): Do not compare
9440         arguments if one of them is an error_mark_node
9441
9442 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
9443
9444         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
9445         if current_function_calls_eh_return.
9446
9447 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
9448
9449         * doc/c-tree.texi (OFFSET_TYPE): Update description.
9450
9451 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
9452
9453         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
9454         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
9455         __umodsi3, __modsi3): Increase frame size to 32.
9456
9457 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
9458
9459         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
9460         prototype.
9461
9462 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
9463
9464         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
9465
9466         PR optimization/10679
9467         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
9468
9469 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9470
9471         PR target/11607 and PR target/11516
9472         * pa.md (extzv, extv, insv): Revert latter half of last patch.
9473
9474 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
9475
9476         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
9477         * varasam.c (output_constant): Likewise.
9478
9479 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
9480
9481         * alias.c: Fix comment formatting.
9482         * c-common.c: Likewise.
9483         * c-decl.c: Likewise.
9484         * c-opts.c: Likewise.
9485         * combine.c: Likewise.
9486         * cpplib.c: Likewise.
9487         * diagnostic.c: Likewise.
9488         * dojump.c: Likewise.
9489         * final.c: Likewise.
9490         * fold-const.c: Likewise.
9491         * gcc.c: Likewise.
9492         * gcse.c: Likewise.
9493         * ggc-page.c: Likewise.
9494         * jump.c: Likewise.
9495         * loop.c: Likewise.
9496         * mips-tfile.c: Likewise.
9497         * recog.c: Likewise.
9498         * regclass.c: Likewise.
9499         * regmove.c: Likewise.
9500         * tree.c: Likewise.
9501         * tree.h: Likewise.
9502
9503 2003-07-22  Per Bothner  <pbothner@apple.com>
9504
9505         * line-map.c (add_line_map):  Handle invalid LEAVE request.
9506         Fixes PR preprocessor/11361.
9507
9508 2003-07-22  Per Bothner  <pbothner@apple.com>
9509
9510         * diagnostic.c.(diagnostic_report_current_module):  Update to match
9511         2003-06-05 changes to push_srcloc and pop_srcloc.
9512
9513 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
9514
9515         * doc/trouble.texi: Better document two-stage name lookup.
9516
9517 2003-07-22  Eric Christopher <echristo@redhat.com>
9518
9519         * config/s390.c (s390_valid_pointer_mode): New.
9520         (TARGET_VALID_POINTER_MODE): Use.
9521         (s390_emit_prologue): Add tpf profiling hooks.
9522         (s390_emit_epilogue): Ditto.
9523         * config/s390.h (MASK_TPF): New.
9524         (TARGET_TPF): Use.
9525         (POINTERS_EXTEND_UNSIGNED): Define.
9526         * config/s390.md (ptr_extend): New pattern.
9527
9528 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
9529
9530         * hashtable.c (approx_sqrt): Make static.
9531         * hashtable.h: Don't prototype approx_sqrt.
9532         * line-map.c (init_line_maps): Rename linemap_init.
9533         (free_line_maps): Rename linemap_free.
9534         (add_line_map): Rename linemap_add.
9535         (lookup_line): Rename linemap_lookup.
9536         (print_containing_files): Rename linemap_print_containing_files.
9537         * linemap.h: Update to match.
9538
9539         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
9540         linemap routines to use new names.
9541
9542 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
9543
9544         * c-common.c (handle_packed_attribute): Don't pack a struct via a
9545         typedef. Propagate packedness from a main variant.
9546
9547 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
9548
9549         * Makefile.in (install-common): Add dependency on installdirs.
9550
9551 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
9552
9553         * c-common.c (c_common_type_for_mode): Return integer types for
9554         pointer modes.
9555
9556 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
9557
9558         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
9559         (finish_decl): Call maybe_apply_pragma_weak here.
9560         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
9561         TREE_PUBLIC and TREE_STATIC are decided.
9562         (start_function): Move call to maybe_apply_pragma_weak.  Check that
9563         DECL_ASSEMBLER_NAME isn't set too early.
9564
9565         * cpplex.c (_cpp_process_line_notes): Mention option name in
9566         trigraphs warning.
9567
9568 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
9569
9570         * combine.c (if_then_else_cond): Simplify the comparison of
9571         rtx against -1, 0, and 1.
9572         * loop.c (check_dbra_loop): Likewise.
9573         * optabs.c (emit_conditional_move): Likewise.
9574         (emit_conditional_add): Likewise.
9575         * config/i386/i386.md (*movsi_or): Likewise.
9576         (*movdi_or_rex6): Likewise.
9577
9578 2003-07-22  Jan Hubicka  <jh@suse.cz>
9579
9580         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
9581
9582 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
9583
9584         * cppfiles.c (open_file_pch): Don't put unused entries in the
9585         splay tree.  Remove dead code.
9586
9587 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
9588
9589         * c-common.h (num_in_fnames): Declare.
9590         (c_static_assembler_name): Move from here...
9591         * c-tree.h (c_static_assembler_name): ... to here.
9592         * c-opts.c: Don't include langhooks-def.h.
9593         (c_static_assembler_name): Move to c-decl.c.
9594         (num_in_fnames): Make externally visible.
9595         * c-decl.c: Include langhooks-def.h.
9596         (c_static_assembler_name): Move from c-opts.c.
9597         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
9598         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
9599
9600         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
9601         when it's not needed.
9602
9603 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
9604
9605         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
9606         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
9607         (rs6000_emit_prologue): Save FPRs inline if set.
9608
9609 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
9610
9611         * config/ia64/ia64.md (prefetch): Support predicate.
9612
9613 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
9614
9615         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
9616         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
9617         table.
9618
9619 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
9620
9621         PR optimization/11536
9622         * unroll.c (loop_iterations): Do not replace a register holding
9623         the final value by its equivalent before the loop if it is not
9624         invariant.
9625
9626 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
9627
9628         * doc/extend.texi: Fixes to spelling, grammar, and diction.
9629
9630 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
9631
9632         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
9633         (V850 Options): Spelling fixes.
9634
9635 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
9636
9637         * doc/invoke.texi: Fixes to style, grammar and diction.
9638
9639 2003-07-20  Roger Sayle  <roger@eyesopen.com>
9640
9641         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
9642         * system.h (SMALL_STACK): Poison obsolete target macro.
9643         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
9644
9645 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
9646
9647         * configure.in:  Cache the results of testing for cmp's capabilities.
9648         * configure:  Regenerate.
9649
9650 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
9651
9652         PR debug/11279
9653         * dwarf2out.c (gen_enumeration_type_die): Remember that
9654         enumerators can be unsigned.
9655
9656 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
9657
9658         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
9659         (push_label_level, pop_label_level): Kill.
9660         (struct binding_level): Rename level_chain to outer.
9661         Add outer_function field.  Change parm_flag, function_body,
9662         keep, keep_if_subblocks to 1-bit bitfields of type bool.
9663         (current_function_level): New variable.
9664         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
9665         (keep_next_level, declare_parm_level, warn_if_shadowing):
9666         Update to match.
9667         (struct language_function): Kill named_labels, shadowed_labels fields.
9668         (c_init_decl_processing, start_function, c_push__function_context)
9669         (c_pop_function_context): No need to muck with named_labels nor
9670         shadowed_labels.
9671
9672         (make_binding_level): No need to clear the structure here.
9673         (pop_binding_level): Always operate on current_binding_level.
9674         Update current_function_level if necessary.
9675         (pushlevel): Don't clear named_labels.  Update current_function_level
9676         if necessary.  Use "true" and "false" where appropriate.
9677         (poplevel): Diagnose labels defined but not used, or vice
9678         versa, and clear out label-meanings leaving scope, while
9679         walking down the decls list, for all binding levels.
9680         Handle LABEL_DECLs appearing in the shadowed list.
9681         pop_binding_level takes no arguments.
9682         (pushdecl_function_level): Use current_function_level.
9683
9684         (make_label, bind_label): New static functions.
9685         (declare_label): New exported function.
9686         (lookup_label, define_label): Rewritten for new data structure.
9687         (shadow_label): Kill.
9688
9689         * c-tree.h: Prototype declare_label; don't prototype
9690         push_label_level, pop_label_level, nor shadow_label.
9691         * c-parse.in: Remove all calls to push_label_level and
9692         pop_label_level.  Use declare_label for __label__ decls.
9693
9694         * doc/extend.texi: Clarify that __label__ can be used to
9695         declare labels with local scope in any nested block, not
9696         just statement expressions.  Cross-reference nested functions
9697         section from local labels section.
9698
9699 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9700
9701         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
9702
9703 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
9704
9705         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
9706
9707 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9708
9709         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
9710         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
9711
9712 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
9713
9714         * config/s390/s390.c (legitimize_pic_address): Access local symbols
9715         relative to the GOT instead of relative to the literal pool base.
9716         (s390_output_symbolic_const): Handle new GOT-relative accesses.
9717         * config/s390/s390.md ("call"): Access local functions and PLT stubs
9718         relative to the GOT instead of relative to the literal pool base.
9719         ("call_value"): Likewise.
9720         ("call_value_tls"): Likewise.
9721
9722         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
9723         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
9724         (s390_chunkify_finish): Likewise.
9725         (s390_chunkify_cancel): Likewise.
9726         (s390_reorg): Adapt caller.
9727         (find_base_register_in_addr,
9728         find_base_register_ref, replace_base_register_ref): Delete.
9729         (find_ltrel_base, replace_ltrel_base): New functions.
9730         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
9731         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
9732         base vs. index register usage.
9733         (struct constant_pool): Remove 'anchor'.
9734         (s390_add_anchor): Delete.
9735         (s390_dump_pool): Remove anchor handling.
9736         * config/s390/s390.md ("reload_anchor"): Remove.
9737
9738         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
9739         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
9740         (s390_emit_prologue): Use it.
9741         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
9742         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
9743         hard-code register 14.
9744         * config/s390/s390-protos.h (s390_load_got): Declare.
9745
9746         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
9747         Support TImode constants.
9748         * config/s390/s390.md ("consttable_ti"): New.
9749         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
9750
9751         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
9752         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
9753         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
9754         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
9755         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
9756         New symbolic constants.
9757         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
9758         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
9759         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
9760         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
9761         symbolic UNSPEC values.
9762         * config/s390/s390.c (larl_operand, s390_short_displacement,
9763         bras_sym_operand, s390_cannot_force_const_mem,
9764         s390_delegitimize_address, s390_decompose_address,
9765         legitimize_pic_address, s390_output_symbolic_const,
9766         s390_function_profiler): Use symbolic UNSPEC values.
9767
9768 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9769
9770         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
9771         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
9772         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
9773         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
9774         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
9775         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
9776         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
9777         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
9778         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
9779         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
9780         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
9781         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
9782         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
9783         postreload.c prefix.c print-tree.c protoize.c ra-build.c
9784         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
9785         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
9786         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
9787         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
9788         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
9789         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
9790         casts.
9791
9792 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9793
9794         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
9795         * toplev.h (warning): Remove attribute.
9796
9797 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9798
9799         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
9800         (pop_label_level): Likewise.
9801         (duplicate_decls): Likewise.
9802         (implicitly_declare): Likewise.
9803         (shadow_label): Likewise.
9804         (start_decl): Likewise.
9805         (finish_decl): Likewise.
9806         (grokdeclarator): Likewise.
9807         (get_parm_info): Likewise.
9808         (detect_field_duplicates): Likewise.
9809         (finish_struct): Likewise.
9810         (start_function): Likewise.
9811         (store_parm_decls): Likewise.
9812         (finish_function): Likewise.
9813         (c_expand_body_1): Likewise.
9814         (check_for_loop_decls): Likewise.
9815         (merge_translation_unit_decls): Likewise.
9816
9817 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
9818
9819         * common.opt:  Document --param.
9820         * opts.c (columns, undocumented_msg): New.
9821         (print_help): Get number of columns from environment.  Print
9822         --param help.  Tweak newline handling.
9823         (print_param_help): New.
9824         (print_filtered_help): Better handling of duplicates.  Complain
9825         about undocumented switches.
9826         (print_switch): New.
9827         (wrap_help): Improve wrapping, use COLUMNS.
9828         * opts.sh: Ignore comments in records.
9829         * params.def: Fix typos and remove trailing periods.
9830         * toplev.c (display_help): Don't dump --param help.
9831         * doc/sourcebuild.texi: Update.
9832
9833 2003-07-18  Richard Henderson  <rth@redhat.com>
9834
9835         PR target/11556
9836         * optabs.c (prepare_operand): Fail gracefully instead of abort
9837         if the predicate doesn't satisfy.
9838         (gen_cond_trap): Allow prepare_operand to fail.
9839
9840 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9841
9842         * c-common.c: Don't undefine GCC_DIAG_STYLE.
9843         (fname_decl): Don't use xxx_with_decl.
9844         (c_add_case_label): Likewise.
9845         (handle_section_attribute): Likewise.
9846         (handle_alias_attribute): Likewise.
9847         (handle_no_instrument_function_attribute): Likewise.
9848         (handle_no_limit_stack_attribute): Likewise.
9849         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
9850         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
9851
9852 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9853
9854         * Makefile.in (ifcvt.o): Add cfgloop.h.
9855         * basic-block.h (EDGE_LOOP_EXIT): New flag.
9856         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
9857         * ifcvt.c: Include cfgloop.h.
9858         (mark_loop_exit_edges): New static function.
9859         (if_convert): Call it.
9860         (find_if_header): Ignore branches out of loops.
9861
9862 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
9863
9864         * combine.c (simplify_comparison): Don't share rtx when converting
9865         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
9866
9867 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
9868
9869         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
9870         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
9871         (MUST_PASS_IN_STACK): Define.
9872         (BLOCK_REG_PADDING): Define.
9873
9874 2003-07-18  Richard Henderson  <rth@redhat.com>
9875
9876         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
9877         to skip the addr_vec.
9878
9879 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
9880
9881         * combine.c (combinable_i3pat): Don't forbid occurrences of
9882         i2dest or i1dest in inner_dest if inner_dest is a mem.
9883
9884 2003-07-18  Jan Hubicka  <jh@suse.cz>
9885
9886         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
9887
9888 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
9889
9890         PR target/11087
9891         * loop.c (basic_induction_var): Check if convert_modes emitted any
9892         instructions. Remove them and return 0 if so.
9893
9894 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
9895
9896         PR optimization/11083
9897         * toplev.c (rest_of_handle_addresof): Rename into
9898         rest_of_handle_addressof.  Delete unreachable blocks
9899         if dead edges were purged after the addressof pass.
9900
9901 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
9902
9903         * Makefile.in, configure, configure.in: Remove handling of
9904         lang-options.h and options_.h.
9905         * toplev.c (struct lang_opt, documented_lang_options): Remove.
9906         (display_help): Don't use documented_lang_options.
9907
9908 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
9909
9910         * c-decl.c (pushdecl_function_level): Make static, return nothing.
9911         (kept_level_p): Fold into poplevel.
9912         (undeclared_variable): Moved here from c-typeck.c.  Export.
9913         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
9914         (undeclared_variable): Prototype here.  Don't prototype
9915         kept_level_p nor pushdecl_function_level.
9916         * c-parse.in: Change first argument to poplevel from
9917         "kept_level_p()" to "KEEP_MAYBE".
9918         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
9919
9920 2003-07-17  Roger Sayle  <roger@eyesopen.com>
9921
9922         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
9923         commutative operands instead of modifying the RTL in-place.
9924
9925 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
9926
9927         PR optimization/11557
9928         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
9929         unless we know which function is being called.
9930
9931 2003-07-17  Roger Sayle  <roger@eyesopen.com>
9932
9933         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
9934         whether to reorder the operands of a commutative binary operator.
9935
9936 2003-07-17  Roger Sayle  <roger@eyesopen.com>
9937
9938         * fold-const.c (const_binop): Avoid performing the FP operation at
9939         compile-time, if either operand is NaN and we honor signaling NaNs,
9940         or if we're dividing by zero and either flag_trapping_math is set
9941         or the desired mode doesn't support infinities.
9942         (fold_initializer): New function to fold an expression ignoring any
9943         potential run-time exceptions or traps.
9944         * tree.h (fold_initializer): Prototype here.
9945         * c-typeck.c (build_binary_op): Move to the end of the file so
9946         that intializer_stack is in scope.  If constructing an initializer,
9947         i.e. when initializer_stack is not NULL, use fold_initializer to
9948         fold expressions.
9949         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
9950         performing FP operations at compile-time, if they would raise an
9951         exception at run-time.
9952
9953 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
9954
9955         PR 11498
9956         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
9957         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
9958         (GTFILES): Add langhooks.c.
9959         (gt-langhooks.h): New.
9960         * c-common.h (c_static_assembler_name): Prototype.
9961         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
9962         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
9963         * c-opts.c: Include langhooks-def.h.
9964         (c_static_assembler_name): New.
9965         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
9966         (var_labelno): New.
9967         (lhd_set_decl_assembler_name): Give static objects with context
9968         unique names.
9969         * varasm.c (var_labelno): Delete.
9970         (make_decl_rtl): Don't change the assembler name once it's set.
9971
9972         * c-opts.c (this_input_filename): New.
9973         (finish_options): Take new parameter, name of file being compiled.
9974         Update callers.  Set this_input_filename.
9975         (push_command_line_include): Use this_input_filename not
9976         main_input_filename.
9977
9978 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
9979
9980         * Makefile.in: Depend .pot generation on options.c.
9981         * po/exgettext: Add an extra_files variable containing additional
9982         files to scan.
9983
9984 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
9985
9986         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
9987         c_write_global_declarations.
9988
9989         * c-decl.c: Fix typos in several comments.  Remove all
9990         #if 0 blocks; reindent as needed.  Remove unused argument
9991         to declare_parm_level; all callers changed.
9992         * c-parse.in: Update calls to declare_parm_level.  Avoid
9993         issuing a double warning in some circumstances.
9994         * c-typeck.c: Update calls to declare_parm_level.
9995         * c-tree.h: Update prototype of declare_parm_level.
9996
9997         * c-pragma.c (apply_pragma_weak): Don't complain about a
9998         redundant #pragma weak.
9999
10000         * objc/objc-act.c (forward_declare_categories,
10001         build_selector_reference_decl, build_class_reference_decl,
10002         build_objc_string_decl, synth_forward_declarations,
10003         build_protocol_reference): Set TREE_PUBLIC on synthetic
10004         forward decl to 0, consistent with eventual definition.
10005         Correct comments to match.
10006
10007         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
10008         in regexp that don't form a range expression.
10009         * fixinc/fixincl.def: Regenerate.
10010
10011 2003-07-17  Richard Henderson  <rth@redhat.com>
10012
10013         PR target/10907
10014         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
10015         even with !TARGET_CONST_GP.
10016         (ia64_function_ok_for_sibcall): Reject non-local functions.
10017
10018 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
10019
10020         * c-common.c (c_estimate_num_insns_1): Don't handle
10021         METHOD_CALL_EXPR.
10022         * expr.c (safe_from_p): Likewise.
10023         * gengtype.c (adjust_field_tree_exp): Likewise.
10024         * stmt.c (warn_if_unused_value): Likewise
10025         * tree.c (first_rtl_op): Likewise.
10026         * tree.def: Don't define METHOD_CALL_EXPR.
10027         * java/lang.c (java_estimate_num_insns_1): Don't handle
10028         METHOD_CALL_EXPR.
10029
10030 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
10031
10032         PR other/11466
10033         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
10034         and its restrictions for the SPARC64 port.
10035         Move the entry of "-mimpure-text" before that of "-mv8".
10036
10037 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
10038             Phil Edwards <phil@jaj.com>
10039
10040         * doc/install.texi (*-*-solaris2*): Document the step-by-step
10041         procedure to bootstrap and install.
10042         Document the preference for the legacy Sun tools in /usr/bin
10043         over the POSIX tools in /usr/xpg4/bin for the build process.
10044
10045 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
10046
10047         * c.opt: Document Uncodumented; use it.  Document ObjC options.
10048         * opts.c (print_filtered_help): Skip undocumented switches.
10049         * opts.h (CL_UNDOCUMENTED): New.
10050         * opts.sh: Handle Undocumented.
10051         * toplev.c (documented_lang_options): Prevent its becoming empty.
10052 objc:
10053         * lang-options.h: Remove.
10054
10055 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
10056
10057         * loop.c (check_ext_dependent_givs): Pass const struct loop *
10058         instead of struct loop_info * as argument.  Accept BIVs with
10059         increment +/- 1 provided there is a friendly exit test against
10060         a loop-invariant value.
10061         (strength_reduce): Adapt call to check_ext_dependent_givs.
10062
10063 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
10064             Con Bradley <con.bradley@superh.com>
10065
10066         * sh-protos.h (sh_get_pr_initial_val): Declare.
10067         * sh.c (regno_reg_class): Make its elements type enum reg_class.
10068         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
10069         and live_regs_mask arguments.  Changed all callers.
10070         (save_schedule_s): New structure.
10071         (save_schedule): New typedef.
10072         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
10073         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
10074         In interrupts handlers, also save registers that are usually
10075         partially saved, and make sure there is at least one general purpose
10076         register saved if a target register needs saving.
10077         Add casts in comparisons to avoid warnings.
10078         (sh_media_register_for_return): return -1 for interrupt handlers.
10079         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
10080         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
10081         registers used are available.
10082         Set RTX_FRAME_RELATED_P where appropriate.
10083         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
10084         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
10085         (initial_elimination_offset): Likewise.
10086         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
10087         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
10088         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
10089         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
10090         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
10091         and for target registers.
10092         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
10093         (regno_reg_class): Make its elements type enum reg_class.
10094         (CONSTRAINT_LEN): Don't use isdigit.
10095         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
10096         (FUNCTION_ARG): Add parentheses to avoid warnings.
10097         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
10098         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
10099         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
10100         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
10101         * sh.md (xordi3+1): Remove unused variable regno.
10102         (return_media): Check that tr0 is available before using it.
10103
10104 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
10105
10106         * c.opt: Document more options.
10107
10108 2003-07-16  Roger Sayle  <roger@eyesopen.com>
10109
10110         * combine.c (subst): Also handle (subreg (const_double ...)) case
10111         if created by a substitution, by using the original inner mode.
10112
10113 2003-07-16  Roger Sayle  <roger@eyesopen.com>
10114
10115         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
10116         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
10117         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
10118
10119 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
10120
10121         * doc/install.texi (--without-headers): New.
10122
10123         Partial Fix PR/10129
10124         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
10125         (machopic_output_function_base_name): New; print the true pic label.
10126         (machopic_classify_ident): Pic Base is always a defined data.
10127         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
10128         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
10129
10130         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
10131         if they are not floating point registers.
10132
10133         PR c/10962
10134         * ggc.h: Add header guards.
10135         * c-decl.c (finish_struct): Sort fields if
10136         number greater than 15 and there are no
10137         anonymous structs/unions.
10138         * c-common.h: Include ggc.h.
10139         (sorted_fields_type): New struct.
10140         (field_decl_cmp): New prototype.
10141         (resort_sorted_fields): New prototype.
10142         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
10143         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
10144         as s, removing other fields.
10145         * c-typeck.c (lookup_field): Use s in lang_type.
10146         These were mostly moved from cp/class.c:
10147         * c-common.c (field_decl_cmp): New static function.
10148         (field_decl_cmp): New function.
10149         (resort_sorted_fields): New function.
10150
10151 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
10152
10153         * config/darwin.c (machopic_select_section): Use decl_readonly_section
10154         to do most of the work.
10155
10156 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
10157
10158         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
10159         * config/mmix/mmix.c: Convert functions to ISO C90.
10160         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
10161         formatting.
10162         (mmix_get_hard_reg_initial_val): Tweak section head comment.
10163
10164 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
10165
10166         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
10167
10168 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
10169
10170         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
10171         (uw_update_context_1): Use it.
10172         * config/rs6000/rs6000.c (insn_after_throw): Remove.
10173         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
10174         in parent frame if _Unwind_* called directly instead of through
10175         .plt.
10176         (rs6000_emit_eh_toc_restore): Remove.
10177         (rs6000_emit_prologue): Update stack pointer before doing any saving
10178         if current_function_calls_eh_return.  Generate unwind info for $r2.
10179         (rs6000_emit_epilogue): Restore stack pointer after doing all
10180         restoring if current_function_calls_eh_return.  Restore $r2.
10181         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
10182         * config/rs6000/rs6000.md (eh_return): Remove call to
10183         rs6000_emit_eh_toc_restore.
10184         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
10185         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
10186
10187 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
10188
10189         * expr.c (emit_block_move): Don't move anything if size is const 0.
10190         (clear_storage): Test against const0_rtx instead of comparing INTVAL
10191         against 0.
10192
10193 2003-07-15  David S. Miller  <davem@redhat.com>
10194
10195         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
10196         emit nop if the last real insn is CALL_INSN.
10197
10198 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
10199
10200         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
10201         as "nul".
10202         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
10203
10204 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
10205
10206         * config/i386/winnt.c (associated_type): Artificial methods are not
10207         affected by the import/export status of their class unless they are
10208         COMDAT.
10209         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
10210
10211         * config/i386/winnt.c: Fix GCC copyright comment.
10212
10213 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
10214
10215         PR c++/11531
10216         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
10217         not recursing on hard error.
10218         (diagnostic_for_decl): Likewise.
10219         * diagnostic.def: Rearrange.
10220
10221 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
10222
10223         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
10224         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
10225
10226 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
10227             Richard Henderson  <rth@redhat.com>
10228
10229         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
10230         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
10231         (_Unwind_SetGR): Likewise.
10232         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
10233         (Unwind_SpTmp): New typedef.
10234         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
10235         (uw_update_context): Use _Unwind_GetPtr.
10236         (init_dwarf_reg_size_table): Move above uw_init_context_1.
10237         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
10238         Use _Unwind_SetSpColumn.
10239         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
10240         Use _Unwind_GetPtr.
10241
10242 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
10243
10244         * c.opt: Document more options.
10245         * toplev.c (documented_lang_options): Remove all local help strings.
10246
10247 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
10248
10249         PR debug/11473
10250         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
10251         base classes.
10252
10253 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
10254
10255         PR target/10795
10256         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
10257         swap comparison operands if doing so would generate an
10258         unrecognizable insn.
10259
10260 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
10261
10262         PR optimization/11320
10263         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
10264         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
10265         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
10266         current_sched_info->compute_jump_reg_dependencies. Record which
10267         registers are used and which registers are set by the jump.
10268         Clear deps->reg_conditional_sets after a barrier.
10269         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
10270         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
10271         (init_deps): Initialize reg_conditional_sets.
10272         (free_deps): Clear reg_conditional_sets.
10273         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
10274         Mark registers live on entry of the fallthrough block and conditionally
10275         set as set by the jump. Mark registers live on entry of non-fallthrough
10276         blocks as used by the jump.
10277         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
10278         Mark new parameters as unused.
10279
10280 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
10281
10282         * doc/invoke.texi: Resync MIPS -march documentation.
10283
10284 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
10285
10286         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
10287         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
10288         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
10289         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
10290         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
10291         (mips_issue_rate): Handle PROCESSOR_R9000.
10292         (mips_use_dfa_pipeline_interface): Likewise.
10293         * config/mips/9000.md: New file.
10294         * config/mips/mips.md: Include it.
10295         (define_attr cpu): Add r9000.
10296         (mulsi3_mult3): Use "mul" for rm9000 code.
10297
10298 2003-07-15  Stan Cox  <scox@redhat.com>
10299
10300         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
10301         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
10302         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
10303         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
10304         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
10305         (mips_issue_rate): Handle PROCESSOR_R7000.
10306         (mips_use_dfa_pipeline_interface): Likewise.
10307         * config/mips/7000.md: New file.
10308         * config/mips/mips.md: Include it.
10309         (define_attr cpu): Add r7000.
10310         (mulsi3_mult3): Use "mul" for rm7000 code.
10311
10312 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
10313
10314         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
10315         the conditional move patterns.
10316         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
10317         Check for condmove type.
10318         (ir_vr54_arith): Add move type.
10319         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
10320         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
10321
10322 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
10323
10324         * c-opts.c (print_help): Remove.
10325         (c_common_handle_option): Don't handle --help.
10326         * c.opt: Document some options.
10327         (--help): Remove.
10328         * opts.c (print_filtered_help): New.
10329         (print_help): Use it.
10330
10331 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
10332
10333         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
10334         * tree.c: (build_common_tree_nodes_2): Likewise.
10335         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
10336         (V4DF_type_node): New.
10337
10338         * c-opts.c (push_command_line_include): Don't free deferred_opts,
10339         we'll need it.
10340         (finish_options): Reset init_cursor.
10341
10342 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
10343
10344         * expr.c (expand_assignment): Remove an unused argument
10345         SUGGEST_REG.
10346         * expr.h: Update the prototype.
10347         * function.c: Update the callers.
10348         * stmt.c: Likewise.
10349
10350 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
10351
10352         PR debug/11098
10353         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
10354         as DECL_ABSTRACT.
10355
10356 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10357
10358         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
10359         with __cplusplus, not "we must use the C++ compiler's type"
10360         * fixinc/inclhack.def (void_null): Note that Interix needs this.
10361         * fixinc/fixincl.x: Regenerate.
10362
10363 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
10364
10365         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
10366         and unseen_objects from the global data before calling
10367         __deregister_frame_info_bases.
10368         (examine_objects): Insert objects into the seen_objects list,
10369         not unseen_objects.
10370         (_Unwind_Find_FDE): Always unlock the global object lists, even if
10371         we couldn't allocate a data structure to put in it.
10372
10373         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
10374         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
10375         (SET_TYPE_PROTOCOL_LIST): New.
10376         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
10377         (get_object_reference): Likewise.
10378
10379 2003-07-14  Jan Hubicka  <jh@suse.cz>
10380
10381         * cfglayout.c (locator_file): Break out from ....
10382         (insn_file): ... here.
10383         (locator_line): Break out from ....
10384         (insn_line): ... here.
10385         * rtl.h (locator_file, locator_line): Declare.
10386         (final_start_function): Set proper line/file info.
10387
10388 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10389
10390         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
10391         handled by pp_c_cast_expression.
10392
10393 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
10394
10395         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
10396         allocate 32768 bytes of stack.  Use addition rather than subtraction
10397         when a single insn is enough.
10398         * config/mips/mips.md: Remove insns and splitters for subtracting
10399         constants.
10400         (subsi3): Only accept register operands.
10401         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
10402         (subdi3_internal_3, subsi3_internal_2): Likewise.
10403         (casesi): Use expand_binop to subtract the lower bound.
10404
10405 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
10406
10407         * config/mips/mips.c (mips_in_small_data_p): Don't handle
10408         TARGET_MIPS16 specially.
10409
10410 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
10411
10412         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
10413         mips_output_aligned_bss.
10414         * config/mips/linux.h: Likewise.
10415         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
10416         * config/mips/mips.c (mips_output_aligned_bss): New function.
10417
10418         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
10419         * config/mips/elf64.h: Likewise.
10420
10421         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
10422         mips_declare_object_name.
10423         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
10424         * config/mips/elf64.h: As for elf.h.
10425         * config/mips/iris6.h: Likewise.
10426         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
10427         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
10428         do...while (0) block.
10429         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
10430         (mips_finish_declare_object): Declare.
10431         * config/mips/mips.c (mips_declare_object_name): New function.
10432         (mips_finish_declare_object): New function.
10433
10434         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
10435         * config/mips/linux.h: Likewise.
10436
10437         * config/mips/mips.c (inside_function): Delete.
10438         (file_in_function_warning, ignore_line_number): Delete.
10439         (mips_output_filename): Don't warn about changing filenames within
10440         a function.
10441         (mips_output_lineno): Update accordingly.
10442         (mips_output_function_prologue): Don't reset the deleted variables.
10443         * config/mips/mips.h (inside_function): Delete.
10444         (file_in_function_warning, ignore_line_number): Delete.
10445
10446         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
10447         * config/mips/elf64.h: Likewise.
10448         * config/mips/openbsd.h: Likewise.
10449         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
10450         * config/mips/linux.h: Likewise.
10451         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
10452         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
10453
10454         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
10455         to the list of include files when using gas.
10456         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
10457         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
10458         * config/mips/elf64.h: Likewise.
10459         * config/mips/iris5.h: Likewise.
10460         * config/mips/linux.h: Likewise.
10461         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
10462         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
10463         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
10464         * config/mips/sdb.h: ...this new file.
10465
10466 2003-07-14  Douglas Rupp  <rupp@gnat.com>
10467
10468         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
10469         argument to getcwd; use fixed buffer instead.
10470
10471 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
10472
10473         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
10474         * fixinc/fixinc.wrap: Delete.
10475
10476 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
10477
10478         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
10479         don't have 2.
10480
10481 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
10482
10483         * ggc-page.c (struct globals): Add new fields to keep track of the
10484         total allocated memory and overhead.
10485         (ggc_print_statistics): Print them.
10486         (ggc_alloc): Keep track of the total allocated memory and the
10487         overhead.
10488
10489         * tree.c (dump_tree_statistics): Increase spacing.
10490         (enum tree_node_kind): Move to ...
10491         * tree.h (enum tree_node_kind): ... here.
10492         (tree_node_counts, tree_node_sizes): Declare.
10493
10494 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
10495
10496         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
10497
10498 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10499
10500         PR optimization/11440
10501         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
10502         SIGN_EXTRACT SETs.
10503
10504 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
10505
10506         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
10507         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
10508         (emit_group_load, emit_group_store): Adjust declarations.
10509         Remove most occurrences of #ifdef TREE_CODE.
10510         * expr.c (emit_group_load): Add "type" param, and use
10511         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
10512         aligned accesses if !SLOW_UNALIGNED_ACCESS.
10513         (emit_group_store): Likewise.
10514         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
10515         emit_group_load and emit_group_store calls.
10516         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
10517         BLOCK_REG_PADDING to determine whether we need endian_correction.
10518         (load_register_parameters): Localize vars.  Handle shifting of
10519         small values to the correct end of regs.  Adjust emit_group_load
10520         call.
10521         (expand_call, emit_library_call_value_1): Adjust emit_group_load
10522         and emit_group_store calls.
10523         * function.c (assign_parms): Set mem alignment for stack slots.
10524         Adjust emit_group_store call.  Store values at the "wrong" end
10525         of regs to the stack.  Use BLOCK_REG_PADDING.
10526         (locate_and_pad_parm): Save where_pad.
10527         (expand_function_end): Adjust emit_group_load call.
10528         * stmt.c (expand_value_return): Adjust emit_group_load call.
10529         * Makefile.in (calls.o): Depend on $(OPTABS_H).
10530         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
10531         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
10532         (MUST_PASS_IN_STACK): Define.
10533         (BLOCK_REG_PADDING): Define.
10534         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
10535         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
10536         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
10537         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
10538         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
10539
10540 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
10541
10542         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
10543
10544 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10545
10546         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
10547         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
10548
10549 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10550
10551         PR other/11123
10552         * toplev.c: Don't cut off option names.
10553
10554 2003-07-13  Andreas Jaeger  <aj@suse.de>
10555
10556         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
10557         to integer of different size.
10558
10559 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
10560
10561         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
10562         to (eq (and X 1) 0).
10563
10564 2003-07-13  Andreas Jaeger  <aj@suse.de>
10565
10566         * config.gcc: Add pmmintrin.h for x86_64-*-*.
10567
10568 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
10569
10570         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
10571         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
10572         list.  Move these all together down by cpplib.
10573
10574         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
10575         definition of CPPCHAR_SIGNED_T.
10576
10577         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
10578         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
10579         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
10580
10581         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
10582         * cppinit.c (cpp_create_reader): Likewise.
10583
10584         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
10585         * cpptrad.c: Likewise.  All callers changed.
10586         * cpplib.c: All callers changed.
10587         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
10588         * hashtable.h: Define GTY(x) to nothing here too.
10589
10590 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10591
10592         * stor-layout.c (compute_record_mode): Remove very obsolete test
10593         that forces BLKmode for records with fields crossing word boundary.
10594
10595 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
10596
10597         * Makefile.in: Remove orphan reference to acconfig.h.
10598
10599 2003-07-13  Andreas Jaeger  <aj@suse.de>
10600
10601         * cgraphunit.c: Convert prototypes to ISO C90.
10602
10603 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
10604
10605         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
10606         (for OpenBSD).
10607         * fixinc/fixincl.x: Rebuild.
10608
10609 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
10610
10611         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
10612         i?86-*-*.  Use correct name of cache variable.
10613         * configure: Regenerate.
10614
10615 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
10616
10617         * config/alpha/alpha.c: Fix comment typos.
10618         * config/alpha/alpha.md: Likewise.
10619         * config/arm/arm.c: Likewise.
10620         * config/arm/arm.md: Likewise.
10621         * config/arm/lib1funcs.asm: Likewise.
10622         * config/avr/avr.md: Likewise.
10623         * config/arm/README-interworking: Fix typos.
10624
10625 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
10626
10627         * c-format.c: Fix comment formatting.
10628         * c-typeck.c: Likewise.
10629         * coverage.c: Likewise.
10630         * cppcharset.c: Likewise.
10631         * cpplib.c: Likewise.
10632         * dbxout.c: Likewise.
10633         * gcov-io.h: Likewise.
10634         * toplev.c: Likewise.
10635
10636 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10637
10638         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
10639         fix.
10640
10641 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
10642
10643         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
10644         uses three-argument AC_DEFINE so no acconfig.h entries are
10645         needed.
10646         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
10647         which contains the GAS version number as a scaled integer.
10648         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
10649         ability to check for ELF assembler.
10650         (gcc_GAS_CHECK_FEATURE): New macro.
10651         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
10652         assembler feature checks using gcc_GAS_CHECK_FEATURE.
10653         Use three-argument AC_DEFINE everywhere.
10654         * acconfig.h: Deleted.
10655         * config.in, configure: Regenerate.
10656
10657 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
10658
10659         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
10660         (on OpenBSD).
10661         * fixinc/fixincl.x: Regenerate.
10662
10663         * fixinc/inclhack.def (gnu_types): Improve comment.
10664
10665 2003-07-12  Andreas Jaeger  <aj@suse.de>
10666
10667         * fp-test.c (main): Use ISO C90 prototype.
10668
10669         * version.c: Remove unneded include of ansidecl.h.
10670
10671         * cgraph.h: Convert prototypes to ISO C90.
10672         * cgraph.c: Likewise.
10673         * fix-header.c: Likewise.
10674         * ra.h: Likewise.
10675         * protoize.c: Likewise.
10676
10677 2003-07-12  Jan Hubicka  <jh@suse.cz>
10678
10679         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
10680         warning.
10681
10682 2003-07-12  Jan Hubicka  <jh@suse.cz>
10683                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10684
10685         * cgraph.c (cgraph_max_uid): New global variable.
10686         (cgraph_node): Set uid field.
10687         (create_edge): Keep inline flags consistent.
10688         (dump_cgraph): Dump more info.
10689         * cgraph.h (struct cgraph_local_info): Remove inline_many and
10690         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
10691         (struct cgraph_global_info): Add insns, calls, cloned_times,
10692         will_be_output.
10693         (struct cgraph_node): Add uid.
10694         (struct cgraph_edge): Add inline_call.
10695         (cgraph_max_uid, cgraph_inline_p): Declare.
10696         * cgraph.c: Include params.h and fibheap.h
10697         (cgraph_mark_functions_to_inline_once): Kill.
10698         (INSNS_PER_CALL): New constant.
10699         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
10700         static variables.
10701         (cgraph_finalize_function): Do not analyze inlining.
10702         (cgraph_finalize_compilation_unit): Set inlining attributes.
10703         (cgraph_mark_functions_to_output): More consistency checks.
10704         (cgraph_optimize_function): Set current_function_decl to NULL.
10705         (cgraph_expand_function): Use new inline flags.
10706         (cgraph_postorder): Expand from cgraph_expand_functions.
10707         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
10708         (cgraph_inlined_into, cgraph_inlined_callees,
10709         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
10710         cgraph_mark_inline, cgraph_check_inline_limits,
10711         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
10712         cgraph_decide_inlining, cgraph_inline_p): New functions.
10713         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
10714         PARAM_INLINE_UNIT_GROWTH): New parameters.
10715         * tree-inline.c (struct inline_data): New field current_decl.
10716         (expand_call_inline): Avoid forward declarations; use
10717         inlinable_function_p.
10718         (optimize_inline_calls): Set id.current_decl.
10719
10720 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
10721
10722         * configure.in: Remove wrongly added definition of
10723         local_prefix.
10724         * configure: Regenerate.
10725
10726 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
10727
10728         * rtl.def (NOTE): Do not use padding.
10729
10730 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
10731
10732         * doc/install.tex: Update required binutils for i?86-*-linux*
10733
10734 2003-07-11  Richard Henderson  <rth@redhat.com>
10735
10736         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
10737
10738 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
10739
10740         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
10741         TRANSLATION_UNIT_DECL as top_level.
10742
10743 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
10744
10745         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
10746         then fall back to cmpstrM.
10747         * builtins.c (expand_builtin_memcmp): Likewise.
10748         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
10749         (s390_expand_cmpmem): ... this.
10750         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
10751         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
10752         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
10753         to s390_expand_cmpmem.
10754         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
10755         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
10756         to cmpmem*.
10757         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
10758         cmpstr* patterns.
10759         * doc/md.texi (cmpstrM): Describe as String compare insn, not
10760         Block compare insn.
10761         (cmpmemM): Add.
10762
10763 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
10764
10765         * config/i386/freebsd.h (SET_ASM_OP): Remove.
10766         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
10767         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
10768          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
10769
10770 2003-07-11  Richard Henderson  <rth@redhat.com>
10771
10772         * function.c (assign_parms): Don't recombine complex args if
10773         fnargs is unchanged from orig_fnargs.
10774         (split_complex_args): Return args without complex before copying.
10775         Re-layout the modified parameters.
10776
10777 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
10778
10779         * regclass.c (choose_hard_reg_mode): Add third argument.
10780         Changed all callers.
10781         * rtl.h (choose_hard_reg_mode): Update declaration.
10782         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
10783         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
10784
10785 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
10786
10787         * c-decl.c (finish_decl): Handle 'used' here...
10788         * cgraphunit.c (cgraph_finalize_function): ... and here ...
10789         * c-common.c: (handle_used_attribute): ... not here.
10790
10791         * configure.in (onstep): Support --enable-intermodule.
10792         * Makefile.in (OBJS-common): New.
10793         (OBJS-md): New.
10794         (OBJS-archive): New.
10795         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
10796         (OBJS-onestep): New.
10797         (libbackend.a): Support @onestep@.
10798         (libbackend.o): New.
10799         * configure: Regenerate.
10800
10801         * c-common.h (c_reset_state): New prototype.
10802         (c_parse_file): New prototype.
10803         (finish_file): Move prototype from c-tree.h.
10804         * c-decl.c: Include <hashtab.h>.
10805         (builtin_decls): New.
10806         (current_file_decl): New.
10807         (duplicate_decls): Add extra parameter. Change all callers.  Don't
10808         output duplicate common symbols.
10809         (link_hash_hash): New.
10810         (link_hash_eq): New.
10811         (poplevel): Handle popping of the top level.
10812         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
10813         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
10814         (pushdecl_top_level): Likewise.
10815         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
10816         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
10817         (finish_decl): Handle TRANSLATION_UNIT_DECL.
10818         (merge_translation_unit_decls): New.
10819         (c_write_global_declarations): New.
10820         (c_reset_state): New.
10821         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
10822         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
10823         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
10824         TRANSLATION_UNIT_DECL.
10825         (c_objc_common_finish_file): Call merge_translation_unit_decls.
10826         * c-opts.c (in_fnames): Rename from in_fname.
10827         (c_common_decode_option): Handle multiple input filenames.
10828         (c_common_post_options): Likewise.
10829         (c_common_parse_file): Likewise; also, call c_parse_file rather than
10830         yyparse.
10831         * c-parse.in: Move cleanup code to c_parse_file.
10832         (free_parser_stacks): Move contents to c_parse_file.
10833         (c_parse_file): New.
10834         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
10835         for integer types.
10836         (C_DECL_FILE_SCOPE): New.
10837         (finish_file): Move prototype to c-common.h.
10838         (merge_translation_unit_decls): New prototype.
10839         (comptypes): Add extra parameter to prototype.
10840         (c_write_global_declarations): New prototype.
10841         * c-typeck.c (tagged_types_tu_compatible_p): New.
10842         (function_types_compatible_p): Add extra parameter, change all callers.
10843         (type_lists_compatible_p): Likewise.
10844         (comptypes): Likewise.
10845         (struct tagged_tu_seen): New.
10846         (tagged_tu_seen_base): New.
10847         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
10848         (c_mark_addressable): Remove #if 0 code.
10849         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
10850         comment explaining why it shouldn't have to.
10851         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
10852         options.
10853         * cppinit.c (cpp_read_next_file): New.
10854         (cpp_read_main_file): Use it.
10855         * cpplib.c (undefine_macros): New.
10856         (cpp_undef_all): New.
10857         * cpplib.h (cpp_read_next_file): Prototype.
10858         (cpp_undef_all): Prototype.
10859         * langhooks-def.h (write_global_declarations): Remove prototype.
10860         * toplev.h (write_global_declarations): Add prototype.
10861         * tree.c (decl_type_context): Use switch statement, handle
10862         TRANSLATION_UNIT_DECL.
10863         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
10864         (TRANSLATION_UNIT_DECL): New kind of tree.
10865         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
10866         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
10867         * doc/invoke.texi: Make attempt to document new functionality.
10868
10869         2003-05-19  Per Bothner <bothner@apple.com>
10870
10871         * gcc.c (combine_inputs): New.
10872         (process_command): Set combine_inputs.
10873         (do_spec_1): Handle combine_inputs.
10874         (main): Likewise.
10875
10876 2003-07-10  James E Wilson  <wilson@tuliptree.org>
10877
10878         PR optimization/9745
10879         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
10880         loop_insn_emit_before.
10881         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
10882
10883 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
10884
10885         * cppcharset.c: Fix comment.
10886         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
10887         (EILSEQ): #define to EINVAL if not already defined.
10888         (convert_using_iconv): #if out when !HAVE_ICONV.
10889         (init_iconv_desc): Handle !HAVE_ICONV here...
10890         (cpp_init_iconv): ...not here.
10891
10892 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
10893
10894         * common.opt: More --help messages.
10895         * opts.c (print_help): Use puts().
10896         * toplev.c (f_options): Remove help text.
10897         (display_help): Don't dump f_options.
10898
10899 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
10900
10901         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
10902         Move i?86-*-interix* to the don't-fix list.
10903         * fixinc/fixinc.interix: Delete with extreme prejudice.
10904
10905 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
10906
10907         PR bootstrap/10758
10908         * doc/install.texi: Document requirements for ia64-*-hpux* target.
10909
10910 2003-07-10  Roger Sayle  <roger@eyesopen.com>
10911
10912         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
10913
10914 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
10915
10916         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
10917         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
10918         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
10919         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
10920         convert_no_conversion, convert_using_iconv): New functions.
10921         (APPLY_CONVERSION): New macro.
10922         (struct conversion, conversion_tab): New data structure.
10923         (init_iconv_desc): Check conversion_tab for a custom conversion
10924         primitive before trying to use iconv.
10925         (convert_cset): Deleted.
10926         (cpp_init_iconv): Use UTF- terminology, not UCS-.
10927         (_cpp_destroy_iconv): Update to match.
10928         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
10929         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
10930         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
10931         (_cpp_interpret_string_notranslate): New function, moved here
10932         from cpplib.c.
10933
10934         * cpphash.h (convert_f, struct cset_converter): New types.
10935         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
10936         are now struct cset_converter, not bare iconv_t.
10937         Update prototypes.
10938         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
10939         all callers changed.
10940
10941 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
10942
10943         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
10944         to opts.sh command line.
10945         * opts.sh: Write to temporary files with a move-if-change at the end.
10946
10947 2003-07-10  Denis Chertykov  <denisc@overta.ru>
10948             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10949
10950         * combine.c (gen_binary): Handle the CLOBBER rtx and
10951         don't build a binary operation with it.
10952
10953 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10954
10955         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
10956         store_killed_after, store_killed_before): Keep track of the correct
10957         dependency function to use.
10958
10959 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
10960         * toplev.c (do_compile): Don't try to open dump files before
10961         lang_dependent_init initializes dump_base_name.
10962
10963 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10964
10965         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
10966         Use ARRAY_SIZE.
10967         * config/frv/frv.c (frv_expand_builtin): Likewise.
10968         * config/sh/sh.c (sh_media_init_builtins): Likewise.
10969
10970 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
10971
10972         PR c++/10032
10973         * doc/invoke.texi (C++ Dialect Options): Change documentation of
10974         -fpermissive.
10975
10976 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
10977
10978         * tm.texi (RETURN_ADDR_OFFSET): Document.
10979
10980 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
10981
10982         * gcov-io.h: Update documentation.
10983         (GCOV_UNSIGNED2STRING): New.
10984         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
10985         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
10986         GCOV_TAG_SUMMARY_LENGTH): Adjust.
10987         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
10988         GCOV_TAG_COUNTER_NUM): New.
10989         (GCOV_BLOCK_SIZE): Number of words.
10990         (gcov_var): Adjust buffer type.
10991         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
10992         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
10993         count, not byte count.
10994         (gcov_open): Adjust overread init.
10995         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
10996         gcov_write_string, gcov_write_tag, gcov_write_length,
10997         gcov_write_tag_length): Adjust.
10998         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
10999         (gcov_sync, gcov_seek): Adjust.
11000         * gcov-dump.c (print_usage): Show gcc version only.
11001         (dump_file): Use GCOV_UNSIGNED2STRING.
11002         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
11003         * gcov.c (print_version): Show gcc version only.
11004         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
11005         GCOV_TAG_*_NUM macros.
11006         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
11007         GCOV_TAG_COUNTER_LENGTH.
11008         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
11009         Use GCOV_TAG_COUNTER_NUM.
11010         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
11011         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
11012
11013 2003-07-10  Andreas Schwab  <schwab@suse.de>
11014
11015         * gcov-dump.c (dump_file): Fix missing address operator.
11016
11017 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
11018
11019         PR c/11449
11020         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
11021         of HOST_WIDE_INT.
11022         (fold_single_bit_test): If sign_bit_p() fails, assume that the
11023         bit being tested is not a sign bit.
11024
11025 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
11026
11027         * config/h8300/h8300.md (a peephole2): New.
11028
11029 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
11030
11031         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
11032         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
11033         from ld-linux.so.2 to ld.so.1.
11034         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
11035         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
11036         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
11037         nor -Wl,-rpath-link.
11038         (LIB_SPEC): Add -rpath-link if !static.
11039         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
11040         * config/mn10300/mn10300.c (mn10300_protect_label): New
11041         variable.
11042         * config/mn10300/linux.h (PRINT_OPERAND,
11043         PRINT_OPERAND_ADDRESS): Set it during their execution.
11044         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
11045         mn10300_protect_label is set.
11046         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
11047         -Wl,-rpath-link.
11048         (LIB_SPEC, STARTFILE_SPEC): Define.
11049         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
11050         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
11051         FLOAT_BIT_ORDER_MISMATCH.
11052         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
11053         * config.gcc (am33_2.0-*-linux*): Added.
11054         * config/mn10300/linux.h: New.
11055         * config/mn10300/t-linux: New.
11056
11057 2003-07-10  Andreas Jaeger  <aj@suse.de>
11058
11059         * fold-const.c: Properly wrap prototypes.
11060
11061 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
11062
11063         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
11064         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
11065         Moved from...
11066         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
11067         * config/mn10300/mn10300.h: GTY-declare it.
11068         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
11069         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
11070         prototype.  Use incoming RTL argument.
11071         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
11072         * config/mn10300/mn10300.md (int_label): Move C statements...
11073         (GOTaddr2picreg): ... here.
11074         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
11075         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
11076         * config/mn10300/mn10300.c (mn10300_encode_section_info):
11077         ... here.  New function.
11078         (TARGET_ENCODE_SECTION_INFO): Define to it.
11079         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
11080         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
11081         pattern name.
11082         (mn10300_loadPC): Define as insn splittable after reload.
11083         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
11084         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
11085         be defined in .rodata even in PIC, now that the assembler
11086         supports that.
11087         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
11088         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
11089         symbol take an underscore prefix.
11090         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
11091         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
11092         legitimize_pic_address): Declare.
11093         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
11094         the PIC register as fixed.
11095         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
11096         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
11097         PIC.
11098         (LEGITIMATE_PIC_OPERAND_P): Define.
11099         (PIC_OFFSET_TABLE_REGNUM): Define.
11100         (GOT_SYMBOL_NAME): Define.
11101         (SYMBOLIC_CONST_P): Define.
11102         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
11103         symbols.
11104         (MN10300_GLOBAL_P): Test it.
11105         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
11106         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
11107         * config/mn10300/mn10300.c (print_operand): Handle unspec.
11108         (expand_prologue): Set PIC register.
11109         (call_address_operand): Don't match SYMBOL_REFs in PIC.
11110         (legitimize_address): Call legitimize_pic_address.
11111         (legitimize_pic_address): New fn.
11112         (legitimate_pic_operand_p): New fn.
11113         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
11114         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
11115         UNSPEC_PLT): New constants.
11116         (pop_pic_reg): New insn.
11117         (movsi): Adjust non-PIC addresses.
11118         (builtin_setjmp_receiver): Restore the PIC register.
11119         (casesi): New insn.
11120         (call): Adjust non-PIC addresses.
11121         (int_label, GOTaddr2picreg): New expands.
11122         (am33_loadPC): New insn.
11123         (mn10300_loadPC): New expand.
11124         (call_next_insn): New insn.
11125         (add_GOT_to_pic_reg): New expand.
11126         (symGOT2reg, symGOT2reg_i): New expands.
11127         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
11128         (sym2PIC, sym2PLT): New expands.
11129
11130 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
11131
11132         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
11133         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
11134         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
11135         to flag_unsafe_math_optimizations.
11136         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
11137         * config/mn10300/mn10300.c (expand_prologue): Mark
11138         FP-register-saving insns as frame-related.
11139         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
11140         * config/mn10300/mn10300.c
11141         (mn10300_get_live_callee_saved_regs): Don't search past
11142         LAST_EXTENDED_REGNUM.
11143         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
11144         * config/mn10300/mn10300.md: Remove excessive line breaks from
11145         `@' output patterns that were accounted as additional
11146         alternatives.
11147         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
11148         Re-introduce changes accidentally removed in Richard Sandiford's
11149         2000-12-05's patch.
11150         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
11151         Re-instate am33-2 lost in merge from net GCC.
11152         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
11153         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
11154         floating-point registers.
11155         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
11156         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
11157         pessimizations that had gone in on 2000-05-08.
11158         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
11159         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
11160         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
11161         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
11162         operand 0.
11163         * (movhi): Likewise.
11164         * (movsi): Likewise.
11165         * (movsf): Likewise.
11166         * (movdi): Likewise.
11167         * (movdf): Likewise.
11168         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
11169         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
11170         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
11171         (expand_prologue, expand_epilogue): Save and restore FP regs.
11172         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
11173         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
11174         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
11175         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
11176         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
11177         Do not clobber cc0.
11178         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
11179         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
11180         Discourage the two-argument, longer opcodes.
11181         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
11182         ones.
11183         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
11184         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
11185         * config/mn10300/mn10300.md (cmpsf): New pattern.
11186         (branch): Test mdep.fpCC and output fbCC.
11187         * config/mn10300/mn10300.c (print_operand): Output conditions.
11188         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
11189         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
11190         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
11191         mulsf3, divsf3): Use the `F' constraint for FP values.
11192         * config/mn10300/mn10300.c (const_1f_operand): New function.
11193         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
11194         * config/mn10300/mn10300.md (sqrtsf2): New expand.
11195         (rsqrtsf2): New insn.
11196         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
11197         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
11198         previous check-in.
11199         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
11200         * config/mn10300/mn10300.md (abssf2, negdf2): On
11201         TARGET_AM33_2, expand to...
11202         (abssf2_am33_2, negdf2_am33_2): New insns.
11203         (addsf3, subsf3, mulsf3, divsf3): Likewise.
11204         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
11205         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
11206         movdi, movdf): Added FP regs.
11207         * invoke.texi (-mam33-2, -mno-am33-2): Document.
11208         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
11209         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
11210         New macros.
11211         (REGNO_AM33_2_FP_P): Renamed to...
11212         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
11213         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
11214         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
11215         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
11216         regs from GENERAL_REGS.
11217         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
11218         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
11219         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
11220         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
11221         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
11222         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
11223         as FP_REGS.
11224         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
11225         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
11226         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
11227         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
11228         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
11229         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
11230         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
11231         AM33/2.0 floating-point registers.
11232         (CONDITIONAL_REGISTER_USAGE): Adjust.
11233         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
11234         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
11235         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
11236         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
11237         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
11238         (MULTILIB_DIRNAMES): Likewise.
11239         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
11240         `__AM33_2__' when `-mam33-2' is given.
11241         (TARGET_AM33_2): Define.
11242         (TARGET_SWITCHES): Adjust.
11243         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
11244         when appropriate.
11245
11246 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
11247
11248         * doc/install.texi: Add missing @.
11249
11250 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
11251
11252         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
11253
11254 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
11255
11256         PR/11144
11257         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
11258
11259 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
11260
11261         PR bootstrap/11043
11262         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
11263         "x-crtfini.o" with "crtinit.o", "crtfini.o".
11264
11265         * fixinc/inclhack.def (limits_ifndefs): Add select test.
11266         * fixinc/fixincl.x: Rebuild.
11267
11268         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
11269         * fixinc/fixincl.x: Rebuild.
11270
11271 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
11272
11273         * doc/install.texi (Configuration): Document the valgrind option
11274         to --enable-checking.
11275
11276 2003-07-09  Jan Hubicka  <jh@suse.cz>
11277
11278         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
11279
11280 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11281
11282         * c-lex.c (cb_ident): Cast cstr.text to const char *.
11283
11284 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
11285
11286         * gcov-io.h: Update documentation.
11287         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
11288         GCOV_NOTE_MAGIC.
11289         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
11290         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
11291         (struct gcov_var): Change buffer's type. Add endian flag.
11292         (gcov_open): Remove mode in libgcov.
11293         (gcov_magic): Prototype.
11294         * gcov-io.c (from_file): New.
11295         (gcov_open): Clear endian flag.
11296         (gcov_magic): New.
11297         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
11298         pointers.
11299         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
11300         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
11301         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
11302         * gcov-iov.c (main): Correct cast.
11303         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
11304         conversion.
11305         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
11306         (coverage_init): Use GCOV_NOTE_SUFFIX.
11307         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
11308         Rename to gcov_version, and return flag.
11309         (gcov_exit): Use gcov_version.
11310         (__gcov_init): Use gcov_version.
11311         * Makefile.in (coverageexts): Update.
11312         * gcov.c (print_version): Remove endianness conversion.
11313         (create_file_names): Use GCOV_NOTE_SUFFIX.
11314         (read_graph_file): Use gcov_magic.
11315         (read_count_file): Likewise.
11316         * gcov-dump.c (dump_file): Remove endianness conversion, use
11317         gcov_magic.
11318
11319 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
11320
11321         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
11322         coverage is on.
11323         * configure: Regenerated.
11324         * Makefile.in (ALL_CFLAGS): Correct its comment.
11325
11326 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
11327
11328         * fold-const.c (make_range): Do not access operand 1 for a
11329         zero-operand operator.
11330
11331 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
11332
11333         * toplev.c (warn_dummy, W_options): Die.
11334         (display_help): Don't print W_options.
11335         * common.opt: Add W_options help from toplev.c.
11336
11337 2003-07-09  Andreas Jaeger  <aj@suse.de>
11338
11339         * opts.c (wrap_help): Only pass int arguments as arguments to
11340         printf's '*' modifier.  Change argument of function.
11341
11342 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
11343
11344         * doc/invoke.texi: Fix misspelling of "@item".
11345
11346 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
11347
11348         * config/i386/i386.md: Remove an old comment about
11349         NOTICE_UPDATE_CC.
11350
11351 2003-07-09  Jan Hubicka  <jh@suse.cz>
11352
11353         * cgraph.c (cgraph_node_name): New function.
11354         (dump_cgraph): Use it.
11355         * cgraph.h (cgraph_dump_file): Declare.
11356         (cgraph_node_name): Declare.
11357         * cgraphunit.c: Include timevar.h
11358         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
11359         (cgraph_optimize_function): Use TV_INTEGRATION.
11360         (cgraph_mark_local_functions): reorganize dumps.
11361         (cgraph_mark_functions_to_inline_once): Likewise.
11362         (cgraph_optimize): Likewise; use timevar.
11363         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
11364         * toplev.c (dump_file_index): Add DFI_cgraph.
11365         (dump_file_info): Likewise.
11366         (cgraph_dump_file): New global variable.
11367         (do_compile): Open and close cgraph dump.
11368         * invoke.texi (-d): Document new flag; renumber.
11369
11370 2003-07-08  Roger Sayle  <roger@eyesopen.com>
11371
11372         PR c/11370
11373         * calls.c (emit_call_1): Don't bother popping the arguments off of
11374         the stack after a noreturn function call;  The adjustment is dead.
11375         (expand_call): Likewise.
11376
11377 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
11378
11379         * expr.c (MOVE_MAX_PIECES): Move from here...
11380         * defaults.h (MOVE_MAX_PIECES): ... to here.
11381
11382 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
11383
11384         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
11385
11386 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11387
11388         * genattr.c (internal_dfa_insn_code): Don't prototype.
11389         * genattrtab.c (attr_desc): Add `static_p' field.
11390         (expand_units): Make blockage range and ready cost functions
11391         static.
11392         (write_attr_get): Don't add extern prototypes in C file.  Mark
11393         static functions as appropriate.
11394         (find_attr, make_internal_attr): Initialize static_p.
11395         * genattrtab.h (ATTR_STATIC): New macro.
11396         * genautomata.c (output_internal_reset_func): Mark output function
11397         as inline.
11398         (make_internal_dfa_insn_code_attr): Mark output function as static.
11399
11400 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11401
11402         * genattrtab.h: Add new macros for attr `special' flags.
11403         * genattrtab.c (attr_desc): Reorder/resize fields better.
11404         Use attr `special' macros in all calls to make_internal_attr.
11405         * genautomata.c: Likewise.
11406
11407 2003-07-09  Jan Hubicka  <jh@suse.cz>
11408
11409         * c-common.c (c_estimate_num_insns_1): New static function.
11410         (c_estimate_num_insns): New global function.
11411         * c-common.h (DECL_NUM_STMTS): Rename to...
11412         (DECL_ESTIMATED_INSNS): ... this.
11413         (c_estimate_num_insns): Declare.
11414         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
11415         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
11416         * c-semantics.c (add_stmt): Do not account statements.
11417         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
11418         New.
11419         * langhooks.h (lang_hooks_for_tree_inlining): Add
11420         estimate_num_insns
11421         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
11422         to 100.
11423         (max-inline-insns): set to 300.
11424         (min-inline-insns): set to 10.
11425         * tree-inline.c (struct inline_data): Rename inlined_stmts to
11426         inlined-insns.
11427         (INSNS_PER_STMT): Kill.
11428         (inlinable_function_p): Compute and store body size.
11429         (expand_call_inline): Likewise.
11430         (optimize_inline_calls): Likewise.
11431
11432 2003-07-08  James E Wilson  <wilson@tuliptree.org>
11433
11434         PR target/10021
11435         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
11436         loop over new variable t2 instead of t.
11437
11438 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
11439
11440         PR bootstrap/11455
11441         * config/i386/winnt.c: Replace use of error(), warning() with
11442         error_with_decl(), warning_with_decl(),  throughout.
11443
11444 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
11445
11446         * opts.c (wrap_help): Use unsigned int, not size_t.
11447
11448 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
11449
11450         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
11451         as .file/.loc directives are incompatible with linker relaxation.
11452
11453 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
11454
11455         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
11456         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
11457         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
11458         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
11459         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
11460         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
11461         Escape { and } characters which are not part of range expressions.
11462         * fixinc/fixincl.x: Regenerate.
11463         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
11464
11465 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
11466
11467         PR c/1687
11468         * tree-inline.c (find_alloca_call): Use
11469         walk_tree_without_duplicates, instead of walk_tree.
11470         (find_builtin_longjmp_call): Likewise.
11471         * c-objc-common.c (c_cannot_inline_fn): Likewise.
11472         * c-semantics.c (find_reachable_label): Likewise.
11473
11474 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
11475
11476         PR c/11420
11477         * config/i386/i386.c (ix86_check_movabs): New function.
11478         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
11479         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
11480         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
11481
11482 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
11483
11484         * Makefile.in (install-po): Cope with empty CATALOGS.
11485
11486 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
11487
11488         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
11489         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
11490         (SECTION_FUNCTION_TEMPLATE): Delete.
11491         * config/mips/elf.h: As for elf64.h.
11492         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
11493         * config/mips/linux.h: As for elf.h
11494         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
11495         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
11496         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
11497         of in_sdata from current_section_name and current_section_flags.
11498         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
11499         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
11500         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
11501         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
11502         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
11503         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
11504         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
11505         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
11506         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
11507         (override_options): Remove setting of MASK_GPOPT.
11508         (mips_output_external): Use mips_in_small_data_p to check whether a
11509         symbol needs an .extern directive.  Don't emit such directives for
11510         TARGET_EXPLICIT_RELOCS.
11511         (mips_declare_object): Update accordingly.
11512         (mips_select_rtx_section): Call named_section rather than
11513         SMALL_DATA_SECTION.
11514         (mips_select_section): Use default_elf_section_section for everything
11515         except .text string constants.
11516         (mips_in_small_data_p): New function.
11517         (mips_encode_section_info): Remove small data handling.
11518         (mips_unique_section): Delete.
11519         (iris6_section_type_flags): New function.
11520         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
11521
11522 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
11523
11524         PR Target/11453
11525         * pa.md: Disparage all mtsar constraints.
11526         (extzv, extv, insv): Don't fail on length of {32|64}.
11527
11528 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
11529
11530         * system.h: Poison MAP_CHARACTER.
11531         * config/i370/i370-protos.h (mvs_map_char): Delete.
11532         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
11533         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
11534         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
11535
11536 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
11537
11538         * toplev.c (randomize): Correct call to time().
11539
11540 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
11541
11542         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
11543         REG_EQUIV notes as well.
11544
11545 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
11546
11547         * doc/md.texi: Fix the description of addmodecc.
11548
11549 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
11550
11551         * Makefile.in (top_builddir): Set to "..", not ".".
11552         (INTLLIBS, INTLDEPS): Delete.
11553         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
11554         (LIBDEPS): Add $(LIBICONV_DEP).
11555         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
11556         (INCLUDES): Replace -I../intl with @INCINTL@.
11557         ($(top_builddir)/intl/libintl.a): Delete rule.
11558         (stage2-start, stage3-start, stage4-start, stageprofile-start,
11559         stagefeedback-start): Use $$ for variable to be evaluated by
11560         shell, not make.
11561         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
11562         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
11563         * aclocal.m4: sinclude ../config/progtest.m4.  Add
11564         contents of lcmessage.m4 from gettext distro.
11565         * configure.in: Check for wchar.h and setlocale.  Set
11566         LIBICONV_DEP to the empty string and substitute it.
11567         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
11568         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
11569         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
11570         in $LIBINTL, to avoid linking it twice.
11571         * configure, config.in: Regenerate.
11572
11573 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
11574
11575         * fixinc/mkfixinc.sh: Remove winnt support.
11576         * fixinc/fixinc.winnt: Delete with extreme prejudice.
11577
11578 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
11579
11580         * Makefile.in: Update.
11581         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
11582         * c.opt: Update documentation.
11583         * common.opt: Add some help text.
11584         * opts.c: Include intl.h.
11585         (wrap_help, print_help): New.
11586         (find_opt, handle_option, common_handle_option): opt_text now
11587         contains the '-'.  Use print_help to output help.
11588         * opts.h (struct cl_option): New member "help".
11589         * opts.sh: Update to handle help text output and to prepend
11590         options with '-'.
11591         * toplev.c (display_help): Remove some help text.
11592
11593 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
11594             Fariborz Jahanian  <fjahanian@apple.com>
11595
11596         * configure.in: Test for PowerPC mfcr field support in assembler.
11597         * config.in, configure: Regenderated.
11598
11599         * config/rs6000/power4.md: Add mfcrf reservation.
11600         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
11601         * config/rs6000/rs6000.c (mfcr_operation): Define.
11602         (print_operand): Add 'Q' case for mfcrf.
11603         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
11604         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
11605         (movcc_internal1): Emit optional field operand for mfcr and set
11606         "type" attribute appropriately.
11607         (mfcr SCC): Likewise.
11608         (movesi_from_cr_one): New.
11609
11610 2003-07-07  Roger Sayle  <roger@eyesopen.com>
11611
11612         * config/i386/i386.md: Correct check-in of incorrect version.
11613
11614 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11615
11616         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
11617         adjacent stdio calls.
11618         * c-decl.c (c_print_identifier): Likewise.
11619         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
11620         * print-rtl.c (print_rtx): Likewise.
11621         * print-tree.c (print_node_brief, print_node): Likewise.
11622         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
11623
11624         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
11625         * config.in, configure: Regenerated.
11626
11627 2003-07-07  Roger Sayle  <roger@eyesopen.com>
11628
11629         PR target/10979
11630         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
11631         Changed to define_expand patterns that copy operand[1] to prevent
11632         it from being clobbered before emitting an atan2?f3_1 insn.
11633         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
11634         patterns that actually specify the behaviour of x87's FPATAN.
11635
11636 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
11637
11638         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
11639         clearing of SYMBOL_FLAG_LOCAL bit.
11640         If vcall_offset fits into signed 16-bit immediate, use
11641         one instruction for both addition and load.
11642
11643 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
11644
11645         * opts.c (common_handle_option): Correct handling of the
11646         -falign- switches that do and don't take an argument.
11647
11648 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
11649
11650         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
11651         today.
11652         (pushhi1_h8300hs): Likewise.
11653
11654 2003-07-07  Andreas Jaeger  <aj@suse.de>
11655
11656         * genextract.c: Convert remaining prototypes to ISO C90.
11657
11658         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
11659         * fold-const.c (fold_single_bit_test): Likewise.
11660         * diagnostic.c (default_diagnostic_finalizer): Likewise.
11661         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
11662
11663         * gengtype.c (write_array): Generate ISO C90 prototypes.
11664
11665         * genflags.c (gen_proto): Generate ISO C90 prototypes.
11666
11667 2003-07-07  Roger Sayle  <roger@eyesopen.com>
11668
11669         PR optimization/11059
11670         * expr.c (can_store_by_pieces): Return true if length is zero.
11671         (store_by_pieces): If length is zero and endp is two, abort,
11672         othwerise, if length is zero and endp is not two, return "to".
11673         (clear_by_pieces): Do nothing if length is zero.
11674         (clear_storage): Do nothing if length is zero.
11675         (store_constructor): Simplify code when size is zero, or the
11676         target has already been cleared.  This avoids emitting a
11677         blockage instruction when initializing empty structures.
11678
11679 2003-07-07  Andreas Jaeger  <aj@suse.de>
11680
11681         * mips-tfile.c: Convert prototypes to ISO C90.
11682         * mips-tdump.c: Convert prototypes to ISO C90.
11683
11684 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
11685
11686         * rtl.h (emit_line_note): Take a location_t.
11687         (emit_line_note_force): Remove.
11688         (set_file_and_line_for_statement): Take a location_t.
11689         * tree.g (emit_line_note): Take a location_t.
11690         * emit-rtl.c (emit_line_note): Take a location_t.
11691         (emit_line_note_force): Remove.
11692         * function.c (init_function_start): Adjust emit_line_note call.
11693         (expand_function_end): Use force_next_line_note, not
11694         emit_line_note_force.
11695         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
11696         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
11697         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
11698         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
11699         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
11700         genrtl_continue_stmt, genrtl_switch_stmt,
11701         genrtl_asm_stmt): Likewise.
11702         * expr.c (expand_expr): Likewise.
11703         * integrate.c (expand_inline_function): Likewise.
11704         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
11705         (expand_decl_init): Adjust emit_line_note call.
11706
11707 2003-07-07  Dale Johannesen  <dalej@apple.com>
11708
11709         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
11710
11711 2003-07-07  Andreas Jaeger  <aj@suse.de>
11712
11713         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
11714         * config/i386/i386.c: Likewise.
11715
11716 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
11717
11718         * config/h8300/h8300.md: Use gen_int_mode instead of
11719         GEN_INT (trunc_int_for_mode (...)).
11720
11721 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
11722
11723         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
11724         2 bytes and then subtract 2 from the stack pointer.
11725         (pushhi1_h8300hs): Likewise.
11726
11727 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
11728
11729         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
11730         -frandom-seed.
11731         * configure: Regenerated.
11732         * Makefile.in: Remove extraneous comment.
11733         * toplev.c (randomize): Protect against potential multiple calls.
11734         * doc/invoke.texi (-frandom-seed): Document use for in coverage
11735         files.
11736
11737 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11738             Eric Botcazou  <ebotcazou@libertysurf.fr>
11739
11740         PR optimization/11198
11741         * alias.c (objects_must_conflict_p): Return 1 if the types have
11742         the same alias set, not if the alias sets only conflict.
11743
11744 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
11745
11746         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
11747         (convert_cset): Change inbuf to type ICONV_CONST char.
11748         * Makefile.in (LIBS): Add LIBICONV.
11749
11750         * doc/invoke.texi (-falign-functions): Document that
11751         when n is zero then a machine-dependent default is used.
11752         (-falign-labels): Document that when n is zero then a
11753         machine-dependent default is used and that -falign-labels =1
11754         is equivalent to -fno-align-labels.
11755         (-falign-loops): Likewise.
11756         (-falign-jumps): Likewise.
11757
11758 2003-07-06  Art Haas  <ahaas@airmail.net>
11759
11760         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
11761         initializer syntax.
11762
11763 2003-07-06  James E Wilson  <wilson@tuliptree.org>
11764
11765         PR optimization/9812
11766         * rtl.h (mem_for_const_double): Delete prototype.
11767         * varasm.c (mem_for_const_double): Delete function.
11768         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
11769         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
11770         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
11771         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
11772         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
11773         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
11774         comment about confused support for XFmode constants.
11775
11776 2003-07-07  Jan Hubicka  <jh@suse.cz>
11777
11778         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
11779
11780 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
11781
11782         * config/h8300/h8300.c: Fix comment typos.
11783         * config/h8300/h8300.md: Likewise.
11784         * config/i386/athlon.md: Likewise.
11785         * config/i386/i386.c: Likewise.
11786         * config/i386/pentium.md: Likewise.
11787         * config/ia64/ia64.c: Likewise.
11788         * config/ia64/itanium1.md: Likewise.
11789         * config/ia64/itanium2.md: Likewise.
11790         * config/m32r/m32r.md: Likewise.
11791         * config/m68hc11/m68hc11.c: Likewise.
11792         * config/mcore/mcore.c: Likewise.
11793         * config/mips/sr71k.md: Likewise.
11794         * config/mips/t-iris5-as: Likewise.
11795         * config/mmix/mmix.h: Likewise.
11796         * config/ns32k/ns32k.h: Likewise.
11797         * config/ns32k/NOTES: Fix a typo.
11798
11799 2003-07-06  Andreas Jaeger  <aj@suse.de>
11800
11801         * stmt.c: Convert remaining prototypes to ISO C90.
11802         * cfglayout.c: Likewise.
11803         * dbxout.c: Likewise.
11804         * gcc.c: Likewise.
11805         * genemit.c: Likewise.
11806
11807         * basic-block.h: Convert prototypes to ISO C90.
11808         * c-parse.in: Likewise.
11809         * c-pragma.h: Likewise.
11810         * c-typeck.c: Likewise.
11811         * cfghooks.h: Likewise.
11812         * cfgloopanal.c: Likewise.
11813         * dbxout.h: Likewise.
11814         * debug.h: Likewise.
11815         * dwarf2asm.h: Likewise.
11816         * gcov.c: Likewise.
11817         * gengtype-lex.l: Likewise.
11818         * sched-int.h: Likewise.
11819         * timevar.c: Likewise.
11820
11821 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
11822
11823         * c-common.h (c_comon_handle_filename,
11824         c_common_missing_arguement): New.
11825         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
11826         LANG_HOOKS_MISSING_ARGUMENT): New.
11827         * c-opts.c (missing_arg): Rename c_common_missing_argument,
11828         update to be an appropriate langhook.
11829         (c_common_handle_option): Don't handle filenames.
11830         (c_common_handle_filename): New.
11831         * hooks.c (hook_void_constcharptr,
11832         hook_bool_constcharptr_size_t_false): New.
11833         * hooks.h (hook_void_constcharptr,
11834         hook_bool_constcharptr_size_t_false): New.
11835         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
11836         LANG_HOOKS_MISSING_ARGUMENT): New.
11837         (LANG_HOOKS_INITIALIZER): Update.
11838         * langhooks.h (struct lang_hooks): Add handle_filename and
11839         missing_argument.
11840         * opts.c (handle_option): Don't handle filenames here, but ...
11841         (handle_options): ... here.
11842         (common_handle_option): Don't handle missing arguments here.
11843         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
11844         LANG_HOOKS_MISSING_ARGUMENT): New.
11845
11846 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
11847
11848         * Makfile.in: Remove traces of mbchar.
11849         * c-parse.in (MULTIBYTE_CHARS): Remove.
11850         * config.in (MULTIBYTE_CHARS): Remove.
11851         * configure: Remove --enable-mbchar.
11852         * configure.in: Remove --enable-mbchar.
11853         * mbchar.c, mbchar.h: Remove.
11854         * system.h: Poison MULTIBYTE_CHARS.
11855         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
11856         * config/linux.h (MULTIBYTE_CHARS): Remove.
11857         * config/svr4.h (MULTIBYTE_CHARS): Remove.
11858         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
11859
11860 2003-07-06  Andreas Jaeger  <aj@suse.de>
11861
11862         * varray.c (varray_check_failed): Fix typo.
11863
11864         * unroll.c: Convert prototypes to ISO C90.
11865         * varasm.c: Likewise.
11866         * varray.c: Likewise.
11867         * varray.h: Likewise.
11868         * vmsdbgout.c: Likewise.
11869         * xcoffout.c: Likewise.
11870         * xcoffout.h: Likewise.
11871
11872 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
11873
11874         * gcov-io.h: Add a local time stamp.
11875         (struct gcov_info): Add stamp field.
11876         (gcov_truncate): New.
11877         * coverage.c (read_counts_file): Skip the stamp.
11878         (coverage_begin_output): Write the stamp.
11879         (build_gcov_info): Declare and init the stamp.
11880         (coverage_finish): Only unlink data file, if stamp is zero.
11881         * gcov-dump.c (dump_file): Dump the stamp.
11882         * gcov.c (bbg_stamp): New.
11883         (release_structures): Clear bbg_stamp.
11884         (read_graph_file): Read stamp.
11885         (read_count_file): Check stamp.
11886         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
11887
11888 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
11889
11890         * tree.h (default_flag_random_seed): Remove.
11891         * toplev.h (local_tick): Declare.
11892         * tree.c (flag_random_seed, default_flag_random_seed): Move to
11893         toplev.c.
11894         (append_random_chars): Don't call default_flag_random_seed.
11895         * toplev.c (flag_random_seed): Define here. Set local_tick.
11896         (local_tick): Define.
11897         (randomize): New, moved from tree.c.
11898         (print_switch_values): Adjust.
11899         (toplev_main): Call randomize.
11900
11901 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
11902
11903         * tree.h (crc32_string): Declare.
11904         * tree.c (append_random_chars): Remove.
11905         (crc32_string): New.
11906         (get_file_function_name_long): Use crc32_string here.
11907
11908 2003-07-06  Andreas Jaeger  <aj@suse.de>
11909
11910         * gcc.c: Convert prototypes to ISO C90.
11911         * gcc.h: Likewise.
11912         * gcov-dump.c: Likewise.
11913         * gcov-iov.c: Likewise.
11914         * gcse.c: Likewise.
11915         * genattrtab.h: Likewise.
11916         * ggc.h: Likewise.
11917         * global.c: Likewise.
11918         * graph.c: Likewise.
11919         * graph.h: Likewise.
11920         * hosthooks.h: Likewise.
11921         * hooks.h: Likewise.
11922         * hooks.c: Likewise.
11923         * hashtable.h: Likewise.
11924         * hashtable.c: Likewise.
11925         * haifa-sched.c: Likewise.
11926         * integrate.h: Likewise.
11927         * integrate.c: Likewise.
11928         * input.h: Likewise.
11929         * ifcvt.c: Likewise.
11930         * jump.c: Likewise.
11931         * langhooks-def.h: Likewise.  Add extern to prototypes.
11932         * langhooks.c: Likewise.
11933         * langhooks.h: Likewise.
11934         * lcm.c: Likewise.
11935         * local-alloc.c: Likewise.
11936         * loop-init.c: Likewise.
11937         * loop-unroll.c: Likewise.
11938         * loop-unswitch.c: Likewise.
11939         * loop.c: Likewise.
11940         * loop.h: Likewise. Add extern to prototypes.
11941         * machmode.h: Likewise.
11942         * main.c: Likewise.
11943         * mbchar.c: Likewise.
11944         * mbchar.h: Likewise.
11945         * mkdeps.c: Likewise.
11946         * mkdeps.h: Likewise.
11947         * optabs.c: Likewise.
11948         * optabs.h: Likewise.
11949         * output.h: Likewise.
11950         * gccspec.c: Likwise.
11951         * postreload.c: Likewise.
11952         * prefix.c: Likewise.
11953         * prefix.h: Likewise.
11954         * print-rtl.c: Likewise.
11955         * print-tree.c: Likewise.
11956         * profile.c: Likewise.
11957         * read-rtl.c: Likewise.
11958         * real.c: Likewise.
11959         * real.h: Likewise.
11960         * recog.c: Likewise.
11961         * recog.h: Likewise.
11962         * reg-stack.c: Likewise.
11963         * regclass.c: Likewise.
11964         * regmove.c: Likewise.
11965         * regrename.c: Likewise.
11966         * regs.h: Likewise.
11967         * reload.c: Likewise.
11968         * reload.h: Likewise.
11969         * reload1.c: Likewise.
11970         * reorg.c: Likewise.
11971         * resource.c: Likewise.
11972         * resource.h: Likewise.
11973         * rtl-error.c: Likewise.
11974         * rtl.c: Likewise.
11975         * rtl.h: Likewise.
11976         * rtlanal.c: Likewise.
11977         * sbitmap.c: Likewise.
11978         * sbitmap.h: Likewise.
11979         * scan-decls.c: Likewise.
11980         * scan.c: Likewise.
11981         * sched-deps.c: Likewise.
11982         * sched-ebb.c: Likewise.
11983         * sched-int.h: Likewise.
11984         * sched-rgn.c: Likewise.
11985         * sched-vis.c: Likewise.
11986         * sibcall.c: Likewise.
11987         * simplify-rtx.c: Likewise.
11988         * sreal.c: Likewise.
11989         * sreal.h: Likewise.
11990         * ssa-ccp.c: Likewise.
11991         * ssa-dce.c: Likewise.
11992         * ssa.c: Likewise.
11993         * ssa.h: Likewise.
11994         * stack.h: Likewise.
11995         * stmt.c: Likewise.
11996         * stor-layout.c: Likewise.
11997         * stringpool.c: Likewise.
11998         * target.h: Likewise.
11999         * timevar.c: Likewise.
12000         * timevar.h: Likewise.
12001         * tlink.c: Likewise.
12002         * tracer.c: Likewise.
12003         * tree-inline.c: Likewise.
12004         * tree-inline.h: Likewise.
12005         * tree.c: Likewise.
12006         * tree.h: Likewise.
12007
12008 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12009
12010         * combine.c (nonzero_bits1): Fix a warning.
12011
12012 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12013
12014         * config/h8300/h8300.c (compute_mov_length): Correct the
12015         length of loading CONST0_RTX (SFmode).
12016
12017 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
12018
12019         * toplev.c (output_clean_symbol_name): Remove.
12020         * toplev.h (output_clean_symbol_name): Remove.
12021         * config/alpha/alpha.c (unicosmk_output_module_name): Use
12022         lbasename & clean_symbol_name.
12023
12024 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12025
12026         * ggc.h: Follow spelling conventions.
12027         * config/i386/i386.c: Likewise.
12028         * config/i386/winnt.c: Likewise.
12029         * config/rs6000/rs6000.c: Likewise.
12030
12031 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
12032
12033         * bt-load.c: Fix comment typos.
12034         * c-incpath.c: Likewise.
12035         * cfg.c: Likewise.
12036         * cfgcleanup.c: Likewise.
12037         * cfgloop.h: Likewise.
12038         * cfgloopmanip.c: Likewise.
12039         * cfgrtl.c: Likewise.
12040         * diagnostic.h: Likewise.
12041         * dwarfout.c: Likewise.
12042         * emit-rtl.c: Likewise.
12043         * et-forest.c: Likewise.
12044         * et-forest.h: Likewise.
12045         * expr.c: Likewise.
12046         * gcse.c: Likewise.
12047         * genattr.c: Likewise.
12048         * jump.c: Likewise.
12049         * langhooks.h: Likewise.
12050         * local-alloc.c: Likewise.
12051         * loop-unroll.c: Likewise.
12052         * loop-unswitch.c: Likewise.
12053         * ra-build.c: Likewise.
12054         * regclass.c: Likewise.
12055         * regmove.c: Likewise.
12056         * rtl.def: Likewise.
12057         * rtlanal.c: Likewise.
12058         * sched-ebb.c: Likewise.
12059         * sched-rgn.c: Likewise.
12060         * simplify-rtx.c: Likewise.
12061         * ssa.c: Likewise.
12062         * tracer.c: Likewise.
12063         * tree.c: Likewise.
12064
12065 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
12066
12067         * cppcharset.c: Use the correct return type for the fallback iconv
12068         macro.
12069
12070 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12071
12072         Blame to Jan Hubicka  <jh@suse.cz>
12073         * cfglayout.c (record_effective_endpoints): Split insns before
12074         first basic block correctly.
12075
12076 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12077
12078         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
12079         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
12080         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
12081
12082 2003-07-05  Andreas Jaeger  <aj@suse.de>
12083
12084         * genattrtab.c (write_attr_get): Revert part of last patch to
12085         always write out a prototype.
12086
12087         * genemit.c (gen_split): Readd lost unused attributes in last
12088         patch.
12089
12090 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12091
12092         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
12093         different from header.
12094
12095 2003-07-05  Andreas Schwab  <schwab@suse.de>
12096
12097         * config/m68k/m68k.c: Remove code protected by CRDS.
12098         * config/m68k/m68k.md: Likewise.
12099
12100 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
12101
12102         PR driver/11417
12103         * c-opts.c (permit_fortran_options): New.
12104         (c_common_init_options): Accept fortran front end options if
12105         it looks like we might be preprocessing Fortran.
12106         (c_common_handle_option): Don't reject switch if permit_fotran_options.
12107
12108 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12109
12110         * genattr.c (internal_dfa_insn_code): Output prototype.
12111         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
12112         * genautomata.c: Likewise.
12113         * genconditions.c: Likewise.
12114         * genemit.c: Likewise.
12115         * genextract.c: Likewise.
12116         * gengenrtl.c: Likewise.
12117         * gengtype.c: Likewise.
12118         * genopinit.c: Likewise.
12119         * genoutput.c: Likewise.
12120         * genpeep.c: Likewise.
12121         * genrecog.c: Likewise.
12122
12123 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
12124
12125         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
12126         (struct cpp_options): Add narrow_charset, wide_charset,
12127         bytes_big_endian fields.  Remove EBCDIC field.
12128         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
12129
12130         * cpphash.h: Include <iconv.h> if we have it, otherwise
12131         provide a dummy definition of iconv_t.
12132         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
12133         (_cpp_valid_ucn): Update prototype.
12134         (_cpp_destroy_iconv): New prototype.
12135
12136         * doc/cpp.texi: Document character set handling.
12137         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
12138         * doc/extend.texi: Delete entire section on multiline strings.
12139         Rewrite section on __FUNCTION__ etc now that these are
12140         variables in C.
12141
12142         * cppucnid.tab, cppucnid.pl: New files.
12143         * cppucnid.h: New generated file.
12144         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
12145         (iconv_open, iconv, iconv_close): Provide dummy definitions
12146         if !HAVE_ICONV.
12147         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
12148         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
12149         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
12150         cpp_interpret_string, narrow_str_to_charconst,
12151         wide_str_to_charconst): New.
12152         (ucn_valid_in_identifier): Use a binary search through the
12153         ucnranges table defined in cppucnid.h, not a long chain of if
12154         statements.
12155         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
12156         character names are only valid in C++ and C99" to a warning.
12157         Issue the "meaning of \[uU] is different in traditional C"
12158         warning here.  Take care not to let iconv see an invalid UCS
12159         value if we get a malformed UCN.  Issue an error if we don't
12160         have iconv.
12161         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
12162         cpp_interpret_string to do the heavy lifting.
12163
12164         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
12165         narrow_charset, wide_charset fields of options structure.
12166         (cpp_destroy): Call _cpp_destroy_iconv.
12167         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
12168         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
12169         (cpp_interpret_charconst): Moved to cppcharset.c.
12170         * cpplib.c (dequote_string): Delete.
12171         (interpret_string_notranslate): New.
12172         (do_line, do_linemarker): Use interpret_string_notranslate.
12173
12174         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
12175
12176         * c-common.c (fname_string, combine_strings): Delete.
12177         * c-common.h (fname_string, combine_strings): Delete prototypes.
12178         * c-lex.c (ignore_escape_flag): Delete.
12179         (cb_ident): Use cpp_interpret_string, not lex_string.
12180         (get_nonpadding_token): New function.
12181         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
12182         Adjust calls to lex_string.  Don't write *value twice.
12183         (lex_string): Now handles string constant concatenation.
12184         Most of the work handed off to cpp_interpret_string.
12185         Call fix_string_type here.
12186         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
12187         FUNC_NAME, throughout.
12188         (OBJC_STRING): New token type.
12189         (primary:STRING): No need to call fix_string_type here.
12190         (primary:objc_string): Make that OBJC_STRING.
12191         (objc_string nonterminal): Delete.
12192         (yylexname): Delete code to handle fake string constants.
12193         (yylexstring): Delete entirely.
12194         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
12195         to handle CPP_ATSIGN.
12196
12197         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
12198         * c-opts.c (missing_arg, c_common_handle_option): Handle
12199         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
12200         (c_common_init): Set cpp_opts->bytes_big_endian, not
12201         cpp_opts->EBCDIC.  Call cpp_init_iconv.
12202         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
12203         (TARGET_EBCDIC): Delete default definition.
12204
12205         * objc/objc-act.c (build_objc_string_object): No need to
12206         handle string constant concatenation.
12207
12208 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
12209
12210         * doc/install.texi: Fix typos.
12211         * doc/invoke.texi: Likewise.
12212         * doc/tm.texi: Likewise.
12213
12214 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
12215
12216         * config/pa/fptr.c: Fix comment typos.
12217         * config/pa/pa-64.h: Likewise.
12218         * config/pa/pa.c: Likewise.
12219         * config/pa/pa.h: Likewise.
12220         * config/rs6000/603.md: Likewise.
12221         * config/rs6000/7xx.md: Likewise.
12222         * config/rs6000/darwin.h: Likewise.
12223         * config/rs6000/freebsd.h: Likewise.
12224         * config/rs6000/rs6000.c: Likewise.
12225         * config/rs6000/rs6000.md: Likewise.
12226         * config/rs6000/spe.h: Likewise.
12227
12228 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
12229
12230         * config/s390/2064.md: Change GNU CC to GCC.
12231         * config/s390/2084.md: Likewise.
12232         * config/s390/fixdfdi.h: Likewise.
12233         * config/s390/linux.h: Likewise.
12234         * config/s390/s390-modes.def: Likewise.
12235         * config/s390/s390-protos.h: Likewise.
12236         * config/s390/s390.c: Likewise.
12237         * config/s390/s390.h: Likewise.
12238         * config/s390/s390.md: Likewise.
12239         * config/s390/s390x.h: Likewise.
12240
12241 2003-07-04  Jeff Law  <law@redhat.com>
12242
12243         PR c/11428
12244         * expr.c (do_store_flag): Pass in the correct result type
12245         when calling fold_single_bit_test.
12246         * fold-const.c (fold_single_bit_test): Use result_type for the
12247         result when folding a sign bit test.
12248
12249 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
12250
12251         * opts.c (common_handle_options): Negate sense of -falign- switches.
12252
12253 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
12254
12255         * Makefile.in: Replace PWD with PWD_COMMAND.
12256
12257 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12258
12259         * cfgloopanal.c (count_strange_loop_iterations): New static function.
12260         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
12261         Handle strange loops.
12262
12263 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
12264
12265         * install.texi: Even the g77 manpage is derived from
12266         the full g77 manual.
12267
12268 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
12269
12270         * ABOUT-NLS: Delete.
12271         * intl: Delete entire directory.
12272         * aclocal.m4: Include ../config/gettext.m4.  Delete
12273         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
12274         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
12275         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
12276         Remove intl/Makefile from all_outputs.
12277         * configure, config.in: Regenerate.
12278         * Makefile.in: Expunge all references to intl subdirectory.
12279         Add -I../intl to INCLUDES.
12280         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
12281
12282 2003-07-04  Roger Sayle  <roger@eyesopen.com>
12283
12284         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
12285         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
12286
12287 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
12288
12289         PR c++/5287, PR c++/7910, PR c++/11021
12290         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
12291         dllimport attribute if function is defined at declaration, but
12292         report error instead. Likewise for dllimport'd variable
12293         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
12294         declared within functions, Report error if dllimport or dllexport
12295         symbol is not global.
12296         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
12297         if defined after declaration or if inlined. Don't allow definition
12298         of static data members of C++ classes. Don't dllimport virtual
12299         methods.
12300         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
12301         (i386_pe_mark_dllimport): Remove unnecessary checks.
12302         (i386_pe_encode_section_info): Warn if the dllimport attribute
12303         and symbol prefix have been instantiated and then overridden.
12304
12305         * doc/extend.texi: Document dllimport and dllexport attributes.
12306
12307         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
12308
12309 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
12310
12311         * config/kaos.h (CPP_PREDEFINES): Delete.
12312         (TARGET_OS_CPP_BUILTINS): New.
12313
12314 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12315
12316         * c-aux-info.c: Include toplev.h after c-tree.h.
12317         * c-common.c: Likewise.
12318         (GCC_DIAG_STYLE): Undef.
12319         * c-semantics.c (GCC_DIAG_STYLE): Define.
12320         * c-tree.h (GCC_DIAG_STYLE): Likewise.
12321         * diagnostic.h (inform): Move prototype to toplev.h.
12322         * jump.c: Include diagnostic.h before toplev.h.
12323         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
12324         (warning, error, fatal_error, pedwarn, sorry, inform,
12325         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
12326
12327 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12328
12329         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
12330         at all if edge is not specified.
12331         (can_copy_bbs_p, copy_bbs): New.
12332         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
12333         * cfgloop.c (get_loop_body): Comment more precisely.
12334         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
12335         (scale_bbs_frequencies): Fix comment typo.
12336         (can_duplicate_loop_p): Use can_copy_bbs_p.
12337         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
12338
12339 2003-07-03  Devang Patel <dpatel@apple.com>
12340
12341         * c-opts.c (c_common_parse_file): Remove extra
12342         debug_hooks->start_source_file call.
12343
12344 2003-07-03  Roger Sayle  <roger@eyesopen.com>
12345
12346         * real.c (real_trunc, real_floor, real_ceil): New functions
12347         to implement trunc, floor and ceil respectively.
12348         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
12349         * builtins.c (integer_valued_real_p): New function to test if
12350         a floating point expression has an integer valued result.
12351         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
12352         foo(x) where foo is an integer rounding function.  Similarly,
12353         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
12354         (double)(int)x when both foo and bar are integer rounding
12355         functions and we don't need to honor errno.
12356         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
12357         New functions to fold trunc, floor and ceil.
12358         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
12359         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
12360         to fold BUILT_IN_CEIL*.
12361         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
12362         the remaining integer rounding functions.
12363
12364 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
12365
12366         * config/sparc/sparc.c (function_arg_partial_nregs): Use
12367         SPARC_INT_ARG_MAX to determine where to split unnamed
12368         complex FP arguments.
12369
12370 2003-07-03  Jan Hubicka  <jh@suse.cz>
12371
12372         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
12373         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
12374         (merge_blocks_move_predecessor_nojumps,
12375          merge_blocks_move_successor_nojumps): Use merge_blocks.
12376         (try_optimize_cfg): Use merge_blocks_move.
12377         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
12378         (merge_blocks_nomove): Rename to rtl_merge_blocks.
12379         (cfg_layout_create_basic_block): New.
12380         (rtl_can_merge_blocks): New.
12381         (cfg_layout_split_block): Do not alloc aux by hand.
12382         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
12383         merge_blocks.
12384         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
12385         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
12386         * cfgloopmanip.c (loop_split_edge_with): Likewise.
12387         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
12388
12389         * basic-block.h (basic_block_def): Add field 'rbi'.
12390         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
12391         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
12392         * cfg.c (entry_exit_blocks): Add new field.
12393         * cfglayout.c: Include alloc-pool.h;
12394         (cfg_layout_pool): New.
12395         (record_effective_endpoints, fixup_reorder_chain,
12396         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
12397         of rbi.
12398         (cfg_layout_initialize_rbi): New function.
12399         (cfg_layout_initialize): Use it.
12400         (cfg_layout_finalize): Clear rbi fields.
12401         * cfglayout.h (RBI): Kill.
12402         (cfg_layout_initialize_rbi): Declare.
12403         * cfgloopmanip.c (copy_bbs): Use rbi.
12404         (record_exit_edges): Likewise.
12405         (duplicate_loop_to_header_edge): Likewise.
12406         * cfgrtl.c (cfg_layout_create_basic_block): Use
12407         cfg_layout_initialize_rbi.
12408         (cfg_layout_split_block): Use rbi.
12409         (cfg_layout_delete_block): Likewise.
12410         * loop-init.c (loop_optimizer_finalize): Likewise.
12411         * loop-unswitch.c (unswitch_loop): Likewise.
12412         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
12413
12414         * cfgrtl.c: Update comments.
12415         (try_redirect_by_replacing_jump): New argument.
12416         (redirect_branch_edge): Break out from ...
12417         (rtl_redirect_edge_and_branch): ... this one.
12418         (update_cfg_after_block_merging): Break out from ...
12419         (rtl_merge_blocks): ... this one.
12420         (cfg_layout_split_edge): New.
12421         (cfg_layout_merge_blocks): New.
12422         (cfg_layout_can_merge_blocks_p): New.
12423         (cfg_layout_redirect_edge_and_branch): Reorganize.
12424         (cfg_layout_rtl_cfg_hooks): Fill in.
12425         (cfg_layout_delete_block): Kill barriers.
12426         * cfganal.c (can_fallthru): Deal with exit blocks
12427         * cfglayout.c (cfg_layout_function_header): New function
12428         (record_effective_endpoints): Record function header.
12429         (fixup_reorder_chain): Fixup dead jumptables; place header
12430
12431         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
12432         * bb-reorder.c (cfg_layout_initialize): Update call.
12433         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
12434         edges in cfglayout mode.
12435         * cfglayout.c (cleanup_unconditional_jumps): Kill.
12436         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
12437         * cfglayout.h (cfg_layout_initialize): Update prototype.
12438         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
12439         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
12440         * flow.c (propagate_block): Do not crash when basic block ends
12441         by first insn in the chain.
12442         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
12443         do loop discovery.
12444         * tracer.c (tracer): Update call of cfg_layout_initialize.
12445
12446 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12447
12448         * Makefile.in: Use dependency variables in lieu of explicit
12449         files throughout.
12450
12451 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
12452
12453         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
12454         * tree.h: ...to here.
12455
12456 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
12457
12458         * config/s390/2064.md: Fix comment typos.
12459         * config/s390/2084.md: Likewise.
12460         * config/s390/s390.c: Likewise.
12461         * config/s390/s390.md: Likewise.
12462         * config/sh/sh.c: Likewise.
12463         * config/sh/sh.h: Likewise.
12464         * config/sh/sh.md: Likewise.
12465         * config/sparc/sparc.c: Likewise.
12466         * config/sparc/sparc.h: Likewise.
12467         * config/sparc/sparc.md: Likewise.
12468         * config/stormy16/stormy16.c: Likewise.
12469         * config/stormy16/stormy16.h: Likewise.
12470         * config/stormy16/stormy-abi: Fix a typo.
12471
12472 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
12473
12474         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
12475
12476 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12477
12478         * config/mips/mips.h (save_argv): Delete.
12479
12480 2003-07-03  Roger Sayle  <roger@eyesopen.com>
12481
12482         PR target/10700
12483         * fold-const.c (extract_muldiv_1): There's nothing that can be done
12484         if the expression is a SAVE_EXPR.
12485
12486 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
12487
12488         * config/m32r/m32r.c: Fix comment typos.
12489         * config/m68hc11/m68hc11.c: Likewise.
12490         * config/m68hc11/m68hc11.h: Likewise.
12491         * config/m68k/m68k.c: Likewise.
12492         * config/mcore/mcore.c: Likewise.
12493         * config/mcore/mcore.h: Likewise.
12494         * config/mcore/mcore.md: Likewise.
12495         * config/mips/mips.c: Likewise.
12496         * config/mips/mips.h: Likewise.
12497         * config/mips/mips.md: Likewise.
12498         * config/mips/netbsd.h: Likewise.
12499         * config/mn10300/mn10300.c: Likewise.
12500
12501 2003-07-03  Andreas Schwab  <schwab@suse.de>
12502
12503         * dbxout.c (pending_bincls): Move decl down inside
12504         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
12505
12506 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12507
12508         * rtl.h (NOTE_DATA): Refer to whole union.
12509         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
12510
12511 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
12512
12513         PR optimization/11381
12514         * simplify-rtx.c (simplify_relational_operation): Check that
12515         two equal operands have no side-effects before simplifying
12516         the comparison.
12517
12518 2003-07-02  Jeff Law  <law@redhat.com>
12519
12520         * expr.c (do_store_flag): Remove special case folding for
12521         single bit tests.  Instead call back into the commonized folder
12522         routine.
12523         * fold-const.c (fold_single_bit_test): New function, mostly
12524         extracted from do_store_flag, with an additional case extracted
12525         from fold.
12526         (fold): Call fold_single_bit_test appropriately.
12527         * tree.h (fold_single_bit_test): Prototype.
12528
12529 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
12530
12531         * system.h: Include filenames.h.
12532         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
12533         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
12534         define based on HAVE_DOS_BASED_FILE_SYSTEM.
12535         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
12536         * config/i386/xm-mingw32.h: Don't define
12537         HAVE_DOS_BASED_FILE_SYSTEM,
12538         DIR_SEPARATOR, or DIR_SEPARATOR_2.
12539         * doc/hostconfig.texi: Update to match.
12540
12541         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
12542         config/i386/cygwin.h:
12543         Use IS_ABSOLUTE_PATH throughout.
12544         * gcc.c (DIR_UP): Delete, unused.
12545         * protoize.c (IS_SAME_PATH): Define in terms of
12546         FILENAME_CMP.
12547         (is_abspath): Delete.
12548
12549 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
12550
12551         * config/i386/emmintrin.h: Fix comment typos.
12552         * config/i386/i386.c: Likewise.
12553         * config/i386/i386.h: Likewise.
12554         * config/i386/sco5.h: Likewise.
12555         * config/ia64/ia64.c: Likewise.
12556         * config/ia64/itanium2.md: Likewise.
12557
12558 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
12559
12560         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
12561         DBX_USE_BINCL.
12562         (emit_bincl_stab): Same.
12563         (emit_pending_bincls): Same.
12564
12565 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
12566
12567         * config/h8300/h8300.c (compute_mov_length): Fix the length of
12568         loading CONST0_RTX (SFmode).
12569         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
12570         'G' to CONST0_RTX (SFmode).
12571         * config/h8300/h8300.md (movsf_h8300): Change the first
12572         constraint to 'G'.
12573         (movsf_h8300h): Likewise.
12574
12575 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
12576
12577         * c-common.h (c_common_init_options): New prototype.
12578         * c-opts.c (deferred_size): Remove.
12579         (defer_opt): Array is now pre-allocated.
12580         (c_common_init_options): Pre-allocate deferred_opts.  Make
12581         lang_flags unsigned.
12582         (push_command_line_options): Free deferred_opts.
12583         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
12584         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
12585         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
12586         * langhooks.h (struct lang_hooks): New prototype for init_options.
12587         * main.c (main): Cast argv.
12588         * opts.c (handle_option, handle_options): Update prototypes.
12589         (decode_options): save_argc, save_argv are not global.  Constify.
12590         * opts.h (decode_options): New prototype.
12591         * toplev.c (general_init): New protoype.
12592         (save_argv): Make static.
12593         (save_argc): Remove.
12594         (print_switch_values, general_init): Constify.
12595         (toplev_main): Save argv.
12596         * toplev.h (toplev_main): Update prototype.
12597         (save_argc, save_argv): Remove.
12598
12599 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
12600
12601         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
12602         (emit_bincl_stab): Same.
12603         (emit_pending_bincls): Same.
12604
12605 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
12606
12607         PR c++/11072
12608         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
12609
12610 2003-07-02  Andreas Schwab  <schwab@suse.de>
12611
12612         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
12613
12614 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
12615
12616         PR optimization/11210
12617         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
12618         about the behaviour with regard to bitfields.
12619         * fold-const (decode_field_reference): Record outermost type in
12620         case the expression is a NOP. Strip all NOPs. Set the signedness
12621         to that of the outermost type (if any) when the bitsize is equal
12622         to the size of the type.
12623
12624 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
12625
12626         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
12627         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
12628         (adddi3_internal_3, addsi3_internal_2): Likewise.
12629
12630 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
12631
12632         * config/mips/mips.c (machine_function): Add new fields:
12633         ignore_hazard_length_p and all_noreorder_p.
12634         (mips_flag_delayed_branch): New variable.
12635         (override_options): Treat '/' as an operand punctuation character.
12636         Set up mips_flag_delayed_branch.
12637         (print_operand): Handle '/'.
12638         (mips_output_function_prologue): Put the whole function in
12639         .set noreorder and .set nomacro if all_noreorder_p is true.
12640         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
12641         (mips16_optimize_gp): Remove "first insn" parameter.
12642         (mips16_lay_out_constants): New function, split out from mips_reorg.
12643         (mips_avoid_hazard, mips_avoid_hazards): New functions.
12644         (mips_reorg): For mips16 code, call mips16_lay_out_constant
12645         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
12646         do delayed-branch scheduling followed by hazard detection.
12647         (mips_adjust_insn_length): Only account for hazards if
12648         !ignore_hazard_length_p.
12649         (mips_output_load_label): Add a nop to the o32 sequence if
12650         the target suffers from load delays.
12651         (mips_output_conditional_branch): Add %/ to the end of branches.
12652         (mips_output_division): Fill the branch delay slot with %#.
12653         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
12654         instructions.  End all other %* branches with %/.
12655         (ffssi2, ffsdi2): Fix lengths.
12656         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
12657         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
12658         (fix_truncsfsi2_macro): Likewise.
12659         (mov_lwl): Set hazard to "none".
12660         (ashldi3_internal): Fill the branch delay slot with %#.
12661         (ashrdi3_internal, lshrdi3_internal): Likewise.
12662         (exception_receiver): Explicitly set $28.
12663         (hazard_nop): New pattern.
12664
12665 2003-07-02  Jan Hubicka  <jh@suse.cz>
12666
12667         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
12668         before calling tree_inlinable_function_p.
12669
12670 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12671
12672         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
12673         <internal/stdio_core.h> too.
12674         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
12675         <internal/wchar_core.h> too.
12676         Substitute va_list uses in inline definition.
12677         * fixinc/fixincl.x: Regenerate.
12678
12679 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12680
12681         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
12682         Undef before redefinition.
12683         (LABEL_AFTER_LOC): Likewise.
12684         (DEFAULT_SIGNED_CHAR): Likewise.
12685         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
12686         Fix IRIX spelling.
12687
12688         * config/mips/iris3.h: Remove, unused.
12689         * config/mips/iris4.h: Likewise.
12690
12691         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
12692
12693         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
12694         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
12695         target_cpu_default.
12696
12697         * config/mips/iris5.h: Move explicit includes ...
12698         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
12699
12700         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
12701         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
12702         tm_defines.
12703
12704         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
12705         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
12706         target_cpu_default.
12707
12708         * config/mips/iris6.h: Fix IRIX spelling.
12709         (MULTILIB_DEFAULTS): Undef before redefinition.
12710
12711         * config/mips/iris6.h: Move explicit includes ...
12712         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
12713
12714 2003-07-02  Jan Hubicka  <jh@suse.cz>
12715
12716         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
12717         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
12718         Use next_needed field instead of aux to maintain the queue.
12719         * cgraph.h (cgraph_node): Add next_needed.
12720         (cgraph_varpool_node): Add next_needed; remove aux.
12721         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
12722
12723 2003-07-02  Jan Hubicka  <jh@suse.cz>
12724
12725         * cgraphunit.c (cgraph_finalize_function): Set finalized.
12726         (cgraph_finalize_function): Do not examine inlinablility.
12727         (cgraph_finalize_compilation_unit): Do it here.
12728         * cgraph.h (cgraph_local_info): Add finalized field.
12729
12730 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12731
12732         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
12733         (gt_pch_restore): Likewise.
12734
12735 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
12736
12737         * config/alpha/alpha.c: Fix comment typos.
12738         * config/alpha/elf.h: Likewise.
12739         * config/arm/arm.c: Likewise.
12740         * config/arm/arm.h: Likewise.
12741         * config/arm/arm.md: Likewise.
12742         * config/arm/t-arm-coff: Likewise.
12743         * config/arm/t-strongarm-pe: Likewise.
12744         * config/arm/xscale-elf.h: Likewise.
12745         * config/avr/avr.h: Likewise.
12746
12747 2003-07-01  Jeff Law  <law@redhat.com>
12748
12749         * stmt.c (any_pending_cleanups): Remove another redundant test.
12750
12751 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
12752             J"orn Rennecke <joern.rennecke@superh.com>
12753
12754         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
12755         for MEM case.
12756
12757 2003-07-01  Devang Patel  <dpatel@apple.com>
12758
12759         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
12760         (binclstatus): New.
12761         (struct dbx_file): New members - bincl_status, pending_bincl_name and
12762         prev.
12763         (pending_bincls): New.
12764         (dbxout_init): Initialize new dbx_file members.
12765         (dbxout_start_source_file): Same.
12766         (emit_bincl_stab): New function.
12767         (emit_pending_bincls): Same.
12768         (emit_pending_bincls_if_required): Same.
12769         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
12770         processed.
12771         (dbxout_begin_block): Emit pending BINCL stabs.
12772         (dbxout_end_block): Same.
12773         (dbxout_function_decl): Same.
12774         (dbxout_continue): Same.
12775         (dbxout_type): Same.
12776         (dbxout_class_name_qualifiers): Same.
12777         (dbxout_symbol): Same.
12778         (dbxout_symbol_location): Same.
12779         (dbxout_parms): Same.
12780
12781 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12782
12783         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
12784         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
12785
12786 2003-07-01  Andreas Jaeger  <aj@suse.de>
12787
12788         * fold-const.c: Convert prototypes to ISO C90.
12789         * function.c: Likewise.
12790         * function.h: Likewise.
12791
12792 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
12793
12794         * doc/contrib.texi: Fix typos.
12795         * doc/invoke.texi: Likewise.
12796         * doc/passes.texi: Likewise.
12797         * doc/sourcebuild.texi: Likewise.
12798         * doc/tm.texi: Likewise.
12799
12800 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
12801
12802         * basic-block.h: Fix comment typos.
12803         * bb-reorder.c: Likewise.
12804         * c-format.c: Likewise.
12805         * cfgcleanup.c: Likewise.
12806         * cfghooks.h: Likewise.
12807         * cfgloop.c: Likewise.
12808         * cfgloopmanip.c: Likewise.
12809         * cfgrtl.c: Likewise.
12810         * cgraph.h: Likewise.
12811         * cgraphunit.c: Likewise.
12812         * combine.c: Likewise.
12813         * convert.c: Likewise.
12814         * dbxout.c: Likewise.
12815         * df.c: Likewise.
12816         * df.h: Likewise.
12817         * diagnostic.c: Likewise.
12818         * dwarf2out.c: Likewise.
12819         * et-forest.h: Likewise.
12820         * flow.c: Likewise.
12821         * fold-const.c: Likewise.
12822         * function.h: Likewise.
12823         * gcov-io.h: Likewise.
12824         * gcov.c: Likewise.
12825         * gcse.c: Likewise.
12826         * genautomata.c: Likewise.
12827         * ggc-common.c: Likewise.
12828         * ggc-page.c: Likewise.
12829         * loop-unroll.c: Likewise.
12830         * loop-unswitch.c: Likewise.
12831         * loop.c: Likewise.
12832         * mips-tfile.c: Likewise.
12833         * optabs.c: Likewise.
12834         * ra-build.c: Likewise.
12835         * ra-colorize.c: Likewise.
12836         * ra-rewrite.c: Likewise.
12837         * ra.h: Likewise.
12838         * regmove.c: Likewise.
12839         * reload.c: Likewise.
12840         * rtlanal.c: Likewise.
12841         * sched-ebb.c: Likewise.
12842         * sched-int.h: Likewise.
12843         * sched-vis.c: Likewise.
12844         * sreal.c: Likewise.
12845         * ssa-ccp.c: Likewise.
12846         * ssa.c: Likewise.
12847         * toplev.c: Likewise.
12848         * tree-inline.c: Likewise.
12849         * value-prof.c: Likewise.
12850         * value-prof.h: Likewise.
12851
12852 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
12853
12854         * rtl.h (emit_line_note_after): Remove.
12855         (emit_note_copy_after, emit_note_copy): New.
12856         * emit-rtl.c (reorder_insns_with_line_notes): Replace
12857         emit_line_note_after with emit_note_copy_after.
12858         (emit_insn_after_with_line_notes): Likewise.
12859         (emit_line_note_after): Kill.
12860         (emit_note_copy_after): New.
12861         (emit_note_copy): New.
12862         * function.c (emit_return_into_block): Use emit_note_copy_after.
12863         (thread_prologue_and_epilogue_insns): Likewise.
12864         * integrate.c (expand_inline_function): Use emit_note_copy.
12865         (copy_insn_list): Likewise.
12866         * unroll.c (copy_loop_body): Likewise.
12867         * cfglayout.c (duplicate_insn_chain): Likewise.
12868
12869 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
12870
12871         * c-tree.h (define_label): Replace filename and lineno arguments
12872         with a location_t.
12873         * c-decl.c (poplevel): Adjust define_label call.
12874         (pop_label_level): Likewise.
12875         (define_label): Replace filename and lineno arguments with a
12876         location_t.
12877         (store_parm_decls): Use DECL_SOURCE_LOCATION.
12878         * c-parse.in (label): Adjust define_label call.
12879
12880 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
12881
12882         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
12883         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
12884         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
12885         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
12886         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
12887
12888 2003-07-01  Andreas Jaeger  <aj@suse.de>
12889
12890         * final.c: Convert prototypes to ISO C90.
12891         * flow.c: Likewise.
12892         * flags.h: Likewise.
12893         * gcov-io.c: Likewise.
12894         * gcov-io.h: Likewise.
12895
12896 See ChangeLog.9 for earlier changes.