OSDN Git Service

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