1 2001-05-30 Neil Booth <neil@daikokuya.demon.co.uk>
3 * cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
4 so that we do accept comments in preprocessed input.
6 2001-05-30 Neil Booth <neil@daikokuya.demon.co.uk>
8 * cpphash.c (alloc_node): Cast allocated pointer.
10 2001-05-30 Gordon Sadler <gbsadler1@lcisp.com>
12 * invoke.texi (Option Summary): Remove -isystem-c++ from options.
14 2001-05-29 Stan Shebs <shebs@apple.com>
16 * gcc.texi: Add links for information about Objective-C.
18 2001-05-29 Nathan Sidwell <nathan@codesourcery.com>
20 * configure.in (gcc_version): Remove unrequired \ on ". (Solaris
21 /bin/sed fails on [^\"]).
22 (configargs.h): Likewise.
24 2001-05-29 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
26 * config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
28 2001-05-28 Stan Shebs <shebs@apple.com>
30 * objc/objc.gperf: Remove, no longer used.
32 2001-05-28 Joseph S. Myers <jsm28@cam.ac.uk>
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.
38 2001-05-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
40 * doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
41 became http://freeware.sgi.com/.
43 2001-05-27 Geoffrey Keating <geoffk@redhat.com>
45 * local-alloc.c (update_equiv_regs): Don't eliminate constant
48 2001-05-27 Stan Shebs <shebs@apple.com>
50 * objc/objc-act.c: Add/fix various comments.
51 (init_selector): Remove, no longer used.
52 (build_msg_pool_reference): Ditto.
55 2001-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
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.
69 2001-05-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
71 * fixinc/fixtests.c: Declare entries in ENV_TABLE.
73 2001-05-27 Bruce Korb <bkorb@gnu.org>
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
83 * README-fixinc: rewrite (mostly)
85 2001-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
87 * cpplib.c (run_directive): Set pfile->directive.
89 2001-05-23 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
91 * c-tree.texi: Reformat the manual as a single chapter now
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.
100 2001-05-27 Lars Brinkhoff <lars@nocrew.org>
102 * combine.c (try_combine): Fix typo in comment.
103 * expr.c (expand_expr): Likewise.
104 * config/i370/i370.md (untyped_call): Likewise.
106 2001-05-26 Bruce Korb <bkorb@gnu.org>
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
120 * fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
121 when fixincl is operating in test mode
123 2001-05-26 Philip Blundell <philb@gnu.org>
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.
132 2001-05-26 Philip Blundell <philb@gnu.org>
134 * config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
136 2001-05-25 Zack Weinberg <zackw@stanford.edu>
138 * toplev.c (debug_args, f_options, W_options): Mark
139 descriptions for translation.
140 (display_help): Translate descriptions on output.
142 * cp/lang-options.h, f/lang-options.h, java/lang-options.h,
143 objc/lang-options.h: Mark descriptions for translation.
145 * aclocal.m4: Quote final argument of patsubst. Use
146 3-argument form of AC_DEFINE. Restore quotes to [] while
148 * configure.in: Remove unnecessary changequote calls.
149 * configure, config.in: Regenerate.
151 2001-05-25 Sam TH <sam@uchicago.edu>
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.
171 2001-05-25 Stacey Sheldon <ssheldon@Catena.com>
173 * config/arc/initfini.c (.init): Fix typo.
175 2001-05-25 Geoffrey Keating <geoffk@redhat.com>
177 * config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
179 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
181 * i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
183 2001-05-25 Richard Henderson <rth@redhat.com>
185 * libgcc-std.ver: Export XFmode and TFmode versions of symbols.
187 2001-05-25 Richard Henderson <rth@redhat.com>
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.
196 2001-05-25 Loren J. Rittle <ljrittle@acm.org>
198 * config.gcc (*-*-freebsd*): Report bad configuration.
200 2001-05-25 David Edelsohn <edelsohn@gnu.org>
202 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
204 * config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
206 (ASM_OUTPUT_LABELREF): Delete.
208 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
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.
217 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
219 * fixinc/inclhack.def (alpha___assert): Change char * args to
220 const char * on Tru64 UNIX to avoid excessive warnings from
222 * fixinc/fixincl.x: Regenerate.
224 2001-05-25 Geoff Keating <geoffk@redhat.com>
226 * dbxout.c (dbxout_symbol): Invert previous patch, which was
227 outputting a tag only for variable-size records.
229 2001-05-25 Jeff Knaggs <jknaggs@redhat.com>
231 * config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
232 instead of rtx_equal_p for early clobber test.
234 2001-05-26 Mark Mitchell <mark@codesourcery.com>
236 * builtins.def: Encode additional information, such as names and
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
242 (expand_builtin_mathfn): Handle float and long double variants of
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
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.
259 2001-05-25 Dale Johannesen <dalej@apple.com>
261 * config/rs6000/t-darwin: Fix dependencies for darwin.o.
263 2001-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
265 * c-parse.in (notype_initdcl): Remove redundant line.
267 2001-05-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
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.
276 2001-05-25 Richard Henderson <rth@redhat.com>
278 * function.c (expand_function_start): Don't abort on PARALLEL
279 returns from hard_function_value.
281 2001-05-25 Richard Henderson <rth@redhat.com>
283 * config/i386/i386.md: Revert previous change. Do not apply
284 the peephole if the components do not die after the sequence.
286 2001-05-25 Joseph S. Myers <jsm28@cam.ac.uk>
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
297 (grokdeclarator): Handle static and type qualifiers in parameter
299 * c-tree.h (build_array_declarator, set_array_declarator_type):
301 * extend.texi (Attribute Syntax): Document attributes in parameter
304 2001-05-25 Mark Mitchell <mark@codesourcery.com>
306 * config/i386/i386.md: Make sure cmpstr peepholes do not
307 affect liveness information.
309 2001-05-24 Mark Mitchell <mark@codesourcery.com>
311 * c-typeck.c (digest_init): Issue error messages about
312 invalid constants, not warnings.
314 2001-05-24 Mark Mitchell <mark@codesourcery.com>
316 * invoke.texi (-fno-builtin): Document that this is always on
319 2001-05-24 Philip Blundell <philb@gnu.org>
321 * doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
324 2001-05-24 Philip Blundell <philb@gnu.org>
326 * config/arm/arm.c (output_return_instruction): Correctly handle
327 interworking and interrupt functions.
329 2001-05-24 Philip Blundell <philb@gnu.org>
331 * config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
332 -m{no-}sched-prolog. Fix typos and improve formatting.
334 2001-05-24 Philip Blundell <philb@gnu.org>
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.
341 2001-05-24 Geoff Keating <geoffk@redhat.com>
343 * config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
344 (MD_FALLBACK_FRAME_STATE_FOR): Use it.
346 Thu May 24 19:47:19 CEST 2001 Jan Hubicka <jh@suse.cz>
348 * simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
349 fix hard register simplification.
351 Thu May 24 00:15:17 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
353 * sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
354 of just copying CPP_CPU_SPEC.
356 Thu May 24 15:56:48 CEST 2001 Jan Hubicka <jh@suse.cz>
358 * i386.c (incdec_operand): Accept only 1 and -1.
360 2001-05-23 Kelley Cook <kelley.cook@home.com>
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).
367 2001-05-23 Richard Henderson <rth@redhat.com>
369 * integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
371 2001-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
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
379 2001-05-23 Richard Henderson <rth@redhat.com>
381 * doc/install.texi (alpha-linux): Require binutils 2.11.
383 2001-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
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.
395 2001-05-23 Joseph S. Myers <jsm28@cam.ac.uk>
397 * extend.texi (Attribute Syntax): Clarify application of
398 attributes to parameters declared as functions or arrays.
400 2001-05-23 Jason Merrill <jason_merrill@redhat.com>
402 * dbxout.c (dbxout_type_methods): Do still group methods by name.
404 2001-05-23 Zack Weinberg <zackw@stanford.edu>
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
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.
422 2001-05-23 Mark Mitchell <mark@codesourcery.com>
424 * jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
426 2001-05-23 Richard Henderson <rth@redhat.com>
428 * function.c (expand_function_start): Always use a pseudo
429 for the function result value.
431 2001-05-22 Richard Henderson <rth@redhat.com>
433 * config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
434 section pointer alignment.
436 * doc/install.texi (alpha-linux): Require binutils >= 2.10.
438 * unwind-dw2-fde.c (__deregister_frame_info): Stringize use
439 of __USER_LABEL_PREFIX__.
441 2001-05-22 Richard Henderson <rth@redhat.com>
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.
450 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
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).
455 2001-05-22 Andrew MacLeod <amacleod@redhat.com>
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.
463 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
464 David O'Brien <obrien@freebsd.org>
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
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.
477 * config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
478 * config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
480 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
481 David O'Brien <obrien@freebsd.org>
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.
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.
497 2001-05-22 Loren J. Rittle <ljrittle@acm.org>
498 David O'Brien <obrien@freebsd.org>
500 * config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
501 * config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
502 -pthread instead setting macro.
504 2001-05-22 Richard Henderson <rth@redhat.com>
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.
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.
516 2001-05-22 Richard Henderson <rth@redhat.com>
518 * rtl.c (read_string): Break out from ...
519 (read_rtx): ... here.
521 2001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
523 * doc/install.texi (Specific): Remove a bogus and duplicate part
524 copied from the end of the document.
526 2001-05-22 Bernd Schmidt <bernds@redhat.com>
528 * Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
530 2001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
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.
536 2001-05-22 Alexandre Oliva <aoliva@redhat.com>
538 * cppfiles.c (remove_component_p): Don't assume lstat/stat will
539 keep errno unchanged on success.
541 2001-05-22 Joseph S. Myers <jsm28@cam.ac.uk>
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.
548 2001-05-22 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
550 * README.ACORN: Remove obsolete file.
552 2001-05-22 Jan Hubicka <jh@suse.cz>
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.
562 2001-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
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.
569 2001-05-21 Richard Henderson <rth@redhat.com>
571 * combine.c (subst): Do not substitute for a register as
572 a destination subreg/strict_low_part/zero_extract.
574 * combine.c (simplify_comparison): Update op1 after constant
576 * recog.c (const_int_operand): Accept only constants valid
578 * genrecog.c: Update comments wrt const_int_operand.
580 * emit-rtl.c (init_emit_once): Zero unused memory in a
583 2001-05-21 Mark Mitchell <mark@codesourcery.com>
585 * tree.h (type_num_arguments): Declare it.
586 * tree.c (type_num_arguments): New function.
588 2001-05-21 Richard Henderson <rth@redhat.com>
590 * dwarf2out.c (current_funcdef_number): Move outside dwarf2
593 2001-05-21 Geoff Keating <geoffk@redhat.com>
595 * config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
597 (minsf3): Use rs6000_emit_minmax.
598 (minsf3+1): Generalize to handle both SMIN and SMAX. Use
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.
606 (mindf3): Use rs6000_emit_minmax.
607 (mindf3+1): Generalize to handle both SMIN and SMAX. Use
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.
621 * config/rs6000/rs6000.c (output_cbranch): Handle all
622 conditional types in the switch statement.
624 2001-05-21 Mark Mitchell <mark@codesourcery.com>
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.
631 2001-05-21 Jason Merrill <jason_merrill@redhat.com>
633 * dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
634 (dbxout_type_fields): Lose minimal_debug support.
635 (dbxout_type_methods, dbxout_type): Likewise.
637 2001-05-17 Andrew Haley <aph@redhat.com>
639 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
641 2001-05-21 Richard Henderson <rth@redhat.com>
643 * dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
646 2001-05-20 Richard Henderson <rth@redhat.com>
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):
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.
662 2001-05-20 Richard Henderson <rth@redhat.com>
664 * optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
665 operands unless the operation is commutative.
667 2001-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
669 * fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
672 2001-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
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.
680 Sun May 20 16:39:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
687 * stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
689 2001-05-20 Richard Henderson <rth@redhat.com>
691 * sched-deps.c (sched_analyze_insn): Force volatile memory reads
692 to be output before a branch.
694 2001-05-20 Richard Henderson <rth@redhat.com>
696 * Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
698 2001-05-20 Richard Henderson <rth@redhat.com>
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.
705 * config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
706 (UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
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.
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.
720 2001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
722 * invoke.texi: Add more options to summary list.
724 2001-05-20 Joseph S. Myers <jsm28@cam.ac.uk>
726 * invoke.texi: Document meaning of -pedantic when -std=gnu* is
727 used. Fixes PR c/2291.
730 2001-05-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
732 * config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
733 the -fpic and -fPIC options, clear flag_pic.
735 2001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
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.
741 2001-05-20 Neil Booth <neil@daikokuya.demon.co.uk>
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.
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
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.
780 * stringpool.c: Update comments and copyright. Update to use
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.
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.
797 * objc-act.c (objc_init_options): Call set_identifier_size. Update.
799 Sat May 19 18:23:04 2001 Richard Henderson <rth@redhat.com>
801 * except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
803 (expand_eh_return): Convert between word_mode and Pmode.
804 * unwind-dw2.c (extract_cie_info): Do not assume words and pointers
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
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.
821 2001-05-19 Mark Mitchell <mark@codesourcery.com>
823 * jump.c (mark_jump_label): Tidy previous change.
825 2001-05-19 Bruce Korb <bkorb@gnu.org>
827 * fixinc/genfixes: no need for two warnings
828 * fixinc/Makefile.in: open stdin for those building with a closed one.
830 2001-05-19 Mark Mitchell <mark@codesourcery.com>
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.
836 2001-05-19 Joseph S. Myers <jsm28@cam.ac.uk>
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.
844 2001-05-19 Mark Mitchell <mark@codesourcery.com>
846 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
848 * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
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):
855 Sat May 19 07:53:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
857 * recog.c (general_operand): Modify last change to allow it if reload
860 Sat May 19 10:23:54 CEST 2001 Jan Hubicka <jh@suse.cz>
862 * recog.c (general_operand): Prohibit nonzero subreg bytes on
863 subregs containing mem.
865 Sat May 19 09:40:45 2001 Denis Chertykov <denisc@overta.ru>
867 * regrename.c (regrename_optimize): frame pointer register can
870 2001-05-18 Jason Merrill <jason_merrill@redhat.com>
872 * README.DWARF: Move into dwarfout.c.
874 2001-05-18 Dale Johannesen <dalej@apple.com>
876 * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
877 specific misuse of r0 as a reload address.
879 Fri May 18 22:42:04 CEST 2001 Jan Hubicka <jh@suse.cz>
881 * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
884 Fri May 18 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
891 * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
893 (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
896 2001-05-18 Stan Shebs <shebs@apple.com>
898 * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
899 * configure: Regenerate.
901 2001-05-18 Per Bothner <per@bothner.com>
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.
907 Fri May 18 10:14:42 2001 Jeffrey A Law (law@cygnus.com)
909 * config/pa/som.h (EXCEPTION_SECTION): Define.
911 2001-05-18 Daniel Berlin <dan@cgsoftware.com>
913 * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
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
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.
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
941 Fri May 18 15:39:16 CEST 2001 Jan Hubicka <jh@suse.cz>
943 * gcse.c (try_replace_reg): First try global replace, later try to
944 simplify the expression.
946 * gcse.c (find_used_regs): Change calling convention; work via
948 (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
950 2001-05-18 Bernd Schmidt <bernds@redhat.com>
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.
957 2001-05-18 Mark Mitchell <mark@codesourcery.com>
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.
969 * function.c (expand_function_start): Avoid creating BLKmode
972 2001-05-17 Mark Mitchell <mark@codesourcery.com>
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
979 2001-05-18 David Edelsohn <edelsohn@gnu.org>
981 * rs6000.md (movsfcc,movdfcc): Remove NE case.
983 2001-05-17 Bruce Korb <bkorb@gnu.org>
985 * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
986 * fixinc/genfixes: emit a warning if AutoGen is out of date
988 2001-05-17 Brendan Conoboy <blc@cygnus.com>
989 Bruce Korb <bkorb@gnu.org>
991 * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
992 found in fixinc directory. Facilitates binary distributions.
994 2001-05-17 Jeffrey Oldham <oldham@codesourcery.com>
996 * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
999 Thu May 17 19:42:39 2001 Mark Kettenis <kettenis@wins.uva.nl>
1001 * dwarf2out.c (modified_type_die): Equate qualified type to die.
1003 Thu May 17 23:19:46 CEST 2001 Jan Hubicka <jh@suse.cz>
1005 * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
1006 (simplify_subreg): Handle complex types represented as CONCAT.
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.
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.
1019 Thu May 17 20:43:36 CEST 2001 Jan Hubicka <jh@suse.cz>
1021 * cse.c (fold_rtx): Use simplify_subreg.
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.
1028 2001-05-17 Mark Mitchell <mark@codesourcery.com>
1030 * doc/install.texi: Update Solaris information.
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'
1041 * varasm.c (assemble_external): Abort if we have not yet
1042 opened the assembly output file.
1044 Thu May 17 11:54:50 2001 Jeffrey A Law (law@cygnus.com)
1046 * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
1047 for eh_personality_libfunc.
1049 Thu May 17 19:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
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.
1055 Thu May 17 19:40:03 CEST 2001 Jan Hubicka <jh@suse.cz>
1057 * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs.
1059 2001-05-17 Bernd Schmidt <bernds@redhat.com>
1061 * expr.c (protect_from_queue): Protect against subsequent calls to
1063 (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
1066 Thu May 17 18:17:34 CEST 2001 Jan Hubicka <jh@suse.cz>
1068 * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
1070 2001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1072 * gccbug.in (CATEGORIES): Add "bootstrap".
1074 Thu May 17 16:59:41 CEST 2001 Jan Hubicka <jh@suse.cz>
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.
1083 2001-05-17 Bernd Schmidt <bernds@redhat.com>
1085 * stmt.c (expand_asm_operands): For inout operands, make sure
1086 the substitution of '=' for '+' makes it into the rtl.
1088 * reload1.c (delete_output_reload): Call eliminate_regs on substed.
1089 (reload_as_needed): Call update_eliminable_offsets a bit later.
1091 2001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1093 * gcc.texi (gccbug): Refer to the web pages for detailed information
1096 2001-05-16 Zack Weinberg <zackw@stanford.edu>
1098 * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
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.
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.
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.
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.
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.
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.
1176 * config.gcc: Remove references to deleted files.
1177 (arm-semi-aof): Use arm/t-semi for tmake_file.
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.
1183 * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
1184 No need to set INSTALL_ASSERT_H. (Missed in previous sweep.)
1186 2001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
1187 Bruce Korb <bkorb@gnu.org>
1189 * fixinc/inclhack.def(solaris27_mutex_init): Fix broken mutex
1192 2001-05-16 Zack Weinberg <zackw@stanford.edu>
1194 * i386.md: Add two peepholes to clean up code generated by
1197 2001-05-16 Richard Henderson <rth@redhat.com>
1199 * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
1200 variants of non-absolute encodings.
1202 * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1204 * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
1205 __register_frame_info_table_bases): Export.
1207 2001-05-16 Richard Henderson <rth@redhat.com>
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
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
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
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
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
1262 * unwind-pe.h: Add "struct" to _Unwind_Context references.
1264 2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
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.
1281 Wed May 16 13:41:10 2001 Jeffrey A Law (law@cygnus.com)
1283 * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
1286 2001-05-16 Andreas Jaeger <aj@suse.de>
1288 * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
1290 * toplev.c: Include dwarf2asm.h for prototype of
1291 dw2_output_indirect_constants.
1293 Wed May 16 19:53:53 CEST 2001 Jan Hubicka <jh@suse.cz>
1295 * stmt.c (expand_asm_operands): Be able to offload addressof
1296 expression to memory. (PR optimization/185)
1298 Wed May 16 18:53:23 CEST 2001 Jan Hubicka <jh@suse.cz>
1300 * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
1301 applying distributive law.
1303 2001-05-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1305 * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
1307 * gthr-dce.h (UNUSED): Attribute unused macro.
1308 (__gthread_key_dtor): Make arguments UNUSED.
1309 (__gthread_key_delete): Revise for compatibility with DRAFT4
1312 2001-05-16 David Edelsohn <edelsohn@gnu.org>
1314 * doc/install.texi: Update AIX information.
1315 * README.RS6000: Remove obsolete file.
1317 2001-05-16 Jakub Jelinek <jakub@redhat.com>
1318 Nathan Sidwell <nathan@codesourcery.com>
1320 * gcc.c (give_switch): Don't write before start of string.
1321 Always append suffix.
1323 2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
1325 * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
1328 2001-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1330 * README.ALTOS: Remove obsolete file.
1332 2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1334 * c-lex.h (save_and_forget_protocol_qualifiers,
1335 forget_protocol_qualifiers, remember_protocol_qualifiers):
1336 Remove deleted functions' prototypes.
1338 2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
1340 * c-parse.in (methodtype): New production.
1341 (methoddef, methodproto): Collapse separate '-' and '+'
1344 2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
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.
1366 Tue May 15 22:14:09 2001 Jeffrey A Law (law@cygnus.com)
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.
1374 2001-05-15 Richard Henderson <rth@redhat.com>
1376 * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
1377 (_Unwind_GetTextRelBase): New.
1379 2001-05-15 Mark Mitchell <mark@codesourcery.com>
1381 * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
1383 2001-05-15 Geoffrey Keating <geoffk@redhat.com>
1385 * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
1386 so that CHOOSE_SECTION gets used.
1388 * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
1389 TARGET_RELOCATABLE like flag_pic for now.
1391 2001-05-15 David Edelsohn <edelsohn@gnu.org>
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.
1402 2001-05-15 Loren J. Rittle <ljrittle@acm.org>
1404 * gthr-posix.h: Make additional pthread-* functions weak.
1406 Tue May 15 13:51:32 CEST 2001 Jan Hubicka <jh@suse.cz>
1408 * recog.c (apply_change_group): Avoid unneeded validating.
1410 2001-05-14 David Edelsohn <edelsohn@gnu.org>
1412 * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
1413 (num_insns_constant): CONST_INT can be 64-bits.
1415 2001-05-14 Stan Shebs <shebs@apple.com>
1417 * config/darwin.h (LIB_SPEC): Just use -lSystem.
1418 (LIBGCC_SPEC): Don't define.
1420 2001-05-14 Richard Henderson <rth@redhat.com>
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.
1426 2001-05-14 Andrew MacLeod <amacleod@redhat.com>
1428 * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
1429 extended precision divide.
1431 2001-05-14 Andrew MacLeod <amacleod@redhat.com>
1433 * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
1434 for RETURNS as well.
1436 Mon May 14 17:34:48 CEST 2001 Jan Hubicka <jh@suse.cz>
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
1445 * i386.c (override_options): Add sorry about not suported modes.
1447 Mon May 14 08:56:47 2001 Jeffrey A Law (law@cygnus.com)
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.
1454 2001-05-14 Mark Mitchell <mark@codesourcery.com>
1456 * regrename.c (regrename_optimize): Do not rename registers to
1459 2001-05-14 Alexandre Oliva <aoliva@redhat.com>
1461 * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
1462 contain MEMs. Remove useless distinction about clobbering
1465 2001-05-13 Geoff Keating <geoffk@redhat.com>
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.
1473 2001-05-13 Zack Weinberg <zackw@stanford.edu>
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.
1481 * Makefile.in (installdirs): Don't create $(gcc_tooldir).
1483 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
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.
1490 2001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
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.
1498 2001-05-13 Mark Mitchell <mark@codesourcery.com>
1500 * Makefile.in (STAMP): New macro.
1501 Replace all uses of `touch' with $(STAMP).
1502 * fixinc/Makefile.in: Likewise.
1504 Sun May 13 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
1510 2001-05-12 Richard Henderson <rth@redhat.com>
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.
1517 2001-05-12 Zack Weinberg <zackw@stanford.edu>
1519 * extend.texi: Document #pragma GCC java_exceptions.
1521 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
1523 * c-parse.in (bison parser, init_reswords): Remove uses of
1525 * c-tree.h (doing_objc_thang): Remove.
1527 2001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
1529 * cpplex.c (_cpp_lex_token): Ensure we warn at most once
1530 about files not ending in newlines.
1532 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
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.
1538 * method.c (build_mangled_C99_name): Remove unused prototype.
1540 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
1542 * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
1544 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
1546 * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
1547 * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
1549 2001-05-11 Richard Henderson <rth@redhat.com>
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.
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.
1578 * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
1580 * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
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.
1601 2001-05-11 Richard Henderson <rth@redhat.com>
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
1607 * config/ia64/ia64.md (break_f): New.
1609 2001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
1611 * c-lex.c (lex_charconst): Convert into a simple wrapper
1612 around cpp_interpret_charconst, to which most of the code
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.
1624 2001-05-12 Dean Wakerley <dean@wakerley.com>
1626 * doc/install.texi: New file. Converted to texinfo from the HTML
1627 documentation in wwwdocs/htdocs/install.
1629 Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com)
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.
1634 * toplev.c (compile_file): Move comment for opening output
1635 file to just before the code that opens the output file.
1637 2001-05-11 Jakub Jelinek <jakub@redhat.com>
1639 * regmove.c (regmove_optimize): Suppress the optimization for
1640 unchanging destination register. Add comment above function.
1642 2001-05-11 Zack Weinberg <zackw@stanford.edu>
1644 * Makefile.in: Exterminate all references to assert.h.
1645 * cross-make: Likewise.
1647 * configure.in: Correct commentary.
1648 * configure: Regenerate.
1650 * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
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.
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.
1662 2001-05-11 Graham Stott <grahams@redhat.com>
1664 * combine.c (simplify_comparison): Fix typo.
1666 2001-05-11 Mark Mitchell <mark@codesourcery.com>
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.
1680 2001-05-11 Mark Mitchell <mark@codesourcery.com>
1682 * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
1684 2001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
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.
1694 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
1696 * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
1697 FLOAT_BIT_ORDER_MISMATCH.
1699 2001-05-10 David Edelsohn <edelsohn@gnu.org>
1701 * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
1702 bytes. Reported by Kazu Hirata <kazu@hxi.com>.
1704 2001-05-10 David Edelsohn <edelsohn@gnu.org>
1706 * expr.c (emit_group_load): extract_bit_field requires a REG or
1709 Thu May 10 14:45:44 2001 Jeffrey A Law (law@cygnus.com)
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.
1716 * jump.c (jump_optimize_1): Do not wrap the new jump target
1717 inside a LABEL_REF; gen_jump will do that automatically.
1719 2001-05-10 Toon Moene <toon@moene.indiv.nluug.nl>
1721 * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
1722 contents for a SYMBOL_REF in case of floating point constants.
1724 2001-05-10 DJ Delorie <dj@redhat.com>
1726 * c-common.c (combine_strings): Widen strings in a
1727 host-endian-independent way.
1729 2001-05-10 Joseph S. Myers <jsm28@cam.ac.uk>
1731 * c-parse.in: Remove many shift/reduce conflicts. Update
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
1764 Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com)
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.
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.
1773 2001-05-09 Zack Weinberg <zackw@stanford.edu>
1775 * cppinit.c (cpp_post_options): Shut off macro expansion if
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.
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.
1794 2001-05-09 Joseph S. Myers <jsm28@cam.ac.uk>
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.
1802 Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz>
1804 * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
1806 Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com>
1808 * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
1809 handling of two-address insns.
1811 Wed May 9 10:36:18 2001 Alexandre Oliva <aoliva@redhat.com>
1813 * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
1814 ../binutils/nm-new instead of ../binutils/nm.
1816 Wed May 9 12:15:46 CEST 2001 Jan Hubicka <jh@suse.cz>
1818 * i386.md (movdi splitter): Fix the splitting condition
1819 (float_extenddftf splitter): Fix mode.
1821 Wed May 9 12:05:39 CEST 2001 Jan Hubicka <jh@suse.cz>
1823 * genrecog.c (write_switch): Avoid outputting of switch for
1824 types wider than int.
1826 2001-05-03 Andrew Haley <aph@cambridge.redhat.com>
1828 * reload1.c (copy_eh_notes): New function.
1829 (emit_input_reload_insns): Call it.
1830 (emit_output_reload_insns): Call it.
1832 2001-05-07 Zack Weinberg <zackw@stanford.edu>
1834 * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
1836 * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
1837 config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
1839 * optabs.c: Delete #ifdef BROKEN_LDEXP block.
1841 2001-05-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1843 * pa.md (interspace_jump): Revise comment.
1844 (builtin_longjmp): Block initial setup insns from delay slot of
1846 (builtin_setjmp_receiver): New expander to save and restore PIC
1849 * som.h (NM_FLAGS): Remove `-n' sort option. Revise comment.
1851 Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com)
1853 * toplev.c (compile_file): Set up the output file before we call
1854 the various initializers for the compiler.
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.
1859 * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
1860 * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
1862 2001-05-06 Zack Weinberg <zackw@stanford.edu>
1864 * Makefile.in (tradcpp0): Correct typo in dependency list.
1866 2001-05-06 Geoff Keating <geoffk@redhat.com>
1868 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
1869 the link register if we're not going to use it.
1871 * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
1872 (output_function_profiler): Likewise.
1874 2001-05-07 Alan Modra <amodra@one.net.au>
1876 * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
1878 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
1880 * unroll.c (loop_iterations): Don't sign-extend abs_diff;
1881 zero-extend it. Make abs_inc unsigned.
1883 * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
1884 widest mode in narrowing and widening operations.
1886 * config/mips/mips.md: Sign extend CONST_INTs.
1888 2001-05-06 Andreas Jaeger <aj@suse.de>
1890 * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
1891 (i386 Options): Document -momit-leaf-frame-pointer.
1893 2001-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
1895 * c-typeck.c (internal_build_compound_expr): Check for
1896 array to pointer conversion just once.
1898 2001-05-05 Richard Henderson <rth@redhat.com>
1900 * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
1902 2001-05-05 Richard Henderson <rth@redhat.com>
1904 * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
1905 to the parent of the fixup region.
1907 2001-05-05 Jakub Jelinek <jakub@redhat.com>
1909 * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
1911 * cpp.texi (__NO_INLINE): Document it.
1913 2001-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
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.
1920 2001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1922 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
1923 between X and Y by using sequences of xgdx and xgdy.
1925 2001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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
1937 2001-05-04 David Edelsohn <edelsohn@gnu.org>
1939 * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
1941 2001-05-04 Lars Brinkhoff <lars@nocrew.org>
1943 * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
1946 2001-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1948 * config/rs6000/rs6000.md (ashldi3 splits): Guard with
1951 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1953 * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
1954 soft register, use ror instead of rol.
1956 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
1962 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
1971 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
1977 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
1989 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
1995 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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
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.
2005 2001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
2007 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
2009 2001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2011 * alpha.h: NULL_PTR -> NULL.
2018 * i386.md: Likewise.
2021 * m68hc11.h: Likewise.
2022 * rs6000.h: Likewise.
2025 * sparc.h: Likewise.
2029 * final.c: Likewise.
2031 * recog.c: Likewise.
2033 2001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2035 * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
2036 `bool' parameter to `int'.
2038 * hash.c (hash_lookup): Likewise.
2040 * hash.h (hash_lookup): Likewise.
2042 * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
2044 Fri May 4 13:10:03 CEST 2001 Jan Hubicka <jh@suse.cz>
2046 * i386.c (x86_initialize_trampoline): Fix mode of constant.
2048 2001-05-03 Geoff Keating <geoffk@redhat.com>
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.
2065 2001-05-04 Andreas Jaeger <aj@suse.de>
2067 * except.h: Add prototype declaration for
2068 expand_builtin_init_dwarf_reg_sizes.
2070 2001-05-03 Geoffrey Keating <geoffk@redhat.com>
2072 * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
2074 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2076 * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
2078 ("bitcmpqi2"): New pattern for bit-extract and test.
2079 ("bitcmphi"): New pattern for bitb/bita instructions.
2081 2001-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
2083 * gccbug.in: Use a temporary directory when the mktemp command is
2086 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2088 * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
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):
2097 2001-05-03 David O'Brien <obrien@FreeBSD.org>
2099 * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o
2100 and crtendS.o with PIC.
2102 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2104 * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
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.
2114 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
2129 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
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.
2145 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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
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
2157 (m68hc11_gen_movqi): Fix move for 68HC12.
2158 * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
2160 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2162 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
2163 and don't pass operands[0] to emit_library_call_value.
2165 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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
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.
2177 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
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.
2187 2001-05-03 David O'Brien <obrien@FreeBSD.org>
2189 * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include
2190 rs6000/rs6000.h twice.
2192 2001-05-03 Mark Elbrecht <snowball3@bigfoot.com>
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
2199 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
2201 2001-05-03 Alexandre Oliva <aoliva@redhat.com>
2203 * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
2205 2001-05-03 Mark Mitchell <mark@codesourcery.com>
2207 * integrate.h (struct inline_remap): Add leaf_reg_map table.
2208 * integrate.c (expand_inline_function): Use xcalloc to allocate
2210 (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
2213 2001-05-03 Mark Mitchell <mark@codesourcery.com>
2215 * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
2218 2001-05-03 Alexandre Oliva <aoliva@redhat.com>
2220 * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
2221 linker if -mrelax is given.
2222 (TARGET_SWITCHES): Document -mrelax.
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
2229 2001-05-02 David O'Brien <obrien@FreeBSD.org>
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.
2234 2001-05-02 Stan Shebs <shebs@apple.com>
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.
2247 2001-05-02 Jakub Jelinek <jakub@redhat.com>
2249 * tradcpp.c (do_define): Make sure we don't walk past limit.
2251 2000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2253 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
2254 offsets if not REG_OK_STRICT.
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.
2272 2001-05-02 David Edelsohn <edelsohn@gnu.org>
2274 * config/rs6000/rs6000.c (rs6000_emit_move): Merge
2275 special_constant conditional blocks together.
2277 2001-05-02 Dale Johannesen <dalej@apple.com>
2279 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
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
2287 Wed May 2 13:09:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2289 * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
2291 * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
2294 * expr.c (store_field): Do nothing except elaborate side-effects if
2297 2001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2299 * c-lex.c: NULL_PTR -> NULL.
2301 * emit-rtl.c: Likewise.
2303 * genpeep.c: Likewise.
2305 * mips-tdump.c: Likewise.
2306 * reload1.c: Likewise.
2307 * rtlanal.c: Likewise.
2309 * stor-layout.c: Likewise.
2310 * toplev.c: Likewise.
2312 2001-05-01 Per Bothner <per@bothner.com>
2314 * expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR,
2315 call do_pending_stack_adjust before emiting label.
2317 2001-05-01 Mark Mitchell <mark@codesourcery.com>
2319 * extend.texi: Fix typo.
2321 2001-05-01 Stan Shebs <shebs@apple.com>
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.
2331 2001-05-01 Jeffrey Oldham <oldham@codesourcery.com>
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.
2341 2001-05-01 Zack Weinberg <zackw@stanford.edu>
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.
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.
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.
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.
2364 * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
2367 24 x-host fragments remain, 0 x-cpu, 3 top level.
2369 2001-05-01 Zack Weinberg <zackw@stanford.edu>
2371 * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
2372 * configure: Regenerate.
2374 2001-05-01 Angela Marie Thomas <angela@cygnus.com>
2376 * Makefile.in (install-headers): Remove redundant dependency.
2378 2001-05-01 Nathan Sidwell <nathan@codesourcery.com>
2380 * c-tree.texi (USING_STMT): Document.
2382 2001-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
2392 * fold-const.c: Likewise.
2393 * function.c: Likewise.
2396 * integrate.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.
2405 * varasm.c: Likewise.
2407 2001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
2409 * diagnostic.def: New file.
2410 * diagnostic.h (diagnostic_t): New enum.
2411 * Makefile.in (diagnostic.o): Depend on diagnostic.def
2413 2001-04-30 Zack Weinberg <zackw@stanford.edu>
2415 * tsystem.h: Test only POSIX for availability of string.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
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*.
2427 2001-04-30 Zack Weinberg <zackw@stanford.edu>
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.
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
2439 * sdbout.c: Always include gsyms.h instead of system syms.h.
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.
2445 2001-04-30 Mark Mitchell <mark@codesourcery.com>
2446 Richard Henderson <rth@redhat.com>
2448 * extend.texi: Improve documentation of volatile asms.
2450 2001-04-30 Mark Mitchell <mark@codesourcery.com>
2452 * c-tree.texi: Fix thinko.
2453 * gcc.texi: Likewise.
2455 2001-04-30 Richard Henderson <rth@redhat.com>
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.
2466 2001-04-30 Jan Hubicka <jh@suse.cz>
2467 Richard Henderson <rth@redhat.com>
2469 * regmove.c (try_apply_stack_adjustment): Remove now redundant
2471 (combine_stack_adjustments_for_block): Don't combine stack
2472 allocation followed by deallocations. Handle grow-up stacks.
2474 2001-04-30 Mark Mitchell <mark@codesourcery.com>
2476 * fdl.texi: New file.
2477 * c-tree.texi: Use the GFDL.
2478 * gcc.texi: Likewise.
2480 2001-04-30 Stan Shebs <shebs@apple.com>
2482 * invoke.texi: Add a section documenting Objective-C options.
2484 2001-04-27 Andrew Haley <aph@cambridge.redhat.com>
2486 * emit-rtl.c (try_split): Copy EH notes to sequence.
2488 2001-04-30 Mark Mitchell <mark@codesourcery.com>
2490 * regmove.c (record_stack_memrefs): Catch all references to the
2493 2001-04-29 Toomas Rosin <toomas at ns dot tklabor dot ee>
2495 * Makefile.in (stmp-fixinc): quote shell assignment values
2497 2001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2499 * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
2503 * prefix.c: Likewise.
2505 2001-04-28 Stan Shebs <shebs@apple.com>
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.
2512 * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
2513 (NEXT_OBJC_RUNTIME): Define.
2515 Sat Apr 28 21:02:58 CEST 2001 Jan Hubicka <jh@suse.cz>
2517 * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
2518 * simplify-rtx.c (simplify_gen_relational): Likewise.
2520 * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
2522 * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
2523 * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
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.
2535 Sat Apr 28 10:36:23 2001 Jeffrey A Law (law@cygnus.com)
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
2547 2001-04-28 Martin Kalen <martin.kalen@todaysystems.com.au>
2549 * pa.c (FRP): Remove erroneous white space in macro definition.
2551 2001-04-28 Andreas Jaeger <aj@suse.de>
2553 * invoke.texi: Use XX-bit instead of XXbit or XX bit where
2555 * extend.texi: Likewise.
2556 * tm.texi: Likewise.
2558 2001-04-28 Andreas Jaeger <aj@suse.de>
2560 * md.texi: Use XX-bit instead of XXbit or XX bit where
2563 2001-04-28 Jens Schweikhardt <schweikh@schweikhardt.net>
2565 * gcc.c (process_command): Allow -l lib in addition to -llib
2566 for POSIX compliance. This fixes PR c/2347.
2568 * invoke.texi: Update section on Link Options accordingly.
2570 2001-04-27 Zack Weinberg <zackw@stanford.edu>
2572 * function.c (purge_addressof_1): Remove the duplicate
2573 if (code == SET) block. Fold the two if (code == ADDRESSOF)
2576 2001-04-28 Jason Merrill <jason_merrill@redhat.com>
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.
2586 2001-04-27 Jeffrey Oldham <oldham@codesourcery.com>
2588 * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
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.
2597 2001-04-27 Andreas Jaeger <aj@suse.de>
2598 Richard Henderson <rth@redhat.com>
2600 * md.texi (Machine Constraints): Document additional i386
2601 constraints and fix description of "A".
2603 Fri Apr 27 10:43:49 2001 Jeffrey A Law (law@cygnus.com)
2605 * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
2607 2001-04-27 Jason Merrill <jason_merrill@redhat.com>
2609 * except.c (get_exception_filter): word_mode, not Pmode.
2611 2001-04-26 Geoffrey Keating <geoffk@redhat.com>
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
2618 (movsf_high): Likewise.
2619 (movsf_high+1): Allow even for soft-float.
2621 * function.c (expand_function_end): Always clobber the
2622 return registers, even if there is no return label.
2624 Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz>
2626 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
2628 Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz>
2630 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
2631 (pushqi2_rex64, pushhi2_rex64): Add.
2633 2001-04-26 Andrew Haley <aph@cambridge.redhat.com>
2635 * except.c (expand_eh_region_end_cleanup): Force pending stack
2636 adjust before emitting label that branches around cleanup code.
2638 2001-04-26 H.J. Lu (hjl@gnu.org)
2640 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
2642 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
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.
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.
2684 2001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
2686 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
2687 assembler supports .p2align.
2689 2001-04-26 Nathan Sidwell <nathan@codesourcery.com>
2691 * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
2693 2001-04-26 Jakub Jelinek <jakub@redhat.com>
2695 * integrate.c (expand_inline_function): Check for error_mark_node
2698 2001-04-26 Jakub Jelinek <jakub@redhat.com>
2700 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
2703 2001-04-26 Alexandre Oliva <aoliva@redhat.com>
2705 * configure.in (configargs.h): Define thread_model.
2706 * configure: Rebuilt.
2707 * gcc.c (main): Print it with -v.
2709 2001-04-25 Joseph S. Myers <jsm28@cam.ac.uk>
2711 * invoke.texi: Document -Wmissing-braces, -dumpspecs,
2712 -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
2713 * gcc.1: Regenerate.
2715 2001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2717 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
2718 is_redundant_typedef): Use static inline instead of inline static.
2720 Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com>
2722 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
2723 this directory is always searched.
2725 2001-04-25 Richard Henderson <rth@redhat.com>
2727 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
2728 of registers to restore along non eh_return path.
2730 2001-04-25 Jakub Jelinek <jakub@redhat.com>
2732 * c-format.c (check_format_info_recurse): Handle
2733 PLUS_EXPR for format string.
2735 2001-04-25 Jakub Jelinek <jakub@redhat.com>
2737 * config/ia64/ia64.h (CC1_SPEC): Define.
2738 * config/ia64/linux.h (CC1_SPEC): Define.
2740 Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com>
2742 * emit-rtl.c (constant_subword): Also do sign extension in
2743 BITS_PER_WORD == 16 case.
2745 2001-04-25 Jason Merrill <jason_merrill@redhat.com>
2747 * loop.c (try_swap_copy_prop): Go back to checking insn.
2749 2001-04-25 Jakub Jelinek <jakub@redhat.com>
2751 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
2752 if check_mode is non-zero.
2754 2001-04-25 Jakub Jelinek <jakub@redhat.com>
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.
2760 2001-04-24 Zack Weinberg <zackw@stanford.edu>
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.
2769 2001-04-24 Jason Merrill <jason_merrill@redhat.com>
2771 * except.c (reachable_handlers): Step out one level from a RESX.
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
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.
2787 2001-04-24 Nathan Sidwell <nathan@codesourcery.com>
2789 * c-semantics.c (add_scope_stmt): Don't call
2790 current_scope_stmt_stack multiple times.
2792 2001-04-24 Zack Weinberg <zackw@stanford.edu>
2793 Nathan Sidwell <nathan@codesourcery.com>
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
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):
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.
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.
2843 2001-04-24 Nick Clifton <nickc@cambridge.redhat.com>
2845 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
2846 constant pool, use the pool's SYMBOL_REF instead.
2848 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
2851 2001-04-23 Joseph S. Myers <jsm28@cam.ac.uk>
2853 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
2854 passing nested NOP_EXPRs to fold.
2856 Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz>
2858 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
2860 2001-04-22 Mark Mitchell <mark@codesourcery.com>
2862 * loop.c (loop_delete_insns): Add prototype.
2864 2001-04-23 Phil Edwards <pme@sources.redhat.com>
2866 * configure.in: Remove ENABLE_STD_NAMESPACE.
2867 * config.in: Regenerated.
2868 * configure: Regenerated.
2870 2001-04-22 Stan Shebs <shebs@apple.com>
2872 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
2874 * config/rs6000/xm-darwin.h: Remove file.
2876 2001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2878 * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
2879 (write_c_file_stat): Likewise.
2881 * dbxout.c (dbxout_init): Likewise.
2883 * profile.c (output_func_start_profiler): Likewise.
2885 2001-04-22 Philipp Thomas <pthomas@suse.de>
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.
2892 2001-04-21 Mark Mitchell <mark@codesourcery.com>
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.
2902 2001-04-21 Kazu Hirata <kazu@hxi.com>
2904 * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
2906 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
2908 * config/i960/i960.c (signed_arith_operand): Likewise.
2910 * calls.c (expand_call): Fix a comment typo.
2912 2001-04-20 Zack Weinberg <zackw@stanford.edu>
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.
2919 Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com)
2921 * config/pa/som.h (NM_FLAGS): Define.
2923 2001-04-20 Bernd Schmidt <bernds@redhat.com>
2925 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
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.
2936 2001-04-20 Alexandre Oliva <aoliva@redhat.com>
2938 * config/i386/i386.c (ix86_expand_int_movcc,
2939 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
2941 2001-04-20 Geoff Keating <geoffk@redhat.com>
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>.
2950 2001-04-20 Jakub Jelinek <jakub@redhat.com>
2952 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
2953 "=u" is used together with "st" resp. "st(1)" clobber.
2955 2001-04-20 Jakub Jelinek <jakub@redhat.com>
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
2964 2001-04-19 Zack Weinberg <zackw@stanford.edu>
2966 * toplev.c: Excise all code for the undocumented -dm option.
2967 (float_signal): Call signal just once, unconditionally.
2969 2001-04-19 Geoff Keating <geoffk@redhat.com>
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.
2975 Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com)
2977 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
2978 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
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$).
2986 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
2989 2001-04-19 DJ Delorie <dj@redhat.com>
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.
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.
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
3015 (process_command): Likewise.
3016 (do_spec_1): Likewise.
3017 * java/lang.c (init_parse): Likewise.
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.
3024 2001-04-19 Mark Mitchell <mark@codesourcery.com>
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.
3030 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
3031 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
3033 * mips.md (reload_outputdi): Require that operand0 be a
3036 2001-04-19 Jakub Jelinek <jakub@redhat.com>
3038 * invoke.texi (-Wshadow): Clarify.
3040 2001-04-18 Mark Mitchell <mark@codesourcery.com>
3042 * loop.c (load_mems): Examine all the instructions in the loop
3043 before concluding that all jumps branch to the first instruction
3046 Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com>
3048 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
3050 2001-04-18 Jakub Jelinek <jakub@redhat.com>
3052 * cpp.texi (-Wwhite-space): Remove.
3053 (-Wall): -Wall does not imply -Wwhite-space.
3055 2001-04-17 Zack Weinberg <zackw@stanford.edu>
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
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.
3066 Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com)
3068 * jump.c (mark_all_labels): Canonicalize the tail recursion
3069 label attached to CALL_PLACEHOLDER insns.
3071 2001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3073 * output.h (dump_flow_info, free_basic_block_vars,
3074 which_alternative): Delete redundant prototypes.
3076 * rtl.h (bss_section): Likewise.
3078 2001-04-17 Loren J. Rittle <ljrittle@acm.org>
3080 * dbxout.c (N_OPT): Define if not available from <stab.h>
3082 2001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
3084 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
3085 libraries and native K&R compilers.
3087 2001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3089 * c-typeck.c (convert_arguments): Don't check for width changes
3092 * invoke.texi (-Wtraditional): Update documentation.
3094 2001-04-16 Zack Weinberg <zackw@stanford.edu>
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.
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."
3106 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
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.
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.
3133 * config/avr/avr.h, config/vax/vax.h: Delete definition of
3134 ASM_IDENTIFY_GCC and move part of its logic into
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
3141 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
3142 (output_file_start): Correct comment.
3144 * config/i386/osfrose.h: Don't emit trailing .ident directive.
3145 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
3147 * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
3148 * config/rs6000/aix.h: Correct comment.
3150 * config/i386/i386afe.h: Delete.
3151 * config.gcc: Remove references to i386afe.h.
3153 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The
3154 other macros deleted by this patch were undocumented.
3156 Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com)
3158 * pa.md (reload_outdi): Operand 0 must be a non hard register.
3160 * pa.c (secondary_reload_class): SAR<->FP copies require a
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.
3168 2001-04-15 Toon Moene <toon@moene.indiv.nluug.nl>
3170 * i386.md (sqrtdf2): SFmode should be DFmode.
3172 2001-04-15 Alexandre Oliva <aoliva@redhat.com>
3174 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
3175 (find_moveable_store): Likewise.
3177 2001-04-15 Jim Wilson <wilson@redhat.com>
3179 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
3181 Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz>
3183 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
3184 (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
3186 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
3188 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
3191 2001-04-14 Alan Modra <amodra@one.net.au>
3193 * pa.c (force_mode): New function.
3194 (emit_move_sequence): Use it instead of generating new rtx_REGs.
3196 2001-04-13 Jim Wilson <wilson@redhat.com>
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.
3207 Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org>
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
3215 2001-04-13 Alan Modra <alan@linuxcare.com.au>
3217 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
3220 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3222 * Makefile.in (reg-stack.o): Depend on reload.h.
3223 (insn-attrtab.o): Depend on flags.h.
3225 * genattrtab (main): Include flags.h in insn-attrtab.c.
3227 * reg-stack.c: Include reload.h.
3229 * sparc.h (flag_pic): Delete redundant declaration.
3231 * output.h (flag_pic): Likewise.
3233 * tree.h (pedantic): Likewise.
3235 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3237 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
3239 * jump.c, regmove.c, toplev.c: Include reload.h.
3241 * reload.h (reload_cse_regs): Declare.
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.
3247 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3249 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
3251 * regclass.c, ssa.c: Include expr.h.
3253 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
3254 gen_move_insn): Delete redundant declarations.
3256 2001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
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.
3263 2001-04-13 Alan Modra <amodra@one.net.au>
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.
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
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.
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.
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.
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.
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.
3343 Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com)
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.
3349 2001-04-12 Richard Henderson <rth@redhat.com>
3351 * Makefile.in (regmove.o): Depend on except.h.
3352 * regmove.c: Include it.
3354 2001-04-12 Stan Shebs <shebs@apple.com>
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.
3361 Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
3363 * config/pa/quadlib.c: Add prototypes.
3365 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3367 * bitmap.h (debug_bitmap): Delete redundant prototype.
3369 * rtl.h (get_frame_size): Likewise.
3371 2001-04-12 Jim Wilson <wilson@redhat.com>
3373 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
3374 to just emit an fnorm.
3376 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3378 * c-common.h (truthvalue_conversion, type_for_mode,
3379 type_for_size): Delete redundant declarations.
3381 * c-lex.h (is_class_name): Likewise.
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.
3390 * expr.h (expand_tree_builtin): Likewise.
3392 2001-04-12 Mark Mitchell <mark@codesourcery.com>
3394 * invoke.texi: Document --param max-gcse-memory.
3396 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3398 * configure.in (errno): Check for declaration.
3399 * configure, config.in: Regenerated.
3401 * system.h (errno): Only declare if not already done.
3403 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
3405 * recog.c (general_operand, immediate_operand,
3406 nonmemory_operand): Require CONST_INTs to be sign-extended
3407 values for their modes.
3409 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
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
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
3421 (expand_end_case): Convert minval and range to the appropriate
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
3429 2001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp>
3431 * sh.md (builtin_setjmp_receiver): New expander.
3433 2001-04-12 David Edelsohn <dje@watson.ibm.com>
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.
3439 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
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
3447 (movsf split, movdf split): Sign-extend CONST_INTs.
3448 (movdi splits): Likewise.
3450 2001-04-12 Kelley Cook <kelley.cook@home.com>
3452 * config-lang.in (lang_dirs): Add in zlib.
3454 2001-04-11 Alexandre Oliva <aoliva@redhat.com>
3456 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
3457 operands that make it to RTL.
3459 2001-04-11 Stan Shebs <shebs@apple.com>
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
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.
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):
3506 (machopic_output_stub): Ditto.
3507 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
3509 2001-04-11 Mark Mitchell <mark@codesourcery.com>
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.
3517 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3519 * cpp.texi (-Wtraditional): Update description.
3521 * invoke.texi (-Wtraditional): Likewise.
3523 2001-04-11 Jim Wilson <wilson@redhat.com>
3525 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
3526 requires more than 64 bits of alignment.
3528 2001-04-11 Neil Booth <neil@daikokuya.demon.co.uk>
3530 * cpplib.c (do_line): Sanity check iff enable checking.
3532 2001-04-11 Richard Henderson <rth@redhat.com>
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.
3539 2001-04-11 Mark Mitchell <mark@codesourcery.com>
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
3545 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter.
3546 * params.h (MAX_GCSE_MEMORY): New macro.
3548 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3550 * Makefile.in (insn-output.o): Depend on $(EXPR_H).
3552 * genoutput.c (output_prologue): Include expr.h in insn-output.c.
3554 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3556 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
3558 * real.h (ereal_atof, real_value_truncate, target_isnan,
3559 target_isinf, target_negative, assemble_real, debug_real): Delete
3560 redundant prototypes.
3562 * Makefile.in (ifcvt.o): Depend on toplev.h.
3564 * c-semantics.c: Include expr.h.
3566 * ifcvt.c: Include toplev.h.
3568 * expr.h (rtx_equal_p): Delete prototype.
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):
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.
3581 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
3583 * sparc-protos.h: Delete redundant prototypes.
3585 2001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
3587 * reload.c (push_reload): Add condition missed in SUBREG byte
3590 Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3592 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
3594 Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz>
3596 * i386.md (floatsisf_sse): Fix output template
3597 * i386.c (ix86_expand_fp_movcc)
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.
3603 2001-04-11 Jakub Jelinek <jakub@redhat.com>
3605 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
3607 2001-04-10 Richard Henderson <rth@redhat.com>
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.
3617 2001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
3623 * invoke.texi (-Wtraditional): Document it.
3625 Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
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.
3631 2001-04-10 Andrew MacLeod <amacleod@redhat.com>
3633 * function.c (purge_single_hard_subreg_set): Only check REGNO if
3634 the subreg was a hard register. Pseudos are left as subregs.
3636 2001-04-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
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.
3644 2001-04-09 Bo Thorsen <bo@suse.co.uk>
3646 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
3648 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
3650 * output.h (set_block_num): Missed it earlier, remove deprecated
3653 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
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.
3686 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
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.
3700 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
3701 Jeff Law <law@redhat.com>
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
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.
3766 Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz>
3768 * i386.c (expand_fp_movcc): Fix condition reversal code.
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.
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.
3778 2001-04-05 Bernd Schmidt <bernds@redhat.com>
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.
3785 Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz>
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.
3795 2001-04-09 Richard Sandiford <rsandifo@redhat.com>
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.
3805 Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz>
3807 * i386.c (call, call_value): Make sure that resulting call_insn
3808 does have proper second operand.
3810 Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com>
3812 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
3813 function. Remove include of sys/cygwin.h.
3815 Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com>
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.
3822 2001-04-08 Philip Blundell <philb@gnu.org>
3824 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
3826 2001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
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.
3834 2001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
3836 * mbchar.c: Include config.h first.
3838 2001-04-07 Zack Weinberg <zackw@stanford.edu>
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
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:
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.
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.
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.
3877 38 x-host fragments remain, 2 x-cpu.
3879 2001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3881 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
3883 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3885 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
3887 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
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 '/'.
3900 2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
3902 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3903 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3905 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
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.
3915 2001-04-05 DJ Delorie <dj@redhat.com>
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.
3923 Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz>
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.
3930 Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz>
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.
3939 Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz>
3941 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
3943 Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz>
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.
3961 2001-04-05 Bo Thorsen <bo@suse.de>
3963 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
3965 Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com>
3967 * i386.md (*andsi_1+3): If used after reload, make sure the operand
3968 satisfies ANY_QI_REG_P.
3970 2001-04-05 Bernd Schmidt <bernds@redhat.com>
3972 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
3975 * sched-deps.c (sched_analyze_insn): Revert more of the March 27
3978 2001-04-04 Zack Weinberg <zackw@stanford.edu>
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.
3989 2001-04-04 Diego Novillo <dnovillo@redhat.com>
3991 * simplify-rtx.c (simplify_binary_operation): Check for overflow
3992 when folding integer division and modulo operations.
3994 2001-04-04 Andrew MacLeod <amacleod@redhat.com>
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
4001 2001-04-04 Richard Henderson <rth@redhat.com>
4003 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
4004 * config/ia64/t-glibc (LIB2ADDEH): Disable.
4005 * config/ia64/t-ia64 (LIB2ADDEH): Disable.
4007 2001-04-04 Richard Henderson <rth@redhat.com>
4009 * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
4010 * configure: Rebuilt.
4012 2001-04-04 Jakub Jelinek <jakub@redhat.com>
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.
4019 2001-04-04 Richard Henderson <rth@redhat.com>
4021 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
4022 * configure: Rebuilt.
4024 2001-04-04 Zack Weinberg <zackw@stanford.edu>
4026 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
4027 * config/romp/xm-romp.h: Delete.
4029 2001-04-04 Bernd Schmidt <bernds@redhat.com>
4031 * sched-deps.c (sched_analyze_insn): Partially revert March 27
4034 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
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.
4040 2001-04-04 Jakub Jelinek <jakub@redhat.com>
4042 * recog.c (validate_replace_rtx_1): Instead of aborting just make
4043 sure the change won't be validated.
4045 Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com)
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.
4055 2001-04-04 Alan Modra <alan@linuxcare.com.au>
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.
4064 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.