OSDN Git Service

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