OSDN Git Service

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