OSDN Git Service

677d49be541b3a19f44cbef7254861c3030b22c3
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-05-26  Philip Blundell  <philb@gnu.org>
2
3         * config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
4         * config/i960/i960-protos.h: Likewise.
5         * config/i370/i370-protos.h: Likewise.
6         * config/h8300/h8300-protos.h: Likewise,
7         * config/sh/sh-protos.h: Likewise.
8         * config/v850/v850-protos.h: Likewise.
9
10 2001-05-26  Philip Blundell  <philb@gnu.org>
11
12         * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
13
14 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
15
16         * toplev.c (debug_args, f_options, W_options): Mark
17         descriptions for translation.
18         (display_help): Translate descriptions on output.
19
20         * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
21         objc/lang-options.h: Mark descriptions for translation.
22
23         * aclocal.m4: Quote final argument of patsubst.  Use
24         3-argument form of AC_DEFINE.  Restore quotes to [] while
25         using AC_FD_CC.
26         * configure.in: Remove unnecessary changequote calls.
27         * configure, config.in: Regenerate.
28
29 2001-05-25  Sam TH  <sam@uchicago.edu>
30
31         * basic-block.h: Fix header include guards.
32         * bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
33         cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
34         except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
35         gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
36         gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
37         insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
38         rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
39         varray.h version.h: Likewise.
40         * config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
41         config/arm/arm.h config/c4x/c4x-protos.h
42         config/h8300/h8300-protos.h config/h8300/h8300.h
43         config/i370/i370-protos.h config/i370/i370.h
44         config/i960/i960-protos.h config/mcore/mcore.h
45         config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
46         config/v850/v850-protos.h config/v850/v850.h: Likewise.
47         * fixinc/fixlib.h fixinc/server.h: Likewise.    
48
49 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
50
51         * config/arc/initfini.c (.init): Fix typo.
52
53 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
54
55         * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
56
57 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
58
59         * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
60
61 2001-05-25  Richard Henderson  <rth@redhat.com>
62
63         * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
64
65 2001-05-25  Richard Henderson  <rth@redhat.com>
66
67         * config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
68         (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
69         (sparc*-*-solaris2): Likewise.
70         * config/t-linux: Remove shared libgcc macros.
71         * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
72         * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
73
74 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
75
76         * config.gcc (*-*-freebsd*): Report bad configuration.
77
78 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
79
80         * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
81
82         * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
83         any prefix.
84         (ASM_OUTPUT_LABELREF): Delete.
85
86 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
87
88         * fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
89         strict_ansi_only): Don't run if stdc_0_in_system_headers.
90         * fixinc/fixincl.x: Regenerate.
91         * fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
92         (FIX_TEST_TABLE): Declare it.
93         * fixinc/fixlib.h: Include config.h.
94
95 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
96
97         * fixinc/inclhack.def (alpha___assert): Change char * args to
98         const char * on Tru64 UNIX to avoid excessive warnings from
99         assert.h.
100         * fixinc/fixincl.x: Regenerate.
101
102 2001-05-25  Geoff Keating  <geoffk@redhat.com>
103
104         * dbxout.c (dbxout_symbol): Invert previous patch, which was
105         outputting a tag only for variable-size records.
106
107 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
108
109         * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
110         instead of rtx_equal_p for early clobber test.
111
112 2001-05-26  Mark Mitchell <mark@codesourcery.com>
113
114         * builtins.def: Encode additional information, such as names and
115         types, here.
116         * builtin-types.def: New file.
117         * builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
118         (built_in_decls): Likewise.  Don't explicitly initialize global
119         data to NULL.
120         (expand_builtin_mathfn): Handle float and long double variants of
121         math builtins.
122         (expand_builtin): Likewise.
123         * c-common.c (c_common_nodes_and_builtins): Make it table-driven.
124         (expand_tree_builtin): Handle long, long long, float, and long
125         double variants of math functions.
126         * c-common.h (c_tree_index): Remove some unused nodes.
127         (void_ftype): Remove.
128         (void_type_ptr): Likewise.
129         (int_ftype_int): Likewise.
130         (ptr_ftype_sizetype): Likewise.
131         * c-decl.c (init_decl_processing): Remove creation of DWARF
132         builtins.
133         * defaults.h (MD_INIT_BUILTINS): Provide default definition.
134         * tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
135         * Makefile.in (c-common.o): Depend on builtin-types.def.
136         
137 2001-05-25  Dale Johannesen  <dalej@apple.com>
138
139         * config/rs6000/t-darwin: Fix dependencies for darwin.o.
140
141 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
142
143         * c-parse.in (notype_initdcl): Remove redundant line.
144
145 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
146
147         * aclocal.m4: Fixed typo.
148         (gcc_AC_HEADER_STDBOOL): Define.
149         (gcc_AC_C__BOOL): Define.
150         * configure.in: Use them.
151         (AC_CHECK_HEADERS): Remove stdbool.h
152         * configure, config.in: Regenerate.
153
154 2001-05-25  Richard Henderson  <rth@redhat.com>
155
156         * function.c (expand_function_start): Don't abort on PARALLEL
157         returns from hard_function_value.
158
159 2001-05-25  Richard Henderson  <rth@redhat.com>
160
161         * config/i386/i386.md: Revert previous change.  Do not apply
162         the peephole if the components do not die after the sequence.
163
164 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
165
166         * c-parse.in (array_declarator): New.  Handle C99 constructs.
167         Don't restrict [*] declarators to C only.
168         (after_type_declarator, parm_declarator_starttypename,
169         parm_declarator_nostarttypename, notype_declarator,
170         direct_absdcl1): Use it.
171         * c-decl.c (build_array_declarator, set_array_declarator_type):
172         New functions.  Warn that [*] isn't properly implemented; pedwarn
173         for [*] outside C99 mode if pedantic rather than giving a hard
174         error.
175         (grokdeclarator): Handle static and type qualifiers in parameter
176         array declarators.
177         * c-tree.h (build_array_declarator, set_array_declarator_type):
178         Declare.
179         * extend.texi (Attribute Syntax): Document attributes in parameter
180         array declarators.
181
182 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
183
184         * config/i386/i386.md: Make sure cmpstr peepholes do not 
185         affect liveness information.
186
187 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
188
189         * c-typeck.c (digest_init): Issue error messages about 
190         invalid constants, not warnings.
191
192 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
193
194         * invoke.texi (-fno-builtin): Document that this is always on
195         in C++.
196
197 2001-05-24  Philip Blundell  <philb@gnu.org>
198
199         * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
200         required.
201
202 2001-05-24  Philip Blundell  <philb@gnu.org>
203
204         * config/arm/arm.c (output_return_instruction): Correctly handle
205         interworking and interrupt functions.
206
207 2001-05-24  Philip Blundell  <philb@gnu.org>
208
209         * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
210         -m{no-}sched-prolog.  Fix typos and improve formatting.
211
212 2001-05-24  Philip Blundell  <philb@gnu.org>
213
214         * invoke.texi (ARM Options): Improve wording slightly.  Add
215         documentation for more options, including those for Thumb mode.
216         Don't mention options that don't exist or are unimplemented.
217         (Thumb Options): Delete; merged into above section.
218
219 2001-05-24  Geoff Keating  <geoffk@redhat.com>
220
221         * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
222         (MD_FALLBACK_FRAME_STATE_FOR): Use it.
223
224 Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
225
226         * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
227         fix hard register simplification.
228
229 Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
230
231         * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
232         of just copying CPP_CPU_SPEC.
233
234 Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
235
236         * i386.c (incdec_operand): Accept only 1 and -1.
237
238 2001-05-23  Kelley Cook  <kelley.cook@home.com>
239
240         * Makefile.in: Move many of the *_H definitions eariler in the
241         file, so that rules in t-* files that use them for
242         dependencies will work in a parallel build.
243         * config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
244
245 2001-05-23  Richard Henderson <rth@redhat.com>
246
247         * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
248
249 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
250
251         * cpp.texi: Update for handling of charconsts.
252         * cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
253         diagnostics.  Skip to the end if the UCS is too short.
254         (cpp_interpret_charconst): Long charconsts issue a warning
255         not an error.
256
257 2001-05-23  Richard Henderson  <rth@redhat.com>
258
259         * doc/install.texi (alpha-linux): Require binutils 2.11.
260
261 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
262
263         * c-lex.c (read_escape, read_ucs): Delete.
264         (lex_string): Use cpp_parse_escape.
265         * cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
266         if not C++ or not C99.  Warn if traditional.
267         (parse_escape): Rename cpp_parse_escape.  Make the bitmask
268         unsigned.  Warn for out-of-range escape sequences here.
269         Update to use maybe_read_ucs.
270         (cpp_interpret_charconst):  Don't warn here.
271         * cpplib.h (cpp_parse_escape): New exported function.
272
273 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
274
275         * extend.texi (Attribute Syntax): Clarify application of
276         attributes to parameters declared as functions or arrays.
277
278 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
279
280         * dbxout.c (dbxout_type_methods): Do still group methods by name.
281
282 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
283
284         * diagnostic.c (vnotice): Kill.
285         (fnotice): Call vfprintf directly.
286         (diagnostic_for_decl, output_do_verbatim, output_verbatim,
287         verbatim, set_diagnostic_context): Rename string argument to
288         indicate that it is run through gettext.
289         (vbuild_message_string, build_message_string, output_do_printf):
290         Rename string argument to indicate that it is NOT run through
291         gettext.
292         (output_printf, diagnostic_for_decl, fatal_io_error, sorry,
293         output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
294         Run msgid argument through gettext.
295         (default_print_error_function): Run constant strings through
296         gettext when nothing else will.
297         (fatal_error, internal_error, error_recursion): Use fnotice.
298         Present complete sentences to gettext.
299
300 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
301
302         * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
303
304 2001-05-23  Richard Henderson  <rth@redhat.com>
305
306         * function.c (expand_function_start): Always use a pseudo
307         for the function result value.
308
309 2001-05-22  Richard Henderson  <rth@redhat.com>
310
311         * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
312         section pointer alignment.
313
314         * doc/install.texi (alpha-linux): Require binutils >= 2.10.
315
316         * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
317         of __USER_LABEL_PREFIX__.
318
319 2001-05-22  Richard Henderson  <rth@redhat.com>
320
321         * unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
322         (__deregister_frame_info_bases): New.
323         * unwind-dw2-fde.h: Declare it.
324         * libgcc-std.ver: Export it.
325         * crtstuff.c (__do_global_dtors_aux): Call it if we would have
326         called __register_frame_info_bases.
327
328 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
329
330         * config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
331         instead of #elif (which is OK for this case but not in general).
332
333 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
334
335         * builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
336         * config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
337         parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
338         * config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing 
339         "r2" to the assembly file. Only issue allocs with non-zero parameters.
340
341 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
342             David O'Brien  <obrien@freebsd.org>
343
344         * config/freebsd.h (LIB_SPEC): Key the exact setting to
345         configure-time options and target version of FreeBSD.  Set-up
346         to match architectural change in threading support.  Correctly
347         report when -pthread option is not supported by configure-time
348         options.
349         (FBSD_CPP_PREDEFINES): Move from architecture-specific files
350         and extend to encode target version number in run-time setting
351         of __FreeBSD__ macro to match the system compiler.
352         (CPP_PREDEFINES): Likewise.
353         (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
354
355         * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
356         * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
357
358 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
359             David O'Brien  <obrien@freebsd.org>
360
361         * config.gcc (the unlabeled system switch statement): Add
362         generic configuration section to handle *-*-freebsd*.  Also,
363         to match the system compiler, default to threading support (it
364         may be disabled with the standard --disable-threads
365         configuration-time switch).
366         (i[34567]86-*-freebsd* in machine-specific section): Use it.
367         (alpha*-*-freebsd* in machine-specific section): Likewise.
368
369         * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
370         * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
371         * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
372         * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
373         * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
374
375 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
376             David O'Brien  <obrien@freebsd.org>
377
378         * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
379         * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
380         -pthread instead setting macro.
381
382 2001-05-22  Richard Henderson  <rth@redhat.com>
383
384         * crtstuff.c (__register_frame_info_bases): Declare.
385         (frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
386         (__do_global_dtors_aux, __do_global_dtors): Streamline.
387
388         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
389         (CRT_GET_RFIB_DATA): New.
390         * config/i386/sysv4.h: Likewise.
391         * config/i386/sco5.h: Likewise.
392         (ASM_PREFERRED_EH_DATA_FORMAT): New.
393
394 2001-05-22  Richard Henderson  <rth@redhat.com>
395
396         * rtl.c (read_string): Break out from ...
397         (read_rtx): ... here.
398
399 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
400
401         * doc/install.texi (Specific): Remove a bogus and duplicate part
402         copied from the end of the document.
403
404 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
405
406         * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
407
408 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
409
410         * install.texi: Remove obsolete information on SunOS as well as
411         i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
412         (Installing GNU CC on the Sun): Remove section.
413
414 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
415
416         * cppfiles.c (remove_component_p): Don't assume lstat/stat will
417         keep errno unchanged on success.
418
419 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
420
421         * c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
422         once for hexadecimal floats, whether or not they contain a decimal
423         point.  Don't let the setting of pedantic otherwise affect the
424         parsing of hexadecimal floats.
425
426 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
427
428         * README.ACORN: Remove obsolete file.
429
430 2001-05-22  Jan Hubicka  <jh@suse.cz>
431
432         * combine.c (gen_binary): Use swap_commutative_operands_p
433         (simplify_comparison): Likewise.
434         * expmed.c (emit_store_flag): Likewise.
435         * expr.c (compare_from_rtx): Likewise.
436         (do_compare_rtx_and_jump): Likewise.
437         * optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
438         if not emitting a branch and operands want swapping.
439
440 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
441
442         * c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
443         * stringpool.c: (IS_FE_IDENT, make_identifier): Delete.
444         (maybe_get_identifier): Update.
445         * tree.h (make_identifier): Delete.
446
447 2001-05-21  Richard Henderson  <rth@redhat.com>
448
449         * combine.c (subst): Do not substitute for a register as
450         a destination subreg/strict_low_part/zero_extract.
451
452         * combine.c (simplify_comparison): Update op1 after constant
453         extension.
454         * recog.c (const_int_operand): Accept only constants valid
455         for the given mode.
456         * genrecog.c: Update comments wrt const_int_operand.
457
458         * emit-rtl.c (init_emit_once): Zero unused memory in a
459         CONST_DOUBLE.
460
461 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
462
463         * tree.h (type_num_arguments): Declare it.
464         * tree.c (type_num_arguments): New function.
465
466 2001-05-21  Richard Henderson  <rth@redhat.com>
467
468         * dwarf2out.c (current_funcdef_number): Move outside dwarf2
469         conditional ifdef.
470
471 2001-05-21  Geoff Keating  <geoffk@redhat.com>
472
473         * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
474         (maxsf3+1): Delete.
475         (minsf3): Use rs6000_emit_minmax.
476         (minsf3+1): Generalize to handle both SMIN and SMAX.  Use
477         rs6000_emit_minmax.
478         (movsfcc): Use rs6000_emit_cmove.
479         (fselsfsf4): Don't compare a CONST_INT with a floating-point value.
480         Don't generate emit_fselsfsf4.
481         (fseldfsf4): Likewise.
482         (maxdf3): Use rs6000_emit_minmax.
483         (maxdf3+1): Delete.
484         (mindf3): Use rs6000_emit_minmax.
485         (mindf3+1): Generalize to handle both SMIN and SMAX.  Use
486         rs6000_emit_minmax.
487         (movdfcc): Use rs6000_emit_cmove.
488         (fseldfdf4): Don't compare a CONST_INT with a floating-point value.
489         Don't generate emit_fselsfsf4.
490         (fselsfdf4): Likewise.
491         * config/rs6000/rs6000.c (zero_fp_constant): New predicate.
492         (min_max_operator): New predicate.
493         (rs6000_emit_cmove): New function.
494         (rs6000_emit_minmax): New function.
495         * config/rs6000/rs6000-protos.h: Prototype new functions.
496         * config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
497         and min_max_operator.
498
499         * config/rs6000/rs6000.c (output_cbranch): Handle all
500         conditional types in the switch statement.
501
502 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
503
504         * c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
505         non-register variables.
506         * extend.texi: Document that asm-specifications do not make sense
507         for non-static local variables.
508
509 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
510
511         * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
512         (dbxout_type_fields): Lose minimal_debug support.
513         (dbxout_type_methods, dbxout_type): Likewise.
514
515 2001-05-17  Andrew Haley  <aph@redhat.com>
516
517         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
518
519 2001-05-21  Richard Henderson  <rth@redhat.com>
520
521         * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
522         Update all users.
523
524 2001-05-20  Richard Henderson  <rth@redhat.com>
525
526         * dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
527         DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
528         DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
529         * dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
530         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
531         Likewise.
532         * config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
533         DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
534         DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
535         (DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
536         * config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
537         DEBUG_PUBNAMES_SECTION): Rename as above.
538         (DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
539
540 2001-05-20  Richard Henderson  <rth@redhat.com>
541
542         * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
543         operands unless the operation is commutative.
544
545 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
546
547         * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
548         cases.
549
550 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
551
552         * extend.texi: Clarify documentation of extensions included in ISO
553         C99.  Prefer C99 terminology and syntax to old GNU terminology and
554         syntax.  Add more index entries.  Document mixed declarations and
555         code as an extension in C89 mode.  Warn about future changes to
556         semantics of inline functions.  Fixes PR other/930.
557
558 Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
559
560         * expr.c (expand_expr, case ARRAY_REF): Don't fold constant
561         access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
562         (expand_expr, case COMPONENT_REF): Do copy if misaligned even
563         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
564
565         * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
566
567 2001-05-20  Richard Henderson  <rth@redhat.com>
568
569         * sched-deps.c (sched_analyze_insn): Force volatile memory reads
570         to be output before a branch.
571
572 2001-05-20  Richard Henderson  <rth@redhat.com>
573
574         * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
575
576 2001-05-20  Richard Henderson  <rth@redhat.com>
577
578         * config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
579         (ASM_DOUBLE): Remove.
580         * config/i386/bsd.h, config/i386/sco5.h: Likewise.
581         * config/i386/sun386.h: Likewise.
582
583         * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
584         (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
585         
586         * config/i386/cygwin.h (INT_ASM_OP): Remove.
587         * config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
588         * config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
589         * config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
590         
591         * config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
592         * config/i386/djgpp.h, config/i386/i386.h: Likewise.
593         * config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
594         * config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
595         * config/i386/sysv4.h, config/i386/vsta.h: Likewise.
596         * config/i386/win32.h: Likewise.
597
598 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
599
600         * invoke.texi: Add more options to summary list.
601
602 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
603
604         * invoke.texi: Document meaning of -pedantic when -std=gnu* is
605         used.  Fixes PR c/2291.
606         * gcc.1: Regenerate.
607
608 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
609
610         * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
611         the -fpic and -fPIC options, clear flag_pic.
612
613 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
614
615         * hashtable.c (calc_hash): Fix HASHSTEP definition.
616         * stringpool.c (make_identifier): No statistics here anymore.
617         * objc-act.c (steup_string_decl): Remove redundant check.
618
619 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
620
621         * Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
622         cpplib.o, cpphash.o, fix-header): Update.
623         (hashtable.o): New target.
624         * c-common.h: Include cpplib.h.  Define C_RID_CODE and
625         struct c_common_identifier here.
626         * c-lang.c (c_init_options): Update.  Call set_identifier_size.
627         * c-lex.c (c_lex): Update.
628         * c-pragma.h: Update.
629         * c-tree.h (struct lang_identifier): Contain c_common_identifier.
630         Delete rid_code.
631         (C_RID_CODE): Delete.
632         * cpphash.c: Rewrite to use hashtable.c.
633         * cpphash.h: Update include guards.
634         (struct cpp_reader): Remove hashtab.
635         hash_ob and buffer_ob are no longer pointers.  Add hash_table
636         and our_hashtable.
637         (HASHSTEP, _cpp_init_hashtable, _cpp_lookup_with_hash): Delete.
638         (_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
639         (_cpp_cleanup_stacks): Rename _cpp_init_directives.
640         * cppinit.c (cpp_create_reader): Update.
641         * cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
642         (cpp_interpret_charconst): Eliminate warning.
643         * cpplib.c (do_pragma, do_endif, push_conditional,
644         cpp_push_buffer, cpp_pop_buffer): Update.
645         (_cpp_init_stacks): Rename cpp_init_directives.
646         (_cpp_cleanup_stacks): Remove.
647         * cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
648         (cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
649          cpp_forall_identifiers, cpp_create_reader): Update.
650         (C_RID_CODE, cpp_make_node): New.
651         (c_common_identifier): New identifier node for C front ends.
652         * cppmain.c (main): Update.
653         * fix-header.c (read_scan_file): Update.
654         * flags.h (id_clash_len): Make unsigned.
655         * ggc.h (ggc_mark_nonnull_tree): New.
656         * hashtable.c: New.
657         * hashtable.h: New.
658         * stringpool.c: Update comments and copyright.  Update to use
659         hashtable.c.
660         * toplev.c (approx_sqrt): Move to hashtable.c.
661         (id_clash_len): Make unsigned.
662         * toplev.h (ident_hash): New.
663         * tree.c (gcc_obstack_init): Move to hashtable.c.
664         * tree.h: Include hashtable.h.
665         (IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
666         (GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
667         (struct tree_identifier): Update.
668         (make_identifier): New.
669 cp:
670         * cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
671         (C_RID_CODE): Remove.
672         * lex.c (cxx_init_options): Call set_identifier_size.  Update.
673         (init_parse): Don't do it here.
674 objc:
675         * objc-act.c (objc_init_options): Call set_identifier_size. Update.
676
677 Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
678
679         * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
680         as ncessary.
681         (expand_eh_return): Convert between word_mode and Pmode.
682         * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
683         are the same size.
684         (execute_stack_op): Likewise.
685         (execute_cfa_program): Likewise.
686         (uw_frame_state_for): Likewise.
687         (uw_update_context_1): Likewise.
688         * unwind.inc (_Unwind_Reason_Code): Likewise.
689         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
690         (EH_RETURN_STACKADJ_RTX): Likewise.
691         * config/mips/mips.c (compute_frame_size): Make space for saving
692         EH return registers.
693         (mips_expand_epilogue): Handle EH stack adjustments.
694         * config/mips/mips.md (eh_return): New pattern.
695         (eh_set_lr_si): Likewise.
696         (eh_set_lr_di): Likewise.
697         Add splitter to perform EH return after reload.
698                 
699 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
700
701         * jump.c (mark_jump_label): Tidy previous change.
702
703 2001-05-19  Bruce Korb  <bkorb@gnu.org>
704
705         * fixinc/genfixes: no need for two warnings
706         * fixinc/Makefile.in: open stdin for those building with a closed one.
707
708 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
709
710         * jump.c (jump_optimize_1): Tidy.
711         (mark_jump_label): When changing the label in a LABEL_REF, change
712         update any REG_EQUAL notes as well.
713
714 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
715
716         * c-parse.in (parm_declarator): Split into
717         parm_declarator_starttypename and parm_declarator_nostarttypename.
718         (parm_declarator_starttypename, parm_declarator_nostarttypename):
719         New.  Allow parenthesised sub-declarators which don't begin with a
720         TYPENAME.  Fixes PR c/166.
721
722 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
723
724         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
725         macro.
726         * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
727         Document it.
728         * toplev.c (main): If the target does not allow profiling without
729         a frame pointer, issue an error message.
730         * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): 
731         Define it to false.
732         
733 Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
734
735         * recog.c (general_operand): Modify last change to allow it if reload
736         has completed.
737
738 Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
739
740         * recog.c (general_operand): Prohibit nonzero subreg bytes on
741         subregs containing mem.
742
743 Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
744
745         * regrename.c (regrename_optimize): frame pointer register can
746         use a few hardregs.
747
748 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
749
750         * README.DWARF: Move into dwarfout.c.
751
752 2001-05-18  Dale Johannesen  <dalej@apple.com>
753
754         * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
755         specific misuse of r0 as a reload address.
756
757 Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
758
759         * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
760         suceeded.
761
762 Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
763
764         * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
765         (add_to_sequence): Make that decision type.
766         (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
767         (write_switch, write_cond, debug_decision_2): Likewise.
768
769         * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
770         for INTEGER_TYPE.
771         (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
772         variable size.
773
774 2001-05-18  Stan Shebs  <shebs@apple.com>
775
776         * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
777         * configure: Regenerate.
778
779 2001-05-18  Per Bothner  <per@bothner.com>
780
781         Changes needed for java/jvspec.c
782         * gcc.h (n_infiles, outfiles):  Add declarations.
783         * gcc.c (n_infiles, outfiles):  Mske no longer static.
784
785 Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
786
787         * config/pa/som.h (EXCEPTION_SECTION): Define.
788
789 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
790
791         * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
792         list.
793         Add have_location_lists, a variable to determine whether we need a
794         .debug_loc section or not.
795         (enum dw_val_class): Add dw_val_class_loc_list.
796         (dw_val_struct): Add val_loc_list.
797         (dw_loc_list_struct): New structure, represents location lists.
798         (new_loc_list): New function, return a new location list, given
799         the range and location expression.
800         (add_loc_descr_to_loc_list): New function, add a location
801         expression to a location list, given the expression and range.
802         (output_loc_list): New function, output a location list.
803         (gen_internal_sym): Modified to take symbol prefix, so we can
804         reuse it for location list symbols.
805         (add_AT_loc_list): New function, add a location list to a DIE at
806         the named attribute.
807         (AT_loc_list): New function, return the location list reference
808         for a given attribute, if it's a location list.
809         (print_die): Handle dw_val_class_loc_list.
810         (size_of_die): Ditto.
811         (value_format): Ditto.
812         (output_die): Ditto.
813         (output_location_lists): New function, output all of the location
814         lists for a DIE and it's children.
815         (dwarf2out_finish): Call output_location_lists if we have location
816         lists.
817
818
819 Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
820
821         * gcse.c (try_replace_reg): First try global replace, later try to
822         simplify the expression.
823
824         * gcse.c (find_used_regs): Change calling convention; work via
825         note_uses.
826         (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
827
828 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
829
830         Revert
831         2001-02-09  Nick Clifton  <nickc@redhat.com>
832         * config/arm/arm.md: Change output constraint on post inc
833         load/store multiple patterns to be a read/write constraint.
834
835 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
836
837         * basic-block.h (struct basic_block_def): Add documentation about
838         what a basic block is, and what the various fields are used for.
839         * flow.c (calculate_globlal_regs_live): Add documentation about
840         how the algorithm works, and how we know that it will terminate.
841         Check that the the inductive assumption that guarantees
842         termination actually holds.
843         (mark_used_regs): Treat conditionally set registers as used.
844         (debug_regset): Add comment.
845         * rtl.texi (cond_exec): Add documentation.
846
847         * function.c (expand_function_start): Avoid creating BLKmode
848         pseudos.
849
850 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
851
852         * dwarf2out.c (output_comp_unit): Always output a compilation-unit
853         DIE, even if it has no children.
854         (dwarf2out_finish): Always output the line-number table, even if
855         it has no content.
856
857 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
858
859         * rs6000.md (movsfcc,movdfcc): Remove NE case.
860
861 2001-05-17  Bruce Korb <bkorb@gnu.org>
862
863         * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
864         * fixinc/genfixes: emit a warning if AutoGen is out of date
865
866 2001-05-17  Brendan Conoboy <blc@cygnus.com>
867             Bruce Korb <bkorb@gnu.org>
868
869         * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
870         found in fixinc directory.  Facilitates binary distributions.
871
872 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
873
874         * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
875         COMPLEX_TYPE.
876
877 Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
878
879         * dwarf2out.c (modified_type_die): Equate qualified type to die.
880
881 Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
882
883         * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
884         (simplify_subreg): Handle complex types represented as CONCAT.
885
886         * recog.c (validate_replace_rtx_1): Properly canonicalize expression
887         * rtl.h (swap_commutative_operands_p): Declare.
888         * rtlanal.c (swap_commutative_operands_p): New.
889         (operand_preference): New static function.
890
891         * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
892         (gen_binary): Likewise.
893         * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
894         * simplify-rtx.c (simplify_gen_binary,
895         simplify_gen_relational): Likewise.
896
897 Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
898
899         * cse.c (fold_rtx): Use simplify_subreg.
900
901         * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
902         (simplify_gen_subreg): New.
903         (simplify_rtx): Use simplify_subreg.
904         * rtl.h (simplify_gen_subreg): Declare.
905
906 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
907
908         * doc/install.texi: Update Solaris information.
909
910         * except.h (protect_cleanup_actions): Remove it.
911         (lang_protect_cleanup_actions): Declare it.
912         * except.c (protect_cleanup_actions): Remove it.
913         (lang_protect_cleanup_actions): New variable.
914         (init_eh): Don't make protect_cleanup_actions a GC root.
915         (expand_eh_region_and_cleanup): Call
916         lang_protect_cleanup_actions.
917         (output_function_exception_table): Remove unused `align'
918         variable.
919         * varasm.c (assemble_external): Abort if we have not yet
920         opened the assembly output file.
921         
922 Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
923
924         * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
925         for eh_personality_libfunc.
926
927 Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
928
929         * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
930         when calling simplify_subreg.  This is needed to allow replacing
931         of expression of one mode by expression of different mode.
932
933 Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
934
935         * simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
936
937 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
938
939         * expr.c (protect_from_queue): Protect against subsequent calls to
940         emit_queue.
941         (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
942         too clever.
943
944 Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
945
946         * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
947
948 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
949
950         * gccbug.in (CATEGORIES): Add "bootstrap".
951
952 Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
953
954         * simplify-rtx.c (simplify_subreg): Break out from ...
955         * combine.c (combine_splify_rtx) ... here and ...
956         * recog.c (validate_replace_rtx_1): ... here;
957         * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
958         * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
959         (subreg_lowpart_p): ... here.
960
961 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
962
963         * stmt.c (expand_asm_operands): For inout operands, make sure
964         the substitution of '=' for '+' makes it into the rtl.
965
966         * reload1.c (delete_output_reload): Call eliminate_regs on substed.
967         (reload_as_needed): Call update_eliminable_offsets a bit later.
968
969 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
970
971         * gcc.texi (gccbug): Refer to the web pages for detailed information
972         on GNATS.
973
974 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
975
976         * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
977
978         * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
979         OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
980         LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
981         libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
982         * cross-make: Don't set LIBGCC1.
983         * mklibgcc.in: Delete all code for building from libgcc1.c.
984         Always honor LIB1ASMFUNCS if set.
985
986         * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
987         config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
988         config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
989         config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
990         config/i386/uwin.asm, config/m68hc11/larith.asm,
991         config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
992         config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
993         config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
994         config/v850/lib1funcs.asm, config/c4x/libgcc.S:
995         Delete or update references to libgcc1 in commentary.
996
997         * config/t-libc-ok, config/t-linux, config/t-linux-aout,
998         config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
999         config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
1000         config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
1001         config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
1002         config/arm/t-semi, config/arm/t-strongarm-coff,
1003         config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
1004         config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
1005         config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
1006         config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
1007         config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
1008         config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
1009         config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
1010         config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
1011         config/m68k/t-m68kbare, config/m68k/t-m68kelf,
1012         config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
1013         config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
1014         config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
1015         config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
1016         config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
1017         config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
1018         config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
1019         config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
1020         config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
1021         config/mips/t-ultrix, config/mn10200/t-mn10200,
1022         config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
1023         config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
1024         config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
1025         config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
1026         config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
1027         config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
1028         config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
1029         config/sparc/t-sparclite, config/sparc/t-splet,
1030         config/sparc/t-sunos41, config/sparc/t-vxsparc,
1031         config/sparc/t-vxsparc64, config/v850/t-v850:
1032         Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
1033
1034         * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h: 
1035         Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
1036         * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
1037         FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
1038         nongcc_SI_type, nongcc_word_type, or perform_*
1039         * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
1040
1041         * config/i386/386bsd.h, config/i386/beos-elf.h,
1042         config/i386/linux-aout.h, config/i386/linux-oldld.h,
1043         config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
1044         config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
1045         Don't include i386/perform.h.
1046
1047         * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
1048         config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
1049         config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
1050         config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
1051         config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
1052         config/vax/t-openbsd, config/vax/t-vax: Delete.
1053
1054         * config.gcc: Remove references to deleted files.
1055         (arm-semi-aof): Use arm/t-semi for tmake_file.
1056
1057         * gcc.texi, install.texi, invoke.texi, tm.texi:
1058         Delete or rewrite text which is no longer relevant now that
1059         libgcc1 no longer exists.
1060
1061         * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
1062         No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
1063
1064 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
1065         Bruce Korb <bkorb@gnu.org>
1066
1067         * fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
1068         initializer
1069
1070 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
1071
1072         * i386.md: Add two peepholes to clean up code generated by
1073         cmpstr* expanders.
1074
1075 2001-05-16  Richard Henderson  <rth@redhat.com>
1076
1077         * dwarf2asm.c (eh_data_format_name): Add names for "pointer size" 
1078         variants of non-absolute encodings.
1079
1080         * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1081
1082         * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
1083         __register_frame_info_table_bases): Export.
1084
1085 2001-05-16  Richard Henderson  <rth@redhat.com>
1086
1087         * except.c (eh_data_format_name): Move to ...
1088         * dwarf2asm.c: ... here.  Use designated initializers if available.
1089         (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
1090         * dwarf2asm.h: Update declarations.
1091         * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
1092         ASM_PREFERRED_EH_DATA_FORMAT.
1093         (output_call_frame_info): Likewise.  Use 'L' augmentation for
1094         the LSDA encoding.
1095
1096         * unwind-dw2-fde.h (struct fde_vector): New.
1097         (struct old_object): Rename from struct object.
1098         (struct object): New.
1099         (__register_frame_info_bases): Declare.
1100         (__register_frame_info_table_bases): Declare.
1101         (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
1102         * unwind-dw2-fde.c (objects): Remove.
1103         (unseen_objects, seen_objects): New.
1104         (__register_frame_info_bases): New.
1105         (__register_frame_info): Use it.
1106         (__register_frame_info_table_bases): New.
1107         (__register_frame_info_table): Use it.
1108         (__deregister_frame_info): Rewrite for changed object struct.
1109         (base_from_object, get_cie_encoding, get_fde_encoding): New.
1110         (fde_unencoded_compare): Rename from fde_compare; uninline.
1111         (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
1112         (start_fde_sort): Adjust for new definition of fde_vector.
1113         (fde_insert): Likewise.
1114         (end_fde_sort): Likewise.  Select comparison function based
1115         on properties of the object.
1116         (fde_split): Take object and fde_compare_t arguments.
1117         (frame_heapsort, fde_merge): Likewise.
1118         (classify_object_over_fdes): Rename from count_fdes.  Handle
1119         encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
1120         for the object.
1121         (add_fdes): Handle encoded pointers.
1122         (init_object): Rename from frame_init.  Update for new struct object.
1123         (linear_search_fdes): Rename from search_fdes.  Handle encoded
1124         pointers.
1125         (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
1126         (binary_search_single_encoding_fdes): New.
1127         (binary_search_mixed_encoding_fdes): New.
1128         (search_object): New.
1129         (_Unwind_Find_FDE): Update for new struct object.  Fill in
1130         the dwarf_eh_bases.
1131         * unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
1132         iterating over EH data.
1133         (_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
1134         fde_encoding, lsda_encoding.
1135         (read_uleb128, read_sleb128): Remove.
1136         (read_encoded_pointer): Remove.  All callers use read_encoded_value.
1137         (extract_cie_info): Set lsda_encoding from 'L' augmentation.
1138         (uw_frame_state_for): Don't set bases.func.  Handle encoded fde
1139         pointers.
1140         * unwind-pe.h: Add "struct" to _Unwind_Context references.
1141
1142 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1143
1144         * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
1145         * cpphash.c (_cpp_lookup_with_hash): Similarly.
1146         * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
1147         cpp_spell_token, cpp_output_token): Similarly.
1148         * cpplib.c (lex_macro_node, do_undef, do_pragma,
1149         do_pragma_poison, parse_assertion, do_assert): Similarly.
1150         * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
1151         save_parameter, _cpp_create_definition, check_trad_stringification,
1152         cpp_macro_definition): Similarly.
1153         * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
1154         * c-lex.c (cb_undef, c_lex): Similarly.
1155         * fix-header.c (recognized_function): Similarly.
1156         * cpplib.h (NODE_LEN, NODE_NAME): New.
1157         (cpp_hashnode): Rename length len.
1158
1159 Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
1160
1161         * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
1162         GPRs.
1163
1164 2001-05-16  Andreas Jaeger  <aj@suse.de>
1165
1166         * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
1167
1168         * toplev.c: Include dwarf2asm.h for prototype of
1169         dw2_output_indirect_constants.
1170
1171 Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
1172
1173         * stmt.c (expand_asm_operands): Be able to offload addressof
1174         expression to memory. (PR optimization/185)
1175
1176 Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
1177
1178         * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
1179         applying distributive law.
1180
1181 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1182
1183         * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
1184
1185         * gthr-dce.h (UNUSED): Attribute unused macro.
1186         (__gthread_key_dtor): Make arguments UNUSED.
1187         (__gthread_key_delete): Revise for compatibility with DRAFT4
1188         implementation.
1189
1190 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
1191
1192         * doc/install.texi: Update AIX information.
1193         * README.RS6000: Remove obsolete file.
1194
1195 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
1196             Nathan Sidwell  <nathan@codesourcery.com>
1197
1198         * gcc.c (give_switch): Don't write before start of string.
1199         Always append suffix.
1200
1201 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
1202
1203         * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
1204         after stage3.
1205
1206 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1207
1208         * README.ALTOS: Remove obsolete file.
1209
1210 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1211
1212         * c-lex.h (save_and_forget_protocol_qualifiers,
1213         forget_protocol_qualifiers, remember_protocol_qualifiers):
1214         Remove deleted functions' prototypes.
1215
1216 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
1217
1218         * c-parse.in (methodtype): New production.
1219         (methoddef, methodproto): Collapse separate '-' and '+'
1220         handlers into 1.
1221
1222 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1223
1224         * c-common.h (RID_FIRST_PQ): New.
1225         * c-parse.in (objc_pq_context): New.
1226         (objc parser): Set objc_pq_context rather than calling
1227         remember_protocol_qualifiers and forget_protocol_qualifiers.
1228         Don't call save_and_forget_protocol_qualifiers.
1229         (yylexname): Handle objc protocol qualifiers here.
1230         * stringpool.c (struct str_header): Replace with sp_hashnode.
1231         (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
1232         (alloc_string): Rename alloc_ident.  Use the SP_ accessors.
1233         Allocate an IDENTIFIER_NODE for each identifier.
1234         (FORALL_STRINGS, set_identifier): Delete.
1235         (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
1236         (ggc_alloc_string): Use an obstack.
1237         (get_identifier, maybe_get_identifier, mark_string_hash): Update.
1238         * tree.h: Update comments.
1239         (set_identifier): Delete.
1240         * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
1241         save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
1242         remember_protocol_qualifiers): Delete.
1243
1244 Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
1245
1246         * flow.c (life_analysis): After life analysis is complete, do
1247         an optional scan over insns looking for REG_LABEL notes that
1248         reference a deleted label.
1249         (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
1250         before peeking at LABEL_NUSES.
1251
1252 2001-05-15  Richard Henderson  <rth@redhat.com>
1253
1254         * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
1255         (_Unwind_GetTextRelBase): New.
1256
1257 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
1258
1259         * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1260
1261 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
1262
1263         * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
1264         so that CHOOSE_SECTION gets used.
1265
1266         * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
1267         TARGET_RELOCATABLE like flag_pic for now.
1268
1269 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
1270
1271         * rs6000.md (movdi splitter): Sign extend more efficiently.
1272         * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
1273         to "long long" valid on 32-bit and 64-bit hosts.
1274         (logical_operand): Cast trunc_int_for_mode return value.
1275         (rs6000_emit_move): Shift macro to encapsulate variable.
1276         (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
1277         (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
1278         plus_constant requires signed argument.
1279
1280 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
1281
1282         * gthr-posix.h: Make additional pthread-* functions weak.
1283
1284 Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
1285
1286         * recog.c (apply_change_group): Avoid unneeded validating.
1287
1288 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
1289
1290         * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
1291         (num_insns_constant): CONST_INT can be 64-bits.
1292
1293 2001-05-14  Stan Shebs  <shebs@apple.com>
1294
1295         * config/darwin.h (LIB_SPEC): Just use -lSystem.
1296         (LIBGCC_SPEC): Don't define.
1297
1298 2001-05-14  Richard Henderson  <rth@redhat.com>
1299
1300         * configure.in (gcc_cv_as_eh_frame): New test.
1301         * config.in, configure: Rebuild.
1302         * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
1303
1304 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
1305
1306         * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
1307         extended precision divide.
1308
1309 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
1310
1311         * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
1312         for RETURNS as well.
1313
1314 Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
1315
1316         * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
1317         (CPP_CPU??_SIZE_TYPE): New.
1318         (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
1319         (CPP_CPU_SPEC): ... here; support choosing of CPU.
1320         (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
1321         (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
1322         compiler.
1323         * i386.c (override_options): Add sorry about not suported modes.
1324
1325 Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
1326
1327         * config/pa/som.h (NM_FLAGS): Remove.
1328         (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
1329         (ASM_OUTPUT_SECTION_NAME): Remove.
1330         (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
1331
1332 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
1333
1334         * regrename.c (regrename_optimize): Do not rename registers to
1335         leaf registers.
1336
1337 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
1338
1339         * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
1340         contain MEMs.  Remove useless distinction about clobbering
1341         registers.
1342
1343 2001-05-13  Geoff Keating  <geoffk@redhat.com>
1344
1345         * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
1346         * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
1347         * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
1348         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1349         (EXCEPTION_SECTION): Define.
1350
1351 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
1352
1353         * libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
1354         binary backward compat only.
1355         * Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
1356         in LIB2FUNCS.  Pass it to mklibgcc.
1357         * mklibgcc.in: Handle LIB2FUNCS_ST.
1358
1359         * Makefile.in (installdirs): Don't create $(gcc_tooldir).
1360
1361 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
1362
1363         * tm.texi (THREAD_MODEL_SPEC): Document it.
1364         * gcc.c (main): Use it.
1365         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
1366         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
1367
1368 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1369
1370         * rtl.h (SYMBOL_REF_WEAK): New macro.
1371         * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
1372         * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
1373         * rtl.texi (SYMBOL_REF_WEAK): Document it.
1374         * gcc.texi: Remove wrong description.
1375
1376 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
1377
1378         * Makefile.in (STAMP): New macro.
1379         Replace all uses of `touch' with $(STAMP).
1380         * fixinc/Makefile.in: Likewise.
1381
1382 Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1383
1384         * configure.in: ldopen is never in -lexc, so don't test for it.
1385         Add test for exc_resume in -lexc for Ada.
1386         * configure: Regenerated.
1387
1388 2001-05-12  Richard Henderson  <rth@redhat.com>
1389
1390         * dwarf2asm.c (size_of_encoded_value): New function.
1391         * dwarf2asm.h: Declare it.
1392         * except.c (output_function_exception_table): Align the TType
1393         array only as wide as the encoding.
1394
1395 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
1396
1397         * extend.texi: Document #pragma GCC java_exceptions.
1398
1399 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1400
1401         * c-parse.in (bison parser, init_reswords): Remove uses of
1402         doing_objc_thang.
1403         * c-tree.h (doing_objc_thang): Remove.
1404
1405 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1406
1407         * cpplex.c (_cpp_lex_token): Ensure we warn at most once
1408         about files not ending in newlines.
1409
1410 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
1411
1412         * dwarfout.c (dwarfout_init): Add cast.
1413         * sched-deps.c (sched_analyze_insn): Remove unused vars.
1414         * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
1415 cp:
1416         * method.c (build_mangled_C99_name): Remove unused prototype.
1417
1418 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1419
1420         * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
1421
1422 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
1423
1424         * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
1425         * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
1426
1427 2001-05-11  Richard Henderson  <rth@redhat.com>
1428
1429         * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1430         * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
1431         dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
1432         * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
1433         (dw2_output_indirect_constants): Prototype.
1434         * dwarf2out.c (dwarf2out_begin_prologue): Generate
1435         current_function_func_begin_label if we'll need it for EH.  Exit
1436         early for IA64_UNWIND_INFO.
1437         * except.c: Get DW_EH_PE_* defines from dwarf2.h.
1438         (eh_data_format_name): Update for indirect references.
1439         (output_function_exception_table): Care for IA64_UNWIND_INFO.
1440         Handle ASM_PREFERRED_EH_DATA_FORMAT.
1441         * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
1442         define HAVE_eh_return etc.
1443         * final.c (final_start_function): Always call dwarf2out_begin_prologue.
1444         (final_end_function): Don't call output_function_exception_table.
1445         * toplev.c (compile_file): Call dw2_output_indirect_constants.
1446         (rest_of_compilation): Invoke output_function_exception_table
1447         for ia64 before assemble_end_function.
1448         * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
1449         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
1450
1451         * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
1452         * unwind.h: Declare them.
1453         * libgcc-std.ver: Export them.
1454         * unwind-pe.h: New file.
1455
1456         * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1457
1458         * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
1459         instead of "fde".
1460         (find_fde_for_dso): Extract DT_PLTGOT.
1461         (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
1462         the segment and gp as well.
1463         * config/ia64/frame-ia64.c: Remove file.
1464         * config/ia64/frame-ia64.h: Remove file.
1465         * config/ia64/unwind-ia64.c: New file.
1466         * config/ia64/unwind-ia64.h: New file.
1467         * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
1468         (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
1469         (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
1470         (ASM_PREFERRED_EH_DATA_FORMAT): New.
1471         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1472         (IA64_UNWIND_INFO): Re-enable.
1473         (HANDLER_SECTION): Remove.
1474         (EH_RETURN_DATA_REGNO): New.
1475         * config/ia64/ia64.md (exception_receiver): Remove.
1476         * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
1477         * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
1478
1479 2001-05-11  Richard Henderson  <rth@redhat.com>
1480
1481         * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
1482         calls and jumps to be bundled together.
1483         (ia64_reorg): Emit a break after a noreturn call that ends
1484         a function.
1485         * config/ia64/ia64.md (break_f): New.
1486
1487 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1488
1489         * c-lex.c (lex_charconst): Convert into a simple wrapper
1490         around cpp_interpret_charconst, to which most of the code
1491         body is moved.
1492         * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
1493         MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
1494         MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
1495         (lex): Use cpp_interpret_charconst.
1496         * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
1497         hex_digit_value): New functions.
1498         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
1499         * cpplib.h (cpp_interpret_charconst): New prototype.
1500         * Makefile.in: Update.
1501
1502 2001-05-12  Dean Wakerley  <dean@wakerley.com>
1503
1504         * doc/install.texi: New file. Converted to texinfo from the HTML
1505         documentation in wwwdocs/htdocs/install.
1506
1507 Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
1508
1509         * gcse.c (insert_insn_end_bb): Do not search for assignments to
1510         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1511
1512         * toplev.c (compile_file): Move comment for opening output
1513         file to just before the code that opens the output file.
1514
1515 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
1516
1517         * regmove.c (regmove_optimize): Suppress the optimization for
1518         unchanging destination register.  Add comment above function.
1519
1520 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
1521
1522         * Makefile.in: Exterminate all references to assert.h.
1523         * cross-make: Likewise.
1524         * assert.h: Delete.
1525         * configure.in: Correct commentary.
1526         * configure: Regenerate.
1527
1528         * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
1529         Remove __eprintf.
1530
1531         * config/t-freebsd, config/t-linux, config/t-linux-aout,
1532         config/t-netbsd, config/t-rtems, config/x-linux,
1533         config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
1534         No need to override INSTALL_ASSERT_H.
1535
1536         * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
1537         fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
1538         fixinc/fixincl.sh: Don't install assert.h into objdir/include.
1539
1540 2001-05-11  Graham Stott  <grahams@redhat.com>
1541
1542         * combine.c (simplify_comparison): Fix typo.
1543
1544 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
1545
1546         * loop.h (struct movables): Remove `num'.
1547         * loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
1548         Adjust call to strength_reduce.
1549         (num_unmoved_movables): New function.
1550         (move_movables): Don't set movables->num.
1551         (strength_reduce): Compute the number of instructions in the loop
1552         here, rather than in the caller.
1553         (check_dbra_loop): Always clear reversible_mem_store if there
1554         are any memory sets.
1555         (loop_regs_scan): Don't count instructions here.
1556         (count_insn_in_loop): New function.
1557
1558 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
1559
1560         * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
1561
1562 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1563
1564         * c-common.c (finish_label_expr): New function, lifted from
1565         from cp/semantics.c.
1566         * c-common.h (finish_label_expr, lookup_label): New prototypes.
1567         * c-parse.in: Move 3 blocks of parser code into new functions.
1568         * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
1569         * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
1570         (lookup_label): Remove.
1571
1572 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
1573
1574         * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
1575         FLOAT_BIT_ORDER_MISMATCH.
1576
1577 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
1578
1579         * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
1580         bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
1581
1582 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
1583
1584         * expr.c (emit_group_load): extract_bit_field requires a REG or
1585         MEM as an argument.
1586
1587 Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
1588
1589         * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
1590         a computed jump into an unconditional jump.
1591         In second hunk of code for collapsing computed and conditional jumps
1592         into unconditional jumps, reemit the jump in additional cases.
1593
1594         * jump.c (jump_optimize_1): Do not wrap the new jump target
1595         inside a LABEL_REF; gen_jump will do that automatically.
1596
1597 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
1598
1599         * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
1600         contents for a SYMBOL_REF in case of floating point constants.
1601
1602 2001-05-10  DJ Delorie  <dj@redhat.com>
1603
1604         * c-common.c (combine_strings): Widen strings in a
1605         host-endian-independent way.
1606
1607 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1608
1609         * c-parse.in: Remove many shift/reduce conflicts.  Update
1610         %expect values.
1611         (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
1612         declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
1613         declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
1614         declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
1615         declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
1616         declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
1617         declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
1618         declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
1619         declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
1620         declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
1621         maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
1622         typespec_reserved_nonattr, typespec_reserved_attr,
1623         typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
1624         structsp_nonattr, components_notype, component_notype_declarator,
1625         absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
1626         firstparm, setspecs_fp): New
1627         (typed_declspecs, reserved_declspecs, typed_typespecs,
1628         reserved_typespecquals, declmods, typespec, typespecqual_reserved,
1629         typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
1630         declmods_no_prefix_attr, nonempty_type_quals, structsp,
1631         type_quals): Remove.  Users updated.
1632         (initdecls, notype_initdecls, after_type_declarator,
1633         parm_declarator, notype_declarator, absdcl1, components, ivars):
1634         Don't allow attributes at the start of a declarator; include them
1635         in the production containing the declarator instead.  Always
1636         require type specifiers before trying to redeclare a typedef name.
1637         (typename): Allow for attributes but warn that they are ignored.
1638         (parmlist, firstparm, setspecs_fp): Include attributes in
1639         parmlist; suck them off the parser stack in firstparm using
1640         setspecs_fp.
1641
1642 Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
1643
1644         * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
1645         to determine if a block has an unconditional jump at its end.
1646
1647         * jump.c (jump_optimize_1): When converting a conditional jump
1648         to an unconditional jump, build the jump using gen_jump instead
1649         of just modify operands in-place.
1650
1651 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
1652
1653         * cppinit.c (cpp_post_options): Shut off macro expansion if
1654         -fpreprocessed.
1655         * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
1656         IN_I directives only if the # is in column 1 and the directive
1657         name begins in column 2.
1658         * cppmain.c (scan_buffer): Insert a space between # and an
1659         identifier, when that identifier is a directive name.
1660
1661         * tradcpp.c (struct file_buf): Add a pointer to the next entry
1662         in the header search path.
1663         (enum node_type): Add T_INCLUDE_NEXT.
1664         (directive_table): Add entry for include_next.
1665         (do_include_next): New function.
1666         (process_include): New routine, broken out of do_include.
1667         (finclude): Insert 'nhd' argument, to be copied into
1668         next_header_dir of the new buffer.
1669         (main): Adjust to match.
1670         * gsyslimits.h, limity.h: Un-indent #include_next.
1671
1672 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1673
1674         * objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
1675         inclusion as a chapter of the GCC manual.
1676         * gcc.texi: Include objc.texi.
1677         * fdl.texi: Use @unnumberedsec for the addendum.
1678         * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
1679
1680 Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
1681
1682         * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
1683
1684 Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
1685
1686         * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
1687         handling of two-address insns.
1688
1689 Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
1690
1691         * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
1692         ../binutils/nm-new instead of ../binutils/nm.
1693
1694 Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
1695
1696         * i386.md (movdi splitter): Fix the splitting condition
1697         (float_extenddftf splitter): Fix mode.
1698
1699 Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1700
1701         * genrecog.c (write_switch): Avoid outputting of switch for
1702         types wider than int.
1703
1704 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
1705
1706         * reload1.c (copy_eh_notes): New function.
1707         (emit_input_reload_insns): Call it.
1708         (emit_output_reload_insns): Call it.
1709
1710 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
1711
1712         * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
1713         Delete stanzas.
1714         * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
1715         config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
1716
1717         * optabs.c: Delete #ifdef BROKEN_LDEXP block.
1718
1719 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1720
1721         * pa.md (interspace_jump): Revise comment.
1722         (builtin_longjmp): Block initial setup insns from delay slot of
1723         interspace branch.
1724         (builtin_setjmp_receiver): New expander to save and restore PIC
1725         register.
1726
1727         * som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
1728
1729 Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
1730
1731         * toplev.c (compile_file): Set up the output file before we call
1732         the various initializers for the compiler.
1733
1734         * except.c (sjlj_mark_call_sites): Do not search for assignments to
1735         non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1736
1737         * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
1738         * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
1739
1740 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
1741
1742         * Makefile.in (tradcpp0): Correct typo in dependency list.
1743
1744 2001-05-06  Geoff Keating  <geoffk@redhat.com>
1745
1746         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
1747         the link register if we're not going to use it.
1748
1749         * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
1750         (output_function_profiler): Likewise.
1751
1752 2001-05-07  Alan Modra  <amodra@one.net.au>
1753
1754         * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
1755
1756 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
1757
1758         * unroll.c (loop_iterations): Don't sign-extend abs_diff;
1759         zero-extend it.  Make abs_inc unsigned.
1760
1761         * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
1762         widest mode in narrowing and widening operations.
1763
1764         * config/mips/mips.md: Sign extend CONST_INTs.
1765
1766 2001-05-06  Andreas Jaeger  <aj@suse.de>
1767
1768         * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
1769         (i386 Options): Document -momit-leaf-frame-pointer.
1770
1771 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
1772
1773         * c-typeck.c (internal_build_compound_expr): Check for
1774         array to pointer conversion just once.
1775
1776 2001-05-05  Richard Henderson  <rth@redhat.com>
1777
1778         * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
1779
1780 2001-05-05  Richard Henderson  <rth@redhat.com>
1781
1782         * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
1783         to the parent of the fixup region.
1784
1785 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
1786
1787         * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
1788         "inline" keyword.
1789         * cpp.texi (__NO_INLINE): Document it.
1790
1791 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1792
1793         * cppfiles.c (struct include_file): New member err_no.
1794         (find_or_create_entry): Set it.
1795         (open_file): Don't set fds to -2.  Instead, use err_no to
1796         remember previous errors, if any.
1797
1798 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1799
1800         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
1801         between X and Y by using sequences of xgdx and xgdy.
1802
1803 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1804
1805         * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
1806         of '!' for the 'D' alternative ('!' is too strong).
1807         ("*logicalsi3_silshl16"): Likewise.
1808         ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
1809         ("movstrictsi"): Remove spurious '+'.
1810         ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
1811         ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
1812         ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
1813         a reload to them.
1814
1815 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
1816
1817         * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
1818
1819 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
1820
1821         * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
1822         into -a.
1823
1824 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1825
1826         * config/rs6000/rs6000.md (ashldi3 splits): Guard with
1827         TARGET_POWERPC64.
1828
1829 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1830
1831         * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
1832         soft register, use ror instead of rol.
1833
1834 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1835
1836         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
1837         into account pre/post increment decrement for 68HC12.
1838         Fix other problems in replacement and fix call to reg_mentioned_p.
1839
1840 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1841
1842         * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
1843         Put the soft registers in bss for 68HC12.
1844         (L_regs_d3_4): New for _.d3 and _.d4.
1845         (L_regs_d5_6): Likewise.
1846         (L_regs_d1_2): Likewise.
1847         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
1848
1849 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1850
1851         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
1852         to the pre-processor when -fshort-double is specified.
1853         * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
1854
1855 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1856
1857         * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
1858         (__mulsi3): Rewrite for 68HC12.
1859         * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
1860         Mark 'x' constraint with earlyclobber to prevent a
1861         RELOAD_FOR_OTHER_ADDRESS to go in it.
1862         (mulhi3_m68hc12): New pattern.
1863         (mulhi3_m68hc11): Rename of mulhi3.
1864         (mulhi3): New expand for 68HC12 optimisation.
1865         (umulhisi3, mulhisi3): New patterns for 68HC12.
1866
1867 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1868
1869         * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
1870         (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
1871         (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
1872
1873 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1874
1875         * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
1876         constants cheap after reload.
1877         * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
1878         are cheap.
1879         (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
1880         so that gcc prefers a shift by 16.
1881         (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
1882
1883 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
1884
1885         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
1886
1887 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1888
1889         * alpha.h: NULL_PTR -> NULL.
1890         * arm.c: Likewise.
1891         * arm.h: Likewise.
1892         * avr.h: Likewise.
1893         * c4x.c: Likewise.
1894         * c4x.h: Likewise.
1895         * i386.c: Likewise.
1896         * i386.md: Likewise.
1897         * i860.c: Likewise.
1898         * ia64.c: Likewise.
1899         * m68hc11.h: Likewise.
1900         * rs6000.h: Likewise.
1901         * sh.c: Likewise.
1902         * sh.h: Likewise.
1903         * sparc.h: Likewise.
1904         * v850.c: Likewise.
1905
1906         * expr.c: Likewise.
1907         * final.c: Likewise.
1908         * gcc.c: Likewise.
1909         * recog.c: Likewise.
1910
1911 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1912
1913         * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
1914         `bool' parameter to `int'.
1915
1916         * hash.c (hash_lookup): Likewise.
1917
1918         * hash.h (hash_lookup): Likewise.
1919
1920         * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
1921
1922 Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
1923
1924         * i386.c (x86_initialize_trampoline): Fix mode of constant.
1925
1926 2001-05-03  Geoff Keating  <geoffk@redhat.com>
1927
1928         * invoke.texi (i386 Options): Delete references to -malign-jumps,
1929         -malign-loops, -malign-functions.
1930         * i386.c (ix86_align_funcs): Delete.
1931         (ix86_align_loops): Delete.
1932         (ix86_align_jumps): Delete.
1933         (override_options): Mark -malign-* as obsolete.  Emulate their
1934         behaviour with the -falign-* options.  Default -falign-* from
1935         the processor table.
1936         * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
1937         patch of Wed May 2 13:09:36 2001.
1938         (LOOP_ALIGN): Delete.
1939         (LOOP_ALIGN_MAX_SKIP): Delete.
1940         (LABEL_ALIGN_AFTER_BARRIER): Delete.
1941         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
1942
1943 2001-05-04  Andreas Jaeger  <aj@suse.de>
1944
1945         * except.h: Add prototype declaration for
1946         expand_builtin_init_dwarf_reg_sizes.
1947
1948 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
1949
1950         * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
1951
1952 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1953
1954         * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
1955         instruction.
1956         ("bitcmpqi2"): New pattern for bit-extract and test.
1957         ("bitcmphi"): New pattern for bitb/bita instructions.
1958
1959 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1960
1961         * gccbug.in: Use a temporary directory when the mktemp command is
1962         not available.
1963
1964 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1965
1966         * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
1967         instead of _.d1.
1968         (INITIALIZE_TRAMPOLINE): Call it.
1969         (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
1970         (TRAMPOLINE_TEMPLATE): Remove.
1971         * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
1972         * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1973         Declare.
1974
1975 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
1976
1977         * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
1978         and crtendS.o with PIC.
1979
1980 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1981
1982         * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
1983         negative numbers.
1984         (___subdi3, ___adddi3): Use x instead of y as index register.
1985         (__init_bss_section, __map_data_section): Optimize for 68HC12.
1986         (__memset, __memcpy): Likewise.
1987         (regs): Put the soft registers in bss for 68HC12.
1988         (abort): Use trap to abort for 68hc12.
1989         (__mulhi3, __mulhi32): Use emul for 68hc12.
1990         (__mulsi3): Avoid to use the tmp soft register for 68hc12.
1991
1992 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
1993
1994         * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
1995         * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
1996         * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
1997         (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
1998         Set 68HC12 min offset to -65536.
1999         (print_operand): Put parenthesis arround the operand if it refers
2000         to a symbol having the same name as a register.
2001         (m68hc11_z_replacement): When z register is replaced by its
2002         equivalent soft register, force the insn to be re-recognized.
2003         (m68hc11_check_z_replacement): Fix the test when destination is
2004         the index register and z dies in the insn.
2005         (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
2006
2007 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2008
2009         * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
2010         costs according to processor variant.
2011         (m68hc11_shift_cost): New function to compute shift costs.
2012         (m68hc11_rtx_costs): Define costs according to processor variant.
2013         (m6811_cost): Costs for 68HC11.
2014         (m6812_cost): Costs for 68HC12.
2015         (COSTS_N_INSNS): Remove.
2016
2017         * config/m68hc11/m68hc11.h (RTX_COSTS): New.
2018         (DEFAULT_RTX_COSTS): Remove.
2019         (CONST_COSTS): Define costs according to OUTER_CODE.
2020         (processor_costs): New struct to define costs.
2021         (m68hc11_cost): Pointer to current costs.
2022
2023 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2024
2025         * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
2026         and use m68hc11_notice_keep_cc when using leax/leay.
2027         (addhi3 split): Reject split if the insn is handled by
2028         leax/leay above.
2029         * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
2030         push must be handled in a special way if the source operand uses
2031         sp as index register.
2032         (m68hc11_notice_keep_cc): New function.
2033         (m68hc11_gen_movhi): Use it when an insn changes a register but
2034         not the flags.
2035         (m68hc11_gen_movqi): Fix move for 68HC12.
2036         * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2037
2038 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2039
2040         * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2041         and don't pass operands[0] to emit_library_call_value.
2042
2043 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2044
2045         * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
2046         (zero_extendsi split): Simplify and use (zero_extendhi).
2047         (*addhi3): Remove 'w' constraint since stack pointer is handled
2048         by (addhi3_sp).
2049         (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
2050         (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
2051         (*ashrhi3_const): Fix shift by 7.
2052         (*lshrsi3_const16): Fix template.
2053         (call, call_value): Fix constraint and predicate.
2054
2055 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2056
2057         * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
2058         (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
2059         (CC_REGNUM): Likewise.
2060         (*unnamed splits): Use above constants instead of hard coded numbers.
2061         (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
2062         (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
2063         (*return_16bit, *unnamed peepholes): Likewise.
2064
2065 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
2066
2067         * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
2068         rs6000/rs6000.h twice.
2069
2070 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
2071
2072         * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
2073         (CPP_SPEC): Conditionally define MSDOS and GO32.
2074         (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
2075         (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
2076         ignored.
2077         (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
2078
2079 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
2080
2081         * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
2082
2083 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
2084
2085         * integrate.h (struct inline_remap): Add leaf_reg_map table.
2086         * integrate.c (expand_inline_function): Use xcalloc to allocate
2087         memory.
2088         (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
2089         registers.
2090
2091 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
2092
2093         * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
2094         if it is not set.
2095
2096 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
2097
2098         * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
2099         linker if -mrelax is given.
2100         (TARGET_SWITCHES): Document -mrelax.
2101
2102         Re-installed 2001-01-09's patch:
2103         * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
2104         if it's wider than long and the target's long is wider than the
2105         host's.
2106
2107 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
2108
2109         * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
2110         directly include rs6000/rs6000.h.  Instead do it in tm.h.
2111
2112 2001-05-02  Stan Shebs  <shebs@apple.com>
2113
2114         * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
2115         NSConstantString for NeXT-style runtimes.
2116         (STRING_OBJECT_GLOBAL_NAME): New macro.
2117         (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
2118         OCTI_STRING_CLASS_DECL.
2119         (constant_string_global_id): New macro.
2120         (string_class_decl): Ditto.
2121         (setup_string_decl): New function.
2122         (build_objc_string_object): Use it to build a NeXT runtime
2123         compatible string initializer.
2124
2125 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
2126
2127         * tradcpp.c (do_define): Make sure we don't walk past limit.
2128
2129 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2130
2131         * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
2132         offsets if not REG_OK_STRICT.
2133
2134         * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
2135         (INT_REG_OK_FOR_INDEX_P): Likewise.
2136         (INT_REG_OK_FOR_BASE_P): Likewise.
2137         (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
2138         (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
2139         (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
2140         INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
2141         REG_OK_FOR_BASE_P. Take an additional parameter.
2142         (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
2143         (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
2144         (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
2145         (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
2146         rs6000_legitimate_address() and use it.
2147         * config/rs6000/rs6000.c: Update all callers.
2148         (rs6000_legitimate_address): New function.
2149
2150 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
2151
2152         * config/rs6000/rs6000.c (rs6000_emit_move): Merge
2153         special_constant conditional blocks together.
2154
2155 2001-05-02  Dale Johannesen  <dalej@apple.com>
2156
2157         * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
2158         parameter.
2159         (STRICT_ARGUMENT_NAMING): Define.
2160         * config/rs6000/rs6000.c (function_arg_advance, function_arg,
2161         function_arg_partial_nregs, setup_incoming_varargs): Remove
2162         args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
2163         is defined.
2164
2165 Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2166
2167         * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
2168
2169         * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
2170         for replacement.
2171
2172         * expr.c (store_field): Do nothing except elaborate side-effects if
2173         zero-bit field.
2174
2175 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2176
2177         * c-lex.c: NULL_PTR -> NULL.
2178         * cse.c: Likewise.
2179         * emit-rtl.c: Likewise.
2180         * gcse.c: Likewise.
2181         * genpeep.c: Likewise.
2182         * jump.c: Likewise.
2183         * mips-tdump.c: Likewise.
2184         * reload1.c: Likewise.
2185         * rtlanal.c: Likewise.
2186         * stmt.c: Likewise.
2187         * stor-layout.c: Likewise.
2188         * toplev.c: Likewise.
2189
2190 2001-05-01  Per Bothner  <per@bothner.com>
2191
2192         * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
2193         call do_pending_stack_adjust before emiting label.
2194
2195 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
2196
2197         * extend.texi: Fix typo.
2198
2199 2001-05-01  Stan Shebs  <shebs@apple.com>
2200
2201         * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
2202         of UOBJC_MODULES_decl.
2203         (generate_strings): Clear DECL_CONTEXT of new decl nodes.
2204         (generate_descriptor_table): Ditto.
2205         (generate_protocols): Ditto.
2206         (generate_protocol_list): Ditto.
2207         (generate_classref_translation_entry): Ditto.
2208
2209 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
2210
2211         * invoke.texi (Optimize Options): Add documentation for `--param
2212         max-delay-slot-insn-search' and `--param
2213         max-delay-slot-live-search' and reorder --param section.
2214         * params.def: Modify initial comment.
2215         * params.h (param_info): Add `help' member.
2216         * toplev.c (lang_independent_params): Include `help' description.
2217         (display_help): Print --param parameters.
2218
2219 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
2220
2221         * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2222         Remove references to deleted files.
2223         (*-*-openbsd): No need to override xmake_file.
2224         (*-*-sysv4): Treat like *-*-sysv.
2225
2226         * configure.in: Probe for ldopen in various places, and set up
2227         collect2 to be linked with them if found.
2228         Don't dink with Windows registry stuff unless $host_os is a
2229         Win32 os name.  Check to see if we need -ladvapi32.
2230         * configure: Regenerate.
2231
2232         * Makefile: Get rid of CLIB and HOST_CLIB.
2233         Substitute in COLLECT2_LIBS and link collect2 against its contents.
2234         * build-make: Get rid of HOST_CLIB.
2235
2236         * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
2237         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
2238         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
2239         config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
2240         config/rs6000/x-rs6000: Delete.
2241
2242         * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
2243         Don't set CLIB.
2244
2245         24 x-host fragments remain, 0 x-cpu, 3 top level.
2246
2247 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
2248
2249         * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
2250         * configure: Regenerate.
2251
2252 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
2253
2254         * Makefile.in (install-headers): Remove redundant dependency.
2255
2256 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
2257
2258         * c-tree.texi (USING_STMT): Document.
2259
2260 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2261
2262         * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
2263         * c-common.c: Likewise.
2264         * c-decl.c: Likewise.
2265         * combine.c: Likewise.
2266         * rs6000.c: Likewise.
2267         * except.c: Likewise.
2268         * explow.c: Likewise.
2269         * expr.c: Likewise.
2270         * fold-const.c: Likewise.
2271         * function.c: Likewise.
2272         * gcc.c: Likewise.
2273         * gcse.c: Likewise.
2274         * integrate.c: Likewise.
2275         * loop.c: Likewise.
2276         * objc/objc-act.c: Likewise.
2277         * recog.c: Likewise.
2278         * reg-stack.c: Likewise.
2279         * reload.c: Likewise.
2280         * reload1.c: Likewise.
2281         * simplify-rtx.c: Likewise.
2282         * stmt.c: Likewise.
2283         * varasm.c: Likewise.
2284
2285 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
2286
2287         * diagnostic.def: New file.
2288         * diagnostic.h (diagnostic_t): New enum.
2289         * Makefile.in (diagnostic.o): Depend on diagnostic.def
2290
2291 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
2292
2293         * tsystem.h: Test only POSIX for availability of string.h
2294         and time.h.
2295         * config.gcc (all systems): If USG appeared in xm_defines,
2296         change it to POSIX.  If both USG and POSIX appeared, just
2297         delete USG. Remove unnecessary quotes around xm_defines
2298         settings.
2299         (m68k-crds-unos*): Don't #define unos - tested nowhere.
2300         (m68k-apple-aux*): Don't #define AUX - tested nowhere.
2301         (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
2302         powerpc-*-linux*): No need to set xm_defines - handled by
2303         global settings for *-*-linux*.
2304
2305 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
2306
2307         * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
2308         Always include gstab.h, not system stab.h.  Don't provide
2309         default definitions of N_CATCH or N_OPT.  Always use the
2310         gstab.h variant of STAB_CODE_TYPE.
2311         * final.c: Don't include stab.h/gstab.h at all, or provide
2312         defaults for N_SLINE and N_SOL.
2313
2314         * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
2315         N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
2316         available.
2317         * sdbout.c: Always include gsyms.h instead of system syms.h.
2318
2319         * configure.in: No need to check for stab.h.
2320         * configure, config.in: Regenerate.
2321         * Makefile.in (final.o): Don't depend on gstab.h.
2322
2323 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2324             Richard Henderson  <rth@redhat.com>
2325
2326         * extend.texi: Improve documentation of volatile asms.
2327
2328 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2329
2330         * c-tree.texi: Fix thinko.
2331         * gcc.texi: Likewise.
2332
2333 2001-04-30  Richard Henderson  <rth@redhat.com>
2334
2335         * c-common.c (c_promoting_integer_type_p): New function, from the
2336         corpse of old macro.  Properly promote too-small enumerations and
2337         booleans.  Adjust all callers.
2338         * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
2339         (c_promoting_integer_type_p): Declare.
2340         * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
2341         * c-typeck.c: Likewise.
2342         (default_conversion): Remove now redundant boolean check.
2343
2344 2001-04-30  Jan Hubicka  <jh@suse.cz>
2345             Richard Henderson  <rth@redhat.com>
2346
2347         * regmove.c (try_apply_stack_adjustment): Remove now redundant
2348         sanity checks.
2349         (combine_stack_adjustments_for_block): Don't combine stack
2350         allocation followed by deallocations.  Handle grow-up stacks.
2351
2352 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2353
2354         * fdl.texi: New file.
2355         * c-tree.texi: Use the GFDL.
2356         * gcc.texi: Likewise.
2357
2358 2001-04-30  Stan Shebs  <shebs@apple.com>
2359
2360         * invoke.texi: Add a section documenting Objective-C options.
2361
2362 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
2363
2364         * emit-rtl.c (try_split):  Copy EH notes to sequence.
2365
2366 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
2367
2368         * regmove.c (record_stack_memrefs): Catch all references to the
2369         stack pointer.
2370
2371 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
2372
2373         * Makefile.in (stmp-fixinc): quote shell assignment values
2374
2375 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2376
2377         * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
2378
2379         * gcc.c: Likewise.
2380
2381         * prefix.c: Likewise.
2382
2383 2001-04-28  Stan Shebs  <shebs@apple.com>
2384
2385         * objc/objc-act.c (handle_class_ref): Rewrite to flush target
2386         specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
2387         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
2388         * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
2389
2390         * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
2391         (NEXT_OBJC_RUNTIME): Define.
2392
2393 Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
2394
2395         * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
2396         * simplify-rtx.c (simplify_gen_relational): Likewise.
2397
2398         * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
2399
2400         * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
2401         * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
2402
2403         * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
2404         registers in SSE case; fix handling of the immediates.
2405         (negsf2_ifs, abssf2_ifs): Tweak constraints; require
2406         operands to be in regsiters before reload.
2407         (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
2408         (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
2409         (abstf,absxf,negtf,negxf splitters): Compute
2410         properly the regnum for x86_64.
2411         (avsdf2_if_rex64): New.
2412
2413 Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
2414
2415         * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
2416         and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
2417         into the constant pool.
2418         * jump.c (jump_optimize_1): Remove barrier successors after all
2419         the LABEL_NUSES counds have been computed.
2420         (delete_barrier_successors): When deleting a tablejump insn, also
2421         delete the jump table it uses.
2422         * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
2423         label into memory.
2424
2425 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
2426
2427         * pa.c (FRP): Remove erroneous white space in macro definition.
2428
2429 2001-04-28  Andreas Jaeger  <aj@suse.de>
2430
2431         * invoke.texi: Use XX-bit instead of XXbit or XX bit where
2432         appropriate.
2433         * extend.texi: Likewise.
2434         * tm.texi: Likewise.
2435
2436 2001-04-28  Andreas Jaeger  <aj@suse.de>
2437
2438         * md.texi: Use XX-bit instead of XXbit or XX bit where
2439         appropriate.
2440
2441 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
2442
2443         * gcc.c (process_command): Allow -l lib in addition to -llib
2444         for POSIX compliance. This fixes PR c/2347.
2445
2446         * invoke.texi: Update section on Link Options accordingly.
2447
2448 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
2449
2450         * function.c (purge_addressof_1): Remove the duplicate
2451         if (code == SET) block.  Fold the two if (code == ADDRESSOF)
2452         blocks together.
2453
2454 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
2455
2456         * except.c (expand_eh_region_start): Don't start a new block.
2457         (expand_eh_region_end): Don't end a block.
2458         * stmt.c (expand_end_bindings): Don't end EH blocks.
2459         (expand_decl_cleanup): Starting an EH region won't change the block.
2460         (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
2461         (is_eh_region): Lose.
2462         * tree.h: Adjust.
2463
2464 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
2465
2466         * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
2467
2468         * collect2.c (main): Add `-L' case to remove duplicate entries.
2469         (is_in_args): New function to check for a duplicate argument.
2470         * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
2471         * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
2472         * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
2473         Define to be nonzero.
2474
2475 2001-04-27  Andreas Jaeger  <aj@suse.de>
2476             Richard Henderson  <rth@redhat.com>
2477
2478         * md.texi (Machine Constraints): Document additional i386
2479         constraints and fix description of "A".
2480
2481 Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
2482
2483         * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
2484
2485 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
2486
2487         * except.c (get_exception_filter): word_mode, not Pmode.
2488
2489 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
2490
2491         * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
2492         common to other movsf patterns.  Move up so that in future
2493         people who change the other patterns will change it too.
2494         (movsf_lo_sum): Allow even for soft-float; add appropriate
2495         constraints.
2496         (movsf_high): Likewise.
2497         (movsf_high+1): Allow even for soft-float.
2498
2499         * function.c (expand_function_end): Always clobber the
2500         return registers, even if there is no return label.
2501
2502 Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
2503
2504         * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
2505
2506 Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
2507
2508         * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
2509         (pushqi2_rex64, pushhi2_rex64): Add.
2510
2511 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
2512
2513         * except.c (expand_eh_region_end_cleanup): Force pending stack
2514         adjust before emitting label that branches around cleanup code.
2515
2516 2001-04-26  H.J. Lu  (hjl@gnu.org)
2517
2518         * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
2519
2520         * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
2521         define.
2522         * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
2523         (ASM_OUTPUT_SECTION_NAME): Likewise.
2524         (ASM_WEAKEN_LABEL): Likewise.
2525         (UNIQUE_SECTION): Likewise.
2526         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2527         (ASM_OUTPUT_DESTRUCTOR): Likewise.
2528         * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
2529         (ASM_OUTPUT_SECTION_NAME): Likewise.
2530         (ASM_WEAKEN_LABEL): Likewise.
2531         (UNIQUE_SECTION): Likewise.
2532         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2533         (ASM_OUTPUT_DESTRUCTOR): Likewise.
2534         * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
2535         * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
2536         (ASM_FILE_START): Likewise.
2537         (ASM_OUTPUT_SOURCE_LINE): Likewise.
2538         (ASM_DECLARE_OBJECT_NAME): Likewise.
2539         (ASM_FILE_END): Likewise.
2540         (ASM_DECLARE_FUNCTION_NAME): Likewise.
2541         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
2542         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2543         (ASM_OUTPUT_CASE_LABEL): Likewise.
2544         (ASM_OUTPUT_SKIP): Likewise.
2545         (ASM_OUTPUT_ASCII): Likewise.
2546         (ASM_OUTPUT_IDENT): Likewise.
2547         (READONLY_DATA_SECTION): Likewise.
2548         (EXTRA_SECTIONS): Likewise.
2549         (EXTRA_SECTION_FUNCTIONS): Likewise.
2550         (SELECT_RTX_SECTION): Likewise.
2551         (SELECT_SECTION): Likewise.
2552
2553         * config/mips/linux.h (INVOKE__main): Undefine.
2554         (CTOR_LIST_BEGIN): Likewise.
2555         (CTOR_LIST_END): Likewise.
2556         (DTOR_LIST_BEGIN): Likewise.
2557         (DTOR_LIST_END): Likewise.
2558         (SET_ASM_OP): Defined it to ".dummy".
2559         (ASM_OUTPUT_DEF): Defined.
2560         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
2561
2562 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
2563
2564         * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
2565         assembler supports .p2align.
2566
2567 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
2568
2569         * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
2570
2571 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
2572
2573         * integrate.c (expand_inline_function): Check for error_mark_node
2574         in actual argument.
2575
2576 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
2577
2578         * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
2579         -m386 and -m486.
2580
2581 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
2582
2583         * configure.in (configargs.h): Define thread_model.
2584         * configure: Rebuilt.
2585         * gcc.c (main): Print it with -v.
2586
2587 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2588
2589         * invoke.texi: Document -Wmissing-braces, -dumpspecs,
2590         -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
2591         * gcc.1: Regenerate.
2592
2593 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2594
2595         * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
2596         is_redundant_typedef): Use static inline instead of inline static.
2597
2598 Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
2599
2600         * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
2601         this directory is always searched.
2602
2603 2001-04-25  Richard Henderson  <rth@redhat.com>
2604
2605         * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
2606         of registers to restore along non eh_return path.
2607
2608 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2609
2610         * c-format.c (check_format_info_recurse): Handle
2611         PLUS_EXPR for format string.
2612
2613 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2614
2615         * config/ia64/ia64.h (CC1_SPEC): Define.
2616         * config/ia64/linux.h (CC1_SPEC): Define.
2617
2618 Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
2619
2620         * emit-rtl.c (constant_subword): Also do sign extension in
2621         BITS_PER_WORD == 16 case.
2622
2623 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
2624
2625         * loop.c (try_swap_copy_prop): Go back to checking insn.
2626
2627 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2628
2629         * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
2630         if check_mode is non-zero.
2631
2632 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
2633
2634         * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
2635         out and comparison sequence has been detected, put result into
2636         proper temporary pseudo.
2637
2638 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
2639
2640         * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
2641         * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
2642         * libgcc2.c: Remove __dummy and __builtin_saveregs.
2643         * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
2644         * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
2645         for future reference.
2646
2647 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
2648
2649         * except.c (reachable_handlers): Step out one level from a RESX.
2650
2651         * except.c (struct eh_region): Rename 'last' to 'resume'.
2652         (mark_eh_region, duplicate_eh_region_1): Adjust.
2653         (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
2654         (build_post_landing_pads): Likewise.
2655         (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
2656         (expand_eh_region_end_must_not_throw): Likewise.
2657         (connect_post_landing_pads): Thread (only) regions with non-deleted
2658         resume insns.
2659
2660         * except.c (expand_eh_region_end_cleanup): Save the EH return data
2661         registers around the cleanup.
2662         (get_exception_filter): New fn.
2663         (finish_eh_generation): Use it.
2664
2665 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
2666
2667         * c-semantics.c (add_scope_stmt): Don't call
2668         current_scope_stmt_stack multiple times.
2669
2670 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
2671             Nathan Sidwell <nathan@codesourcery.com>
2672
2673         Lazy __FUNCTION__ generation.
2674         * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
2675         RID_C99_FUNCTION_NAME): New _RIDs.
2676         (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
2677         (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
2678         CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
2679         global tree slots.
2680         (function_id_node, pretty_function_id_node, func_id_node): Remove.
2681         (c99_function_name_decl_node, function_name_decl_node,
2682         pretty_function_name_decl_node, saved_function_name_decls):
2683         Declare.
2684         (struct language_function): Remove x_function_name_declared_p.
2685         (make_fname_decl): Remove a parameter.
2686         (declare_function_names): Remove prototype.
2687         (start_fname_decls, finish_fname_decls): Prototype.
2688         (fname_as_string): Likewise.
2689         (fname_string, fname_decl): Likewise.
2690         * c-common.c (make_fname_decl): Adjust.
2691         (struct fname_var_t): New struct.
2692         (fname_vars): New static array.
2693         (declare_function_name): Remove.
2694         (start_fname_decls, finish_fname_decls): New functions.
2695         (fname_as_string): New function from remnants of
2696         declare_function_name.
2697         (fname_string, fname_decl): New functions.
2698
2699         * c-decl.c (c_function_name_declared_p): Remove.
2700         (init_decl_processing): Don't generate __FUNCTION__ et al ids,
2701         don't call declare_function_name. Call start_fname_decls.
2702         (c_make_fname_decl): Adjust parameters. Generate the name. Don't
2703         clobber the line number. Call finish_decl.
2704         (start_function): Call start_fname_decls.
2705         (finish_function): Call finish_fname_decls.
2706         Remove c_function_name_declared_p.
2707         (push_c_function_context): Don't push c_function_name_declared_p.
2708         (pop_c_function_context): Don't pop c_function_name_declared_p.
2709         (c_begin_compound_stmt): Don't check c_function_name_declared_p.
2710         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
2711         (program): Call finish_fname_decls for C.
2712         (primary): Add VAR_FUNC_NAME.
2713         (reswords): Add slots for __FUNCTION__ et al.
2714         (rid_to_yy): Add mappings for __FUNCTION__ et al.
2715         (yylexname): If it's a STRING_FUNC_NAME generate the function name
2716         now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
2717         * c-semantics.c (prune_unused_decls): Remove.
2718         (finish_stmt_tree): Don't call prune_unused_decls.
2719         (genrtl_decl_stmt): Don't prune unused decls here.
2720
2721 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
2722
2723         * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
2724         constant pool, use the pool's SYMBOL_REF instead.
2725
2726         * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
2727         v850e.
2728
2729 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2730
2731         * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
2732         passing nested NOP_EXPRs to fold.
2733
2734 Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
2735
2736         * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
2737
2738 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
2739
2740         * loop.c (loop_delete_insns): Add prototype.
2741
2742 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
2743
2744         * configure.in:  Remove ENABLE_STD_NAMESPACE.
2745         * config.in:  Regenerated.
2746         * configure:  Regenerated.
2747
2748 2001-04-22  Stan Shebs  <shebs@apple.com>
2749
2750         * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
2751         into xm_defines.
2752         * config/rs6000/xm-darwin.h: Remove file.
2753
2754 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2755
2756         * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
2757         (write_c_file_stat): Likewise.
2758
2759         * dbxout.c (dbxout_init): Likewise.
2760
2761         * profile.c (output_func_start_profiler): Likewise.
2762
2763 2001-04-22  Philipp Thomas  <pthomas@suse.de>
2764
2765         * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
2766         require it instead of the CVS version.
2767         * cpperror.c (v_message): Put a blank before the macro
2768         body to not confuse exgettext.
2769
2770 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
2771
2772         * flow.c (proagate_one_insn): Remove useless assignment.
2773         * jump.c (delete_insn): Tidy.
2774         * loop.c (try_copy_prop): When deleting an instruction with a
2775         REG_RETVAL note, delete the entire libcall sequence.
2776         (loop_delete_insns): New function.
2777         * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
2778         we're not substituting into them yet.
2779
2780 2001-04-21  Kazu Hirata  <kazu@hxi.com>
2781
2782         * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
2783
2784         * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
2785         Fix a comment typo.
2786         * config/i960/i960.c (signed_arith_operand): Likewise.
2787
2788         * calls.c (expand_call): Fix a comment typo.
2789
2790 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
2791
2792         * configure.in: Probe for times, clock, struct tms, and clock_t.
2793         * configure, config.in: Regenerate.
2794         * timevar.c: Replace ifdef forest in get_time with (relatively)
2795         straightforward series of checks based on autoconf's probes.
2796
2797 Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
2798
2799         * config/pa/som.h (NM_FLAGS): Define.
2800
2801 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
2802
2803         * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
2804         function.
2805         * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
2806         * ia64.c (nop_cycles_until): New function.
2807         (prev_cycle, prev_first, last_issued): New static variables.
2808         (ia64_sched_reorder): Additional arg for clock.
2809         On final scheduling pass, emit extra NOPs as needed.
2810         Set prev_first and prev_cycle.
2811         (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
2812         (ia64_variable_issue): Set last_issued.
2813
2814 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
2815
2816         * config/i386/i386.c (ix86_expand_int_movcc,
2817         ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
2818
2819 2001-04-20  Geoff Keating  <geoffk@redhat.com>
2820
2821         * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
2822         ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
2823         ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
2824         ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
2825         ctrdi_internal6): In the short-branch case, this insn is only 4
2826         bytes long.  Reported by Reza Yazdani <reza@apple.com>.
2827
2828 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
2829
2830         * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
2831         "=u" is used together with "st" resp. "st(1)" clobber.
2832
2833 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
2834
2835         * gcse.c (gcse_main): Fix comment typo.
2836         (delete_null_pointer_check): Likewise.
2837         (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
2838         * cse.c (cse_insn): Likewise.
2839         * function.c (fixup_var_refs_insns_with_hash): The sequence is
2840         toplevel.
2841
2842 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
2843
2844         * toplev.c: Excise all code for the undocumented -dm option.
2845         (float_signal): Call signal just once, unconditionally.
2846
2847 2001-04-19  Geoff Keating  <geoffk@redhat.com>
2848
2849         * fold-const.c (fold): Use first_rtl_op rather than
2850         TREE_CODE_LENGTH when looping over parameters of a tree.
2851         Correct strange grouping in test for evaluated SAVE_EXPR.
2852
2853 Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
2854
2855         * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
2856         * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
2857
2858         * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
2859         name at 32 total characters.
2860         (ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
2861         functions in named sections -- data items can still go into unique
2862         sections, but they have normal names (ie $LIT$ and $DATA$).
2863
2864         * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
2865         INIT_PRIORITY.
2866
2867 2001-04-19 DJ Delorie  <dj@redhat.com>
2868
2869         * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2870         to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
2871         * config/i386/cygwin.h: Likewise.
2872         * config/i386/mingw32.h: Likewise.
2873         * config/vax/vms.h: Likewise.
2874         * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
2875
2876         * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2877         to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
2878         * config/i386/xm-cygwin.h: Likewise.
2879         * config/i386/xm-djgpp.h: Likewise.
2880         * config/i386/xm-mingw32.h: Likewise.
2881         * config/vax/xm-vms.h: Likewise.
2882
2883         * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
2884         instead of OBJECT_SUFFIX.
2885         * collect2.c (find_a_file): Look for files matching the extension
2886         HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
2887         * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
2888         TARGET_EXECUTABLE_SUFFIX.
2889         (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
2890         (make_relative_prefix): Likewise.
2891         (convert_filename): Use TARGET_ suffixes throughout.  Remove
2892         NO_AUTO_EXE_SUFFIX.
2893         (process_command): Likewise.
2894         (do_spec_1): Likewise.
2895         * java/lang.c (init_parse): Likewise.
2896
2897         * gcc.texi : Document four new options matching the pattern
2898         (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
2899         for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
2900         documentation for NO_AUTO_EXE_SUFFIX.
2901
2902 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
2903
2904         * toplev.h (struct lang_hooks): Allow decode_option to indicate
2905         that language-independent processing should not be done.
2906         * toplev.c (main): Adjust accordingly.
2907
2908         * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
2909         * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
2910
2911         * mips.md (reload_outputdi): Require that operand0 be a
2912         general_operand.
2913
2914 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
2915
2916         * invoke.texi (-Wshadow): Clarify.
2917
2918 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
2919
2920         * loop.c (load_mems): Examine all the instructions in the loop
2921         before concluding that all jumps branch to the first instruction
2922         after the loop.
2923
2924 Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
2925
2926         * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
2927
2928 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
2929
2930         * cpp.texi (-Wwhite-space): Remove.
2931         (-Wall): -Wall does not imply -Wwhite-space.
2932
2933 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
2934
2935         * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
2936         use it instead of blindly generating a .stabs.
2937         * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
2938         in the right place.
2939         * xcoffout.c: Don't bother defining default for N_CATCH.
2940         (UNKNOWN_STAB): Use internal_error.
2941         (stab_to_sclass): Remove now-unnecessary aborts.
2942         Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
2943
2944 Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
2945
2946         * jump.c (mark_all_labels): Canonicalize the tail recursion
2947         label attached to CALL_PLACEHOLDER insns.
2948
2949 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2950
2951         * output.h (dump_flow_info, free_basic_block_vars,
2952         which_alternative): Delete redundant prototypes.
2953
2954         * rtl.h (bss_section): Likewise.
2955
2956 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
2957
2958         * dbxout.c (N_OPT): Define if not available from <stab.h>
2959
2960 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2961
2962         * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
2963         libraries and native K&R compilers.
2964
2965 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2966
2967         * c-typeck.c (convert_arguments): Don't check for width changes
2968         with -Wtraditional.
2969
2970         * invoke.texi (-Wtraditional): Update documentation.
2971
2972 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
2973
2974         * toplev.c (output_lang_identify): Delete.
2975         (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
2976         Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
2977         If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
2978         after calling ASM_FILE_END.
2979
2980         * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
2981         Instead, unconditionally emit an N_OPT stab with string equal
2982         to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
2983
2984         * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
2985
2986         * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
2987         config/psos.h, config/ptx4.h, config/1750a/1750a.h,
2988         config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
2989         config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
2990         config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
2991         config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
2992         config/i370/i370.h, config/i386/beos-elf.h,
2993         config/i386/osf1elf.h, config/i386/osfrose.h,
2994         config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
2995         config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
2996         config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
2997         config/m68k/tower-as.h, config/mcore/mcore-elf.h,
2998         config/mips/iris6.h, config/mips/osfrose.h,
2999         config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
3000         config/sparc/sp64-elf.h:
3001         Delete definitions of any or all of: ASM_IDENTIFY_GCC,
3002         ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
3003
3004         * config/elfos.h, config/freebsd.h, config/linux.h,
3005         config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
3006         config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
3007         config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
3008         of ASM_FILE_START which merely emit a .version directive.  Delete
3009         definitions of ASM_FILE_END which merely emit an .ident directive.
3010
3011         * config/avr/avr.h, config/vax/vax.h: Delete definition of
3012         ASM_IDENTIFY_GCC and move part of its logic into
3013         ASM_FILE_START.
3014
3015         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
3016         config/sparc/linux-aout.h: Don't emit .version directive in
3017         ASM_FILE_START.
3018
3019         * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3020         (output_file_start): Correct comment.
3021
3022         * config/i386/osfrose.h: Don't emit trailing .ident directive.
3023         * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3024         to match gdb.
3025         * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3026         * config/rs6000/aix.h: Correct comment.
3027
3028         * config/i386/i386afe.h: Delete.
3029         * config.gcc: Remove references to i386afe.h.
3030
3031         * tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
3032         other macros deleted by this patch were undocumented.
3033
3034 Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
3035
3036         * pa.md (reload_outdi): Operand 0 must be a non hard register.
3037
3038         * pa.c (secondary_reload_class): SAR<->FP copies require a
3039         secondary register.
3040
3041         * install.texi (mips-mips-bsd): Update list of functions
3042         required to include memmove.
3043         * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
3044         used functions to include memmove.
3045
3046 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
3047
3048         * i386.md (sqrtdf2): SFmode should be DFmode.
3049
3050 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
3051
3052         * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
3053         (find_moveable_store): Likewise.
3054
3055 2001-04-15  Jim Wilson  <wilson@redhat.com>
3056
3057         * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
3058
3059 Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
3060
3061         * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
3062         (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
3063
3064 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
3065
3066         * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
3067         first alternative.
3068
3069 2001-04-14  Alan Modra  <amodra@one.net.au>
3070
3071         * pa.c (force_mode): New function.
3072         (emit_move_sequence): Use it instead of generating new rtx_REGs.
3073
3074 2001-04-13  Jim Wilson  <wilson@redhat.com>
3075
3076         * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
3077         (first_instruction): New static variable.
3078         (rtx_needs_barrier): Return 1 for alloc.
3079         (init_insn_group_barriers): Set first_instruction.
3080         (rws_sum): Delete duplicate definition.
3081         (group_barrier_needed_p): Return 0 when first_instruction true.
3082         (safe_group_barrier_needed_p): Save and restore first_instruction
3083         around group_barrier_needed_p call.
3084
3085 Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
3086
3087         * expr.h (enum libfunc_index): Add LTI_memmove.
3088         (memmove_libfunc): Define macro.
3089         * optabs.c (init_optabs): Initialize memmove_libfunc.
3090         * expr.c (expand_assignment): Use memmove_libfunc instead of
3091         memcpy_libfunc.
3092
3093 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
3094
3095         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
3096         fp mode addresses.
3097
3098 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3099
3100         * Makefile.in (reg-stack.o): Depend on reload.h.
3101         (insn-attrtab.o): Depend on flags.h.
3102
3103         * genattrtab (main): Include flags.h in insn-attrtab.c.
3104
3105         * reg-stack.c: Include reload.h.
3106
3107         * sparc.h (flag_pic): Delete redundant declaration.
3108
3109         * output.h (flag_pic): Likewise.
3110
3111         * tree.h (pedantic): Likewise.
3112
3113 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3114
3115         * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
3116
3117         * jump.c, regmove.c, toplev.c: Include reload.h.
3118
3119         * reload.h (reload_cse_regs): Declare.
3120
3121         * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
3122         reload_cse_regs, init_reload, mark_home_live, reload,
3123         init_caller_save): Delete redundant prototypes.
3124
3125 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3126
3127         * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
3128
3129         * regclass.c, ssa.c: Include expr.h.
3130
3131         * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
3132         gen_move_insn): Delete redundant declarations.
3133
3134 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3135
3136         * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
3137         (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
3138         MAKEINFO and MAKEINFOFLAGS too.
3139         (stage4_build): Correctly order -B flags.
3140
3141 2001-04-13  Alan Modra  <amodra@one.net.au>
3142
3143         * pa.c (hppa_init_pic_save): Set rtx_unchanging for
3144         PIC_OFFSET_TABLE_SAVE_RTX.
3145         (zdepi_cint_p): Describe zdepi insn.
3146         Formatting and white space fixes throughout file.
3147
3148         * pa.c (uint32_operand): Don't use long constant >= 2^32.
3149         (emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
3150         about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
3151         (compute_movstrsi_length): Make `align' unsigned to avoid warning.
3152         (output_64bit_and): Use plain `int's for shift counts.
3153         (output_64bit_ior): Likewise.
3154         (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
3155         * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
3156         `N', and simplify.
3157
3158         * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
3159         * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
3160         * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
3161         NEW_HP_ASSEMBLER into one.  Kill warnings.
3162
3163         * pa-gas.h: Delete file.
3164         * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
3165         Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
3166         hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
3167         instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
3168
3169         * config/pa/mill32.S: New file.
3170         * config/pa/mill64.S: New file.
3171         * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
3172         LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
3173         * config/pa/t-linux64: New file.
3174         * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
3175         (LIB1ASMFUNCS, LIB1ASMSRC): Define.
3176         (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
3177
3178         * elfos.h (SELECT_SECTION): Undef before defining.
3179         * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
3180         (LIB_SPEC): Remove -lmilli.
3181         (DBX_REGISTER_NUMBER): Remove.
3182         (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
3183         (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
3184         NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
3185         DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
3186         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
3187         ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
3188         ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
3189         TARGET_GAS): Define.
3190         * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
3191         (function_arg): If TARGET_ELF32, pass fp args in both general and fp
3192         regs if we don't have a prototype.
3193         * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
3194         * pa.h (TARGET_ELF32): Default to 0 if undefined.
3195         (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
3196         EH_RETURN_HANDLER_RTX): Define.
3197         * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
3198         (DWARF_FRAME_REGNUM): Define.
3199         * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
3200         * pa32-linux.h: New file.
3201         * pa64-linux.h: New file.
3202
3203         * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
3204         (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
3205         (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
3206         NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
3207         DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
3208         DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
3209         CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
3210         FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
3211         READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
3212         DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
3213         UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3214         ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
3215         TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
3216         * pa64-hpux.h: New file.
3217         (ASM_FILE_START): Correct typo.
3218         (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
3219         * config.gcc: Modify for above.
3220
3221 Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
3222
3223         * jump.c (jump_optimize_1): Don't delete dead stores here.
3224         * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
3225         prior to running jump optimize before cse2.
3226
3227 2001-04-12  Richard Henderson  <rth@redhat.com>
3228
3229         * Makefile.in (regmove.o): Depend on except.h.
3230         * regmove.c: Include it.
3231
3232 2001-04-12  Stan Shebs  <shebs@apple.com>
3233
3234         * objc/objc-act.c: Remove all code ifdefed with the never-used
3235         macro OBJC_INT_SELECTORS.
3236         * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
3237         * tm.texi: Remove doc for OBJC_INT_SELECTORS.
3238
3239 Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
3240
3241         * config/pa/quadlib.c: Add prototypes.
3242
3243 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3244
3245         * bitmap.h (debug_bitmap): Delete redundant prototype.
3246
3247         * rtl.h (get_frame_size): Likewise.
3248
3249 2001-04-12  Jim Wilson  <wilson@redhat.com>
3250
3251         * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
3252         to just emit an fnorm.
3253
3254 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3255
3256         * c-common.h (truthvalue_conversion, type_for_mode,
3257         type_for_size): Delete redundant declarations.
3258
3259         * c-lex.h (is_class_name): Likewise.
3260
3261         * c-tree.h (pedantic, convert, getdecls, gettags,
3262         global_bindings_p, init_decl_processing, insert_block,
3263         maybe_build_cleanup, poplevel, print_lang_decl,
3264         print_lang_identifier, print_lang_type, pushdecl, pushlevel,
3265         set_block, incomplete_type_error, build_function_call,
3266         lvalue_or_else, mark_addressable): Likewise.
3267
3268         * expr.h (expand_tree_builtin): Likewise.
3269
3270 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
3271
3272         * invoke.texi: Document --param max-gcse-memory.
3273
3274 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3275
3276         * configure.in (errno): Check for declaration.
3277         * configure, config.in: Regenerated.
3278
3279         * system.h (errno): Only declare if not already done.
3280
3281 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
3282
3283         * recog.c (general_operand, immediate_operand,
3284         nonmemory_operand): Require CONST_INTs to be sign-extended
3285         values for their modes.
3286
3287 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
3288
3289         * expmed.c (store_bit_field): Truncate CONST_INTs.
3290         (expand_mult_highpart, expand_divmod): Likewise.
3291         * expr.c (convert_modes, store_field): Likewise.
3292         * integrate.c (expand_inline_function): Use promote_mode() to
3293         determine whether to convert_modes() an argument as signed
3294         or unsigned.
3295         * optabs.c (expand_binop): Get CONST_INT operands
3296         sign-extended for their appropriate modes.
3297         * stmt.c (emit_case_nodes): Convert node values to the
3298         appropriate mode.
3299         (expand_end_case): Convert minval and range to the appropriate
3300         mode.
3301         * unroll.c (loop_iterations): Truncate abs_diff to the mode of
3302         the iteration variable.
3303         * varasm.c (immed_double_const): Don't require words to be
3304         narrower than host wide ints to properly sign-extend
3305         CONST_INTs.
3306
3307 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
3308
3309         * sh.md (builtin_setjmp_receiver): New expander.
3310
3311 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
3312
3313         * config/rs6000/rs6000.c (rs6000_emit_move): Do not
3314         special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
3315         for generating CONST_INT and CONST_DOUBLE.
3316
3317 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
3318
3319         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
3320         already sign-extended.
3321         (rs6000_emit_prologue): Make register iterator signed.
3322         (rs6000_emit_epilogue): Likewise.
3323         * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
3324         and low.
3325         (movsf split, movdf split): Sign-extend CONST_INTs.
3326         (movdi splits): Likewise.
3327
3328 2001-04-12  Kelley Cook <kelley.cook@home.com>
3329
3330         * config-lang.in (lang_dirs): Add in zlib.
3331
3332 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
3333
3334         * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
3335         operands that make it to RTL.
3336
3337 2001-04-11  Stan Shebs  <shebs@apple.com>
3338
3339         Add Darwin (Mac OS X kernel) native support.
3340         * config.gcc (powerpc-*-darwin*): Add native bits.
3341         * config/darwin.c: New file, generic Darwin support functions.
3342         * config/darwin.h: New file, generic Darwin definitions.
3343         * config/darwin-protos.h: New file, generic Darwin prototypes.
3344         * rs6000/darwin.h: New file, Darwin for PowerPC.
3345         * rs6000/t-darwin: New file, Darwin makefile fragment.
3346         * rs6000/rs6000.h (OBJECT_MACHO): New macro.
3347         (TARGET_MACHO): Ditto.
3348         (rs6000_abi): Add ABI_DARWIN.
3349         (RS6000_REG_SAVE): Add ABI_DARWIN case.
3350         (RS6000_SAVE_AREA): Ditto.
3351         (FP_ARG_MAX_REG): Ditto.
3352         (RETURN_ADDRESS_OFFSET): Ditto.
3353         * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
3354         cases.
3355         (rs6000_emit_move): Add ABI_DARWIN cases.
3356         (print_operand): Ditto.
3357         (first_reg_to_save): Ditto.
3358         (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
3359         (debug_stack_info): Ditto.
3360         (rs6000_emit_prologue): Ditto.
3361         (rs6000_emit_epilogue): Ditto.
3362         (output_profiler_hook): Ditto.
3363         (output_function_profiler): Ditto.
3364         (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
3365         (output_mi_thunk): Add TARGET_MACHO case.
3366         (add_compiler_stub): Ditto.
3367         (output_compiler_stub): Ditto.
3368         (no_previous_def): Ditto.
3369         (output_call): Ditto.
3370         (machopic_output_stub): Ditto.
3371         (rs6000_machopic_legitimize_pic_address): Ditto.
3372         (toc_section): Ditto.
3373         * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
3374         (macho_high): Ditto.
3375         (macho_low): Ditto.
3376         (movsi_low): Ditto.
3377         (load_macho_picbase): Ditto.
3378         (call): Add TARGET_MACHO case to modify function.
3379         (call_value): Ditto.
3380         (call_nonlocal_sysv): Add ABI_DARWIN case.
3381         (call_value_nonlocal_sysv): Ditto.
3382         * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
3383         Add prototype.
3384         (machopic_output_stub): Ditto.
3385         * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
3386
3387 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
3388
3389         * dwarf2out.c (modified_type_die): Don't create new types here.
3390         * tree.h (get_qualified_type): New function.
3391         (build_qualified_type): Adjust comment.
3392         * tree.c (get_qualified_type): New function.
3393         (build_qualified_type): Use it.
3394
3395 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3396
3397         * cpp.texi (-Wtraditional): Update description.
3398
3399         * invoke.texi (-Wtraditional): Likewise.
3400
3401 2001-04-11  Jim Wilson  <wilson@redhat.com>
3402
3403         * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
3404         requires more than 64 bits of alignment.
3405
3406 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3407
3408         * cpplib.c (do_line): Sanity check iff enable checking.
3409
3410 2001-04-11  Richard Henderson  <rth@redhat.com>
3411
3412         * Makefile.in (insn-recog.o): Depend on toplev.h.
3413         (insn-emit.o, doloop.o): Likewise.
3414         * genrecog.c, genemit.c: Include toplev.h in generated file.
3415         * doloop.c: Include toplev.h.
3416
3417 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
3418
3419         * Makefile.in (gcse.o): Depend on params.h.
3420         * gcse.c: Include params.h.
3421         (gcse_main): Don't do GCSE if doing so will take inordinate
3422         amounts of memory.
3423         * params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
3424         * params.h (MAX_GCSE_MEMORY): New macro.
3425
3426 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3427
3428         * Makefile.in (insn-output.o): Depend on $(EXPR_H).
3429
3430         * genoutput.c (output_prologue): Include expr.h in insn-output.c.
3431
3432 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3433
3434         * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
3435
3436         * real.h (ereal_atof, real_value_truncate, target_isnan,
3437         target_isinf, target_negative, assemble_real, debug_real): Delete
3438         redundant prototypes.
3439
3440         * Makefile.in (ifcvt.o): Depend on toplev.h.
3441
3442         * c-semantics.c: Include expr.h.
3443
3444         * ifcvt.c: Include toplev.h.
3445
3446         * expr.h (rtx_equal_p): Delete prototype.
3447
3448         * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
3449         protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
3450         eliminate_constant_term, expand_complex_abs, find_single_use,
3451         make_tree, init_expr_once, init_optabs, supports_one_only):
3452         Likewise.
3453
3454         * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
3455         rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
3456         expand_assignment, store_expr, emit_line_note_after,
3457         emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
3458
3459         * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
3460
3461         * sparc-protos.h: Delete redundant prototypes.
3462
3463 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
3464
3465         * reload.c (push_reload): Add condition missed in SUBREG byte
3466         offset patch.
3467
3468 Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3469
3470         * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
3471
3472 Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
3473
3474         * i386.md (floatsisf_sse): Fix output template
3475         * i386.c (ix86_expand_fp_movcc)
3476
3477         * reg-stack.c (emit_pop_insn): Handle complex modes.
3478         (move_for_stack_reg): Emit proper move mode.
3479         (subst_stack_regs_pat): Handle complex modes.
3480
3481 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
3482
3483         * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
3484
3485 2001-04-10  Richard Henderson  <rth@redhat.com>
3486
3487         * libgcc2.h (__terminate_func_ptr): Remove typedef.
3488         (__pure_virtual, __terminate, __terminate_set_func,
3489         __default_terminate, __throw_type_match, __empty,
3490         __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
3491         __eh_rtime_match, __unwinding_cleanup, __rethrow,
3492         __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
3493         Remove prototypes of deleted functions.
3494
3495 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3496
3497         * c-typeck.c (convert_arguments): -Wtraditional now activates
3498         -Wconversion warnings, except for changes in signed-ness.
3499         Detect complex<->int & int<->complex conversions as well.
3500
3501         * invoke.texi (-Wtraditional): Document it.
3502
3503 Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3504
3505         * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
3506         * flow.c (set_block_for_new_insns): Remove needless cast and
3507         properly check for unset block number.
3508
3509 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
3510
3511         * function.c (purge_single_hard_subreg_set): Only check REGNO if
3512         the subreg was a hard register. Pseudos are left as subregs.
3513
3514 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3515
3516         * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
3517         (LIB2ADD_ST): New macro, pass it to mklibgcc.
3518         * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
3519         (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
3520         * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
3521
3522 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
3523
3524         * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
3525
3526 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3527
3528         * output.h (set_block_num): Missed it earlier, remove deprecated
3529         prototype.
3530
3531 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3532
3533         * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
3534         (load_killed_in_block_p): Change bb parameter from int to basic_block.
3535         (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
3536         (handle_rd_kill_set): Change bb parameter from int to basic_block.
3537         (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
3538         (expr_killed_p): Change bb parameter from int to basic_block, pass
3539         basic_blocks instead of ints as parameters.
3540         (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
3541         (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
3542         from int to basic_block, pass basic_blocks instead of ints as parms.
3543         (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
3544         parameter from int to basic_block, pass basic_blocks instead of ints.
3545         (process_insert_insn): Pass basic_blocks instead of ints as parameters.
3546         (insert_insn_end_bb): Change bb parameter from int to basic_block,
3547         pass basic_blocks instead of ints.
3548         (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
3549         basic_blocks instead of ints as parameters.
3550         (pre_delete): Pass basic_blocks instead of ints as parameters.
3551         (hoist_expr_reaches_here_p): Change bb parameter from int to
3552         basic_block, pass basic_blocks instead of ints.
3553         (hoist_code): Pass basic_blocks instead of ints as parameters.
3554         (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
3555         Change bb parameter from int to basic_block.
3556         (build_store_vectors): Pass basic_blocks instead of ints as parameters.
3557         (insert_insn_start_bb): Change bb parameter from int to basic_block,
3558         pass basic_blocks instead of ints.
3559         (insert_store): Pass basic_blocks instead of ints as parameters.
3560         (replace_store_insn, delete_store): Change bb parameter from int to
3561         basic_block, pass basic_blocks instead of ints.
3562         (store_motion): Pass basic_blocks instead of ints as parameters.
3563
3564 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3565
3566         * basic-block.h (set_new_block_for_insns): New Prototype.
3567         (set_block_num): Delete prototype.
3568         * flow.c (set_block_num): Remove obsolete function.
3569         (set_block_for_new_insns): Set BB for single or multiple insns.
3570         * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
3571         (process_insn_end_bb): Use set_block_for_new_insns or
3572         set_block_for_insn instead of set_block_num.
3573         (pre_insert_copy_insn): Use set_block_for_new_insns.
3574         (update_ld_motion_stores): Use set_block_for_new_insns.
3575         (insert_insn_start_bb): Use set_block_for_new_insns.
3576         (replace_store_insn): Use set_block_for_new_insns.
3577
3578 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
3579             Jeff Law  <law@redhat.com>
3580
3581         * alias.c (get_addr): Externalize.
3582         (canon_true_dependence): New function. Behaves like true_dependance
3583         except it already assumes a MEM has been canonicalized.
3584         * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
3585         * gcse.c (struct ls_expr): Add load/store expressions structure.
3586         (modify_mem_list, canon_modify_mem_list): New variable.
3587         (gcse_main): Initialize & finalize alias analysis. Use enhanced
3588         load motion and store motion if requested.
3589         (alloc_gcse_mem): Allocate space for modify_mem_list array.
3590         (free_gcse_mem): Free the modify_mem_list array.
3591         (oprs_unchanged_p): Use load_killed_in_block_p.
3592         (gcse_mems_conflict_p, gcse_mem_operand): New variables.
3593         (mems_conflict_for_gcse_p): New function.  Don't kill loads
3594         with stores to themselves if its in the load/store expression list.
3595         (load_killed_in_block_p): New function.
3596         (canon_list_insert): New Function.
3597         (record_last_mem_set_info): Keep a list of all instructions which
3598         can modify memory for each basic block.
3599         (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
3600         (oprs_not_set_p): Use load_killed_in_block_p.
3601         (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
3602         (expr_killed_p): Use load_killed_in_block_p.
3603         (compute_transp): Do not pessimize memory references.
3604         (pre_edge_insert): Update stores for a load motion expression.
3605         (one_pre_gcse_pass): Check loads/stores for extra load motion.
3606         (ldst_entry): Find or create a ldst_expr structure.
3607         (free_ldst_entry): Free memory for an individual item.
3608         (free_ldst_mems): Free entire load/store expression list.
3609         (print_ldst_list): Print debug info.
3610         (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
3611         (enumerate_ldsts): Assign integer values to each entry in list.
3612         (first_ls_expr): First expression in the list.
3613         (next_ls_expr): Next expression in the list.
3614         (simple_mem): Check if expression qualifies for ld/st expression list.
3615         (invalidate_any_buried_refs): Remove from expression list if its
3616         used in some other way we dont understand.
3617         (compute_ld_motion_mems): Find all potential enhanced load motion
3618         expression.
3619         (trim_ld_motion_mems): Remove any expressions which are invalid.
3620         (update_ld_motion_stores): Copy store values to registers for loads
3621         which have been moved.
3622         (regvec, st_antloc, num_store): New global statics.
3623         (reg_set_info): Marks registers as set.
3624         (store_ops_ok): Verfies registers expressions are valid in a block.
3625         (find_moveable_store): Look for moveable stores in a pattern.
3626         (compute_store_table): Find stores in a function worth moving, maybe.
3627         (load_kills_store): Check dependance of a load and store.
3628         (find_loads): Find any loads in a pattern.
3629         (store_killed_in_insn): Check if a store is killed in an insn.
3630         (store_killed_after): Check is store killed after an insn in a block.
3631         (store_killed_before): Check is store killed before an insn in a block.
3632         (build_store_vectors): Generate the antic and avail vectors.
3633         (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
3634         (insert_store): Add a store to an edge.
3635         (replace_store_insn): Replace a store with a SET insn.
3636         (delete_store): Delete a store insn.
3637         (free_store_memory): Free memory.
3638         (store_motion): Perform store motion.
3639         * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
3640         * rtl.h (get_addr, canon_true_dependence): Add prototypes.
3641         * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
3642         (f_options): Add gcse-lm and gcse-sm.
3643
3644 Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
3645
3646         * i386.c (expand_fp_movcc): Fix condition reversal code.
3647
3648         * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
3649         * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
3650         (CLASS_MAX_NREGS): Use it.
3651
3652         * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
3653         handle properly complex values.
3654         (CLASS_MAX_NREGS): Likewise; update comment.
3655
3656 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
3657
3658         * ia64.c (ia64_flag_schedule_insns2): New variable.
3659         (ia64_override_options): Initialize it.  Clear
3660         flag_schedule_insns_after_reload.
3661         (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
3662
3663 Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
3664
3665         * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
3666         Do not require source to match destination anymore;
3667         Add abort to the nontrivial cases that should be handled by split.
3668         (fix_trunc?fdi): Add SSE case for x86_64.
3669         (floatdi?f): Likewise.
3670         (floatdi?f_sse): New.
3671         (fix_trunc?fdi_sse): New.
3672
3673 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
3674
3675         * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
3676         (DEBUG_ARANGES_END_LABEL): Ditto.
3677         (dwarfout_init): Generate length and version fields at the start
3678         of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
3679         after the length field.
3680         (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
3681         the .debug_aranges info.
3682
3683 Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
3684
3685         * i386.c (call, call_value): Make sure that resulting call_insn
3686         does have proper second operand.
3687
3688 Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
3689
3690         * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
3691         function.  Remove include of sys/cygwin.h.
3692
3693 Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
3694
3695         * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
3696         (CPP_SPEC): Always search */include/w32api for header files.
3697         (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
3698         (LINK_SPEC): Add "cyg" to the library search prefixes.
3699
3700 2001-04-08  Philip Blundell  <philb@gnu.org>
3701
3702         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
3703
3704 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3705
3706         * cpperror.c (print_location): Don't special case <stdin>.
3707         (_cpp_begin_message): Handle WARNING_SYSHDR the same as
3708         WARNING, but we don't check if we're in system headers.
3709         * cpplib.h (enum error_type): WARNING_SYSHDR: New.
3710         * cpplib.c (do_warning): Warn in system headers.
3711
3712 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
3713
3714         * mbchar.c: Include config.h first.
3715
3716 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
3717
3718         * config.gcc: Set default for xmake_file at top, not bottom.
3719         Change places that set xmake_file to "none" to set to the
3720         empty string instead, or remove them entirely if there is no
3721         default xmake_file for this cpu_type.  Remove references to
3722         deleted files.
3723
3724         * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
3725         config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
3726         config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
3727         config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
3728         config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
3729         config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
3730         config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
3731         config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
3732         config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
3733         config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
3734         Delete.
3735
3736         * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
3737         config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3738         config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3739         config/mips/x-sysv, config/rs6000/x-aix31:
3740         Just set CLIB to -lld or -lmld, as appropriate.
3741
3742         * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
3743         config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
3744         config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
3745         config/mips/x-iris, config/pa/x-pa:
3746         Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
3747         OTHER_FIXINCLUDES_DIRS.
3748
3749         * config/i386/x-djgpp: Don't set LN or LN_S.
3750         * config/m88k/x-dolph: Don't define __m88k__.
3751         * config/m88k/x-tekXD88: Don't set AR_FLAGS.
3752         * config/pa/x-pa-mpeix: Just set up quadlib.asm.
3753         * config/i860/fx2800.h: No need to #undef SVR4.
3754
3755         38 x-host fragments remain, 2 x-cpu.
3756
3757 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3758
3759         * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
3760
3761 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3762
3763         * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
3764
3765 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3766
3767         * configure.in: Add check for lstat.
3768         * configure, config.in: Regenerate.
3769         * cppinit.c (append_include_chain): Make empty path ".".
3770         * cpplib.c (do_line): Don't simplify #line paths.
3771         * cppfiles.c (remove_component_p): New function.
3772         (find_or_create_entry): Acknowledge stat () errors during
3773         path simplification.
3774         (handle_missing_header): Don't simplify paths.
3775         (_cpp_simplify_pathname): Don't simplify VMS paths.  Return
3776         the empty path untouched.  Don't leave a trailing '/'.
3777
3778 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3779
3780         * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3781         * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3782
3783 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
3784
3785         * cppfiles.c (open_file): Fail directories silently, but
3786         with an errno of NOENT set.
3787         (read_include_file): Move the common exit code to the sole
3788         caller.  Return an int indicating success or failure.  Let
3789         open_file handle directories.
3790         (stack_include_file): If read_include_file fails,
3791         push a "null" buffer.
3792
3793 2001-04-05  DJ Delorie  <dj@redhat.com>
3794
3795         * function.h (virtuals_instantiated): Declare.
3796         * function.c: (virtuals_instantiated): Make global.
3797         * calls.c (emit_library_call_value_1): Use
3798         virtual_outgoing_args_rtx only if it hasn't been instantiated.
3799         Otherwise, use the stack pointer directly.
3800
3801 Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
3802
3803         * i386.c (x86_initialize_trampoline): New global function.
3804         * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
3805         (INITIALIZE_TRAMPOLINE): Move offline.
3806         * i386-protos.h (x86_initialize_trampoline): Declare.
3807
3808 Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
3809
3810         * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
3811         (lea_0): Rename to lea_1.
3812         (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
3813         (lea_general_?): Allow SImodes on TARGET_64BIT
3814         (lea_general_?_zext): New patterns.
3815         (call_1, call_1_rex64): Fix.
3816
3817 Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
3818
3819         * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
3820
3821 Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
3822
3823         * i386.c (function_arg): Return constm1_rtx for last argument.
3824         (ix86_expand_prologue): Update gen_call calls.
3825         * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
3826         * i386.md (call_pop): Likewise.
3827         (call): Second operand is VOIDmode.
3828         (call_0): Likewise; Support 64bits.
3829         (call_exp): New expander.
3830         (call_1): Get to the sync.
3831         (call_1_exp): New pattern.
3832         (call_value): Support 64bit.
3833         (call_value_exp): New pattern.
3834         (untyped_call): Update gen_call call.
3835         (call_value_pop): Disable for 64bit.
3836         (call_value_0_rex64): New pattern.
3837         (call_value_1_rex64): Likewise.
3838
3839 2001-04-05  Bo Thorsen  <bo@suse.de>
3840
3841         * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
3842
3843 Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
3844
3845         * i386.md (*andsi_1+3): If used after reload, make sure the operand
3846         satisfies ANY_QI_REG_P.
3847
3848 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
3849
3850         * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
3851         ASM_OPERAND.
3852
3853         * sched-deps.c (sched_analyze_insn): Revert more of the March 27
3854         change.
3855
3856 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
3857
3858         * config.gcc: Remove default for xm_file.  Clean up local
3859         machine type handling.  Remove settings of xm_file to
3860         something that doesn't exist.  In the big switch, set xm_file,
3861         don't append to it (the value before the big switch is always
3862         null).  Don't force build_xm_file or host_xm_file to have a value.
3863         * configure.in: Remove default for xm_file.  Do not special
3864         case $cpu/xm-$cpu.h not existing.
3865         * configure: Regenerate.
3866
3867 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
3868
3869         * simplify-rtx.c (simplify_binary_operation): Check for overflow
3870         when folding integer division and modulo operations.
3871
3872 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
3873
3874         * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
3875         instead of DWARF2_ADDR_SIZE for EH addresses.
3876         (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
3877         EH addresses.
3878
3879 2001-04-04  Richard Henderson  <rth@redhat.com>
3880
3881         * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
3882         * config/ia64/t-glibc (LIB2ADDEH): Disable.
3883         * config/ia64/t-ia64 (LIB2ADDEH): Disable.
3884
3885 2001-04-04  Richard Henderson  <rth@redhat.com>
3886
3887         * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
3888         * configure: Rebuilt.
3889
3890 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
3891
3892         * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
3893         push insns to delete to it instead of deleting them.
3894         (delete_null_pointer_checks): Delete insns from delete_list after
3895         all delete_null_pointer_checks_1 passes are done.
3896
3897 2001-04-04  Richard Henderson  <rth@redhat.com>
3898
3899         * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
3900         * configure: Rebuilt.
3901
3902 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
3903
3904         * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
3905         * config/romp/xm-romp.h: Delete.
3906
3907 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
3908
3909         * sched-deps.c (sched_analyze_insn): Partially revert March 27
3910         change.
3911
3912 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3913
3914         * emit-rtl.c (mark_label_nuses) Increment the label uses for
3915         all labels present in rtx.
3916         (try_split) Call new function for all split insns.
3917
3918 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
3919
3920         * recog.c (validate_replace_rtx_1): Instead of aborting just make
3921         sure the change won't be validated.
3922
3923 Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
3924
3925         * rtl.h (set_noop_p): Declare.
3926         * flow.c (set_noop_p): Move from here ...
3927         * rtlanal.c (set_noop_p): ... to here and enhance.
3928         * cse.c (delete_trivially_dead_insns): Use it.
3929         * gcse.c (hash_scan_set): Likewise.
3930         * jump.c (delete_noop_moves): Likewise.
3931         * recog.c (split_all_insns): Likewise.
3932
3933 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
3934
3935         * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
3936         stack pointer via a LO_SUM.  Ditto for setting a temp register
3937         used to save to the stack.  Set cfa_temp when setting fp, and
3938         allow matches to cfa_temp in addition to cfa_store when saving
3939         regs.  Handle POST_INC and LO_SUM register stores.  Document the
3940         changes and errors in rule 12 doco.
3941
3942         * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
3943         (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
3944         (load_reg): Move closer to epilogue code.
3945         (DO_FRAME_NOTES): Define to control the following..
3946         (FRP): Define to set RTX_FRAME_RELATED_P on insns.
3947         (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
3948         notes as necessary.
3949         (hppa_expand_epilogue): Likewise.
3950
3951 2001-04-03  Richard Henderson  <rth@redhat.com>
3952
3953         * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
3954         * configure: Rebuild.
3955
3956 2001-04-03  Richard Henderson  <rth@redhat.com>
3957
3958         * rtl.h (LCT_THROW): New.
3959         * calls.c (emit_library_call_value_1): Handle it.
3960         * except.c (connect_post_landing_pads): Use it.
3961
3962 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
3963
3964         * gansidecl.h: Delete file.
3965         * configure.in: Change all refs to gansidecl.h to use
3966         ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
3967         lives.
3968         * configure: Regenerate.
3969
3970         * Makefile.in (intl.o): Don't depend on gansidecl.h.
3971         * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
3972         * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
3973         Don't include gansidecl.h.
3974         * intl.c, main.c, version.c, fixinc/fixlib.h,
3975         fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
3976         gansidecl.h.
3977
3978 Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
3979
3980         * i386.c (ix86_force_to_memory, ix86_free_from_memory):
3981         Update for 64bit.
3982
3983 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
3984
3985         * config/i386/xm-beos.h, config/i386/xm-isc.h,
3986         config/i386/xm-next.h, config/i386/xm-sco.h,
3987         config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
3988         config/m88k/xm-m88k.h: Delete.
3989
3990         * config/i386/xm-djgpp.h: Don't define __MSDOS__.
3991         * config/romp/xm-romp.h: Don't define bcopy.
3992         * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
3993         HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
3994
3995         * config.gcc: Remove references to deleted files.
3996
3997         14 xm-host.h remain, 1 xm-cpu.h.
3998
3999 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
4000             David S. Miller  <davem@pierdol.cobaltmicro.com>
4001             Andrew MacLeod  <amacleod@redhat.com>
4002
4003         Use byte offsets in SUBREGs instead of words.
4004
4005         * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
4006         * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
4007         to pass new argument.
4008         (add_stored_regs): Use subreg_regno_offset function.
4009         * calls.c (expand_call): For non-paradoxical SUBREG take endianess
4010         into account.
4011         (precompute_arguments): Use gen_lowpart_SUBREG.
4012         * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
4013         (combine_simplify_rtx): Rework to use SUBREG_BYTE.
4014         (simplify_set): Rework to use SUBREG_BYTE.
4015         (expand_field_assignment): Use SUBREG_BYTE.
4016         (make_extraction): Use SUBREG_BYTE.
4017         (if_then_else_cond): Use SUBREG_BYTE.
4018         (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
4019         (gen_lowpart_for_combine): Compute full byte offset.
4020         * cse.c (mention_regs): Use SUBREG_BYTE.
4021         (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
4022         (canon_hash): Use SUBREG_BYTE.
4023         (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
4024         (gen_lowpart_if_possible): Formatting.
4025         * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
4026         correctly.
4027         * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4028         (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4029         (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4030         * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
4031         (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4032         (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
4033         * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
4034         certain invariants about SUBREGs the compiler creates.
4035         (gen_lowpart_SUBREG): New function.
4036         (subreg_hard_regno): New function to get the final register number.
4037         (gen_lowpart_common): Use SUBREG_BYTE.
4038         (gen_imagpart): Spacing nits.
4039         (subreg_realpart_p): Use SUBREG_BYTE.
4040         (gen_highpart): Use SUBREG_BYTE.
4041         (subreg_lowpart_p): Always compute endian corrected goal offset,
4042         even at the byte level, then compare against that.
4043         (constant_subword): New function, pulled out all constant cases
4044         from operand_subword and changed second argument name to offset.
4045         (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
4046         and call constant_subword to do the work.  Return const0_rtx if
4047         looking for a word outside of OP.
4048         (operand_subword_force): Change second arg name to offset.
4049         * expmed.c (store_bit_field): Use SUBREG_BYTE.
4050         (store_split_bit_field): Use SUBREG_BYTE.
4051         (extract_bit_field): Use SUBREG_BYTE.
4052         (extract_split_bit_field): Use SUBREG_BYTE.
4053         (expand_shift): Use SUBREG_BYTE.
4054         * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
4055         * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
4056  &nbs