Phil Edwards [Wed, 25 Oct 2000 16:54:47 +0000 (16:54 +0000)]
configure.in: Check for gconv.h.
2000-10-25 Phil Edwards <pme@sources.redhat.com>
* configure.in: Check for gconv.h.
* libio/wfileops.c: Wrap gconv.h in HAVE_GCONV_H.
* config/c_io_libio_codecvt.c: Change __mbstate_t to __c_mbstate_t.
* libio/_G_config.h: And here.
* libio/iofwide.c: And here.
* libio/libio.h: And here.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Remove
exception specification to match declaration.
* include/bits/locale_facets.tcc: Include bits/std_clocale.h.
Benjamin Kosnik [Wed, 25 Oct 2000 12:50:06 +0000 (12:50 +0000)]
acconfig.h: List _GLIBCPP_USE_THREADS.
2000-10-24 Phil Edwards <pme@sources.redhat.com>
* acconfig.h: List _GLIBCPP_USE_THREADS.
* acinclude.m4: General formatting cleanup (tabs/spaces), typo
correction, etc. Add comments about following *real* changes
where they are used.
(GLIBCPP_ENABLE_C_MBCHAR): New test...
(GLIBCPP_CHECK_WCHAR_T_SUPPORT): ...results used here.
(GLIBCPP_ENABLE_CSTDIO): Define need_wlibio iff wide characters
are requested.
(GLIBCPP_ENABLE_THREADS): If threads are used, define new
macro _GLIBCPP_USE_THREADS in c++config.h.
(GLIBCPP_ENABLE_SHADOW): For C_INCLUDE_DIR, change () to {} as
this is used in both makefiles and shell scripts (mkcheck).
* configure.in: Call GLIBCPP_ENABLE_C_MBCHAR.
* libio/_G_config.h: Wrap _IO_MTSAFE_IO in _GLIBCPP_USE_THREADS.
* config/c_io_libio.h: In nonthreaded case, typedef __c_lock to
something harmless, like int.
* parse.y (register_incomplete_type): Include JDEP_FIELD as a case
where an enclosing context can be set on the jdep.
(do_resolve_class): Fixed identation.
Jim Wilson [Wed, 25 Oct 2000 01:30:25 +0000 (01:30 +0000)]
Fixes for C++ structure layout breakage.
* expmed.c (store_bit_field): Move integer pun code down after
code that calls emit_move_insn for entire register move.
* stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE.
* src/Makefile.am (c_shadow_headers): Add features.h,
bits/wrap_features.h.
* src/Makefile.in: Regenerate.
* include/c_std/features.h: New file.
* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
file. Need to have c++config.h included before this file so
_ISOC99_SOURCE around.
* include/c_std/sys/cdefs.h: Hack.
* include/c_std/stdlib.h: Same, use c++config.h.
* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
* include/c_std/bits/std_cassert.h: Fix.
* include/c_std/bits/std_cerrno.h: Make consistent.
* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
declaration from ::_C_legacy to _C_legacy.
* include/c_std/bits/std_cstdio.h: same with printf.
* include/c_std/stdio.h: And here.
* include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here.
* src/Makefile.am (c_shadow_headers): Add features.h,
bits/wrap_features.h.
* src/Makefile.in: Regenerate.
* include/c_std/features.h: New file.
* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
file. Need to have c++config.h included before this file so
_ISOC99_SOURCE around.
* include/c_std/sys/cdefs.h: Hack.
* include/c_std/stdlib.h: Same, use c++config.h.
* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.
* include/c_std/bits/std_cassert.h: Fix.
* include/c_std/bits/std_cerrno.h: Make consistent.
* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
declaration from ::_C_legacy to _C_legacy.
* include/c_std/bits/std_cstdio.h: same with printf.
* include/c_std/stdio.h: And here.
* include/c_std/bits/std_cstdlib.h: abort, exit comment.
* include/c_std/stdlib.h: Same here.
Philipp Thomas [Tue, 24 Oct 2000 04:00:07 +0000 (04:00 +0000)]
Makefile.in (check-po): New target for doing checks in the po subdir if all languages configured.
2000-10-24 Philipp Thomas <pthomas@suse.de>
* Makefile.in (check-po): New target for doing checks in the po
subdir if all languages configured.
(CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
configure if NLS is enabled.
* configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
otherwise leave empty.
* configure: Regenerate.
alpha.md: Add names for all unnamed insns; use define_insn_and_split in some obvious places.
* config/alpha/alpha.md: Add names for all unnamed insns; use
define_insn_and_split in some obvious places.
(lda): Remove.
(zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
(zero_extendqisi2, zero_extendqidi2): Likewise.
(zero_extendhisi2, zero_extendhidi2): Likewise.
(abs splitters): Fix match_scratch operand number.
(bcc_reverse): Swap pc & label instead of non-canonical compare.
Geoff Keating [Mon, 23 Oct 2000 18:45:15 +0000 (18:45 +0000)]
reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can overwrite the value in a RELOAD_FOR_INPUT and other kinds of...
* reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
overwrite the value in a RELOAD_FOR_INPUT and other kinds of
reloads just like an RELOAD_FOR_OUTPUT would.
Mark Mitchell [Sun, 22 Oct 2000 17:50:28 +0000 (17:50 +0000)]
tree.h (TYPE_IS_SIZETYPE): Add more documentation.
* tree.h (TYPE_IS_SIZETYPE): Add more documentation.
* typeck.c (c_sizeof): Return an expression of `size_t' type,
not one with TYPE_IS_SIZETYPE set.
(dubious_conversion_warnings): Remove special-case code.
* Makefile.am: Added rules for libgcjx library.
* Makefile.in: Rebuilt.
* configure.in: Added check for X.
* configure: Rebuilt.
* gnu/awt/LightweightRedirector.java: New file.
* gnu/awt/j2d/AbstractGraphicsState.java: New file.
* gnu/awt/j2d/DirectRasterGraphics.java: New file.
* gnu/awt/j2d/Graphics2DImpl.java: New file.
* gnu/awt/j2d/IntegerGraphicsState.java: New file.
* gnu/awt/j2d/MappedRaster.java: New file.
* gnu/awt/xlib/XCanvasPeer.java: New file.
* gnu/awt/xlib/XEventLoop.java: New file.
* gnu/awt/xlib/XEventQueue.java: New file.
* gnu/awt/xlib/XFontMetrics.java: New file.
* gnu/awt/xlib/XFramePeer.java: New file.
* gnu/awt/xlib/XGraphics.java: New file.
* gnu/awt/xlib/XGraphicsConfiguration.java: New file.
* gnu/awt/xlib/XPanelPeer.java: New file.
* gnu/awt/xlib/XToolkit.java: New file.
* gnu/gcj/xlib/Clip.java: New file.
* gnu/gcj/xlib/Colormap.java: New file.
* gnu/gcj/xlib/Display.java: New file.
* gnu/gcj/xlib/Drawable.java: New file.
* gnu/gcj/xlib/Font.java: New file.
* gnu/gcj/xlib/GC.java: New file.
* gnu/gcj/xlib/Pixmap.java: New file.
* gnu/gcj/xlib/Screen.java: New file.
* gnu/gcj/xlib/Visual.java: New file.
* gnu/gcj/xlib/WMSizeHints.java: New file.
* gnu/gcj/xlib/Window.java: New file.
* gnu/gcj/xlib/WindowAttributes.java: New file.
* gnu/gcj/xlib/XAnyEvent.java: New file.
* gnu/gcj/xlib/XButtonEvent.java: New file.
* gnu/gcj/xlib/XColor.java: New file.
* gnu/gcj/xlib/XConfigureEvent.java: New file.
* gnu/gcj/xlib/XConnectException.java: New file.
* gnu/gcj/xlib/XEvent.java: New file.
* gnu/gcj/xlib/XException.java: New file.
* gnu/gcj/xlib/XExposeEvent.java: New file.
* gnu/gcj/xlib/XID.java: New file.
* gnu/gcj/xlib/XImage.java: New file.
* gnu/gcj/xlib/XUnmapEvent.java: New file.
* gnu/gcj/xlib/natClip.cc: New file.
* gnu/gcj/xlib/natColormap.cc: New file.
* gnu/gcj/xlib/natDisplay.cc: New file.
* gnu/gcj/xlib/natDrawable.cc: New file.
* gnu/gcj/xlib/natFont.cc: New file.
* gnu/gcj/xlib/natGC.cc: New file.
* gnu/gcj/xlib/natPixmap.cc: New file.
* gnu/gcj/xlib/natScreen.cc: New file.
* gnu/gcj/xlib/natVisual.cc: New file.
* gnu/gcj/xlib/natWMSizeHints.cc: New file.
* gnu/gcj/xlib/natWindow.cc: New file.
* gnu/gcj/xlib/natWindowAttributes.cc: New file.
* gnu/gcj/xlib/natXAnyEvent.cc: New file.
* gnu/gcj/xlib/natXButtonEvent.cc: New file.
* gnu/gcj/xlib/natXColor.cc: New file.
* gnu/gcj/xlib/natXConfigureEvent.cc: New file.
* gnu/gcj/xlib/natXException.cc: New file.
* gnu/gcj/xlib/natXExposeEvent.cc: New file.
* gnu/gcj/xlib/natXImage.cc: New file.
* gnu/gcj/xlib/natXUnmapEvent.cc: New file.
* java/awt/EventDispatchThread.java: Start thead on creation.
Jason Merrill [Sat, 21 Oct 2000 21:44:04 +0000 (17:44 -0400)]
parse.y (operator): Set got_object from got_scope.
* parse.y (operator): Set got_object from got_scope.
Set looking_for_typename.
* decl.c (lookup_name_real): Clear val after setting from_obj.
Reorganize diagnostic.
Philipp Thomas [Sat, 21 Oct 2000 19:04:38 +0000 (19:04 +0000)]
POTFILES.in: Remove config/rs6000/netware.h.
2000-10-21 Philipp Thomas <pthomas@suse.de>
* POTFILES.in: Remove config/rs6000/netware.h.
Remove the files moved out of libgcc and over
to libsupc++.
* Makefile.in.in (stamp-check-pot): Rename to stamp-check-po.
(check-po): New, more intuitive target to check POTFILES.in
for consistency.
Joseph Myers [Sat, 21 Oct 2000 00:51:50 +0000 (01:51 +0100)]
configopts.html, [...]: Remove many EGCS references...
* docs/configopts.html, docs/install.html, docs/17_intro/BADNAMES,
docs/17_intro/howto.html, docs/18_support/howto.html,
docs/19_diagnostics/howto.html, docs/20_util/howto.html,
docs/21_strings/howto.html, docs/22_locale/howto.html,
docs/23_containers/howto.html, docs/24_iterators/howto.html,
docs/25_algorithms/howto.html, docs/26_numerics/howto.html,
docs/27_io/howto.html, docs/ext/howto.html, docs/faq/index.html:
Remove many EGCS references; use current absolute URLs on
gcc.gnu.org or sources.redhat.com for messages in list archives.
* docs/faq/index.txt: Regenerate.
Tom Tromey [Fri, 20 Oct 2000 21:21:37 +0000 (21:21 +0000)]
Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am: Include deps.mk.
(GCJCOMPILE): Added -MD, -MT, and -MF.
($(javao_files)): Don't depend on libgcj.zip.
(all-recursive): New target.
(%.lo:%.cc): Do dependency tracking.
($(nat_headers)): Don't depend on libgcj.zip.
* configure: Rebuilt.
* configure.in: Make .d files and deps.mk.
Richard Kenner [Fri, 20 Oct 2000 20:57:21 +0000 (20:57 +0000)]
expr.c (expand_expr, [...]): Set RTX_UNCHANGING_P on returned MEM.
* expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
returned MEM.
(expand_expr_unaligned, case ARRAY_REF): Check that index is
a constant before comparing it; use tree_low_cst.
* tree.c (save_expr): Set TREE_READONLY.
(substitute_expr): Return inside of NON_LVALUE_EXPR.
(build, build1): Set TREE_READONLY if all operands are.
(build_index_type): If upper bound is a negative number, lower
bound is zero and sizetype is unsigned, use upper bound of one and
lower of zero.
Richard Kenner [Fri, 20 Oct 2000 19:42:40 +0000 (19:42 +0000)]
stor-layout.c (compute_record_mode): Use tree_low_cst.
* stor-layout.c (compute_record_mode): Use tree_low_cst.
Don't use mode of field for record unless sizes are the same.
(layout_type, case ARRAY_TYPE): Remove special bounds handling
previously added for Ada; also change to using host_integerp
and tree_low_cst.
Richard Kenner [Fri, 20 Oct 2000 19:37:14 +0000 (19:37 +0000)]
loop.c (strength_reduce): Show when new register made for giv is known to be a pointer and its aligment if...
* loop.c (strength_reduce): Show when new register made for
giv is known to be a pointer and its aligment if so and known.
(loop_dump_aux): Show VERBOSE parameter unused.
Richard Kenner [Fri, 20 Oct 2000 17:51:52 +0000 (17:51 +0000)]
fold-const.c (force_fit_type): Unsigned values can overflow if they are sizetype.
* fold-const.c (force_fit_type): Unsigned values can overflow
if they are sizetype.
(int_const_binop): Don't use cache if overflows.
* cp/typeck.c (dubious_conversion_warning): Suppress if
TYPE_IS_SIZETYPE.
Richard Kenner [Fri, 20 Oct 2000 17:28:28 +0000 (17:28 +0000)]
combine.c (struct undo): Change int to unsigned int.
* combine.c (struct undo): Change int to unsigned int.
(do_SUBST_INT): Args are unsigned int.
(make_extraction, force_to_mode): Use proper type when forming mask.
(make_field_assignment): Likewise.
* c-common.c (check_format_info_recurse): Extract string constant
initializers from non-volatile constant arrays and check them as
formats.
* c-typeck.c (decl_constant_value): Don't check pedantic or check
for DECL_MODE (decl) != BLKmode.
(decl_constant_value_for_broken_optimization): New function which
includes these checks.
(default_conversion, convert_for_assignment, digest_init): Use
decl_constant_value_for_broken_optimization instead of
decl_constant_value.
* config/avr/avr-protos.h (avr_output_bld): New.
(out_shift_with_cnt): Add t_len argument.
* config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
(output_movqi, output_movhi, output_movsisf): Optimize loading
any constant with exactly one bit set to NO_LD_REGS.
(out_shift_with_cnt): Optimize output code for size or speed,
depending on optimize_size. Handle small shift counts as well
(if not hand-optimized in ?sh??i3_out). Shifts can be done
with or without a scratch register, with help of __tmp_reg__
or __zero_reg__ if necessary. Add T_LEN argument to pass the
length of TEMPLATE in words, return total insn length in *LEN.
(ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
out_shift_with_cnt to work with the above change.
(ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
lshrsi3_out): Likewise. Optimize more known shift count cases.
Remove cases already well optimized in out_shift_with_cnt.
(avr_output_bld): New function.
* config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
(TARGET_SWITCHES): Remove -mpack-args backward compatibility.
* config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
Add reload_completed to insn condition - only for peepholes.
(ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
in a register or memory.
(ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
Do not require a scratch register.
(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
*lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
Optimize shifts by known count using a scratch register, but only
if one is still available after register allocation.
Benjamin Kosnik [Fri, 20 Oct 2000 06:52:00 +0000 (06:52 +0000)]
codecvt_unicode_char.cc (test01): Adjust creation of state_type for unicode_codecvt to take into account the byte...
2000-10-19 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* testsuite/22_locale/codecvt_unicode_char.cc (test01): Adjust
creation of state_type for unicode_codecvt to take into account
the byte order markings. Add distinct tests for UCS-2BE and UCS-2LE.
* testsuite/22_locale/codecvt_unicode_wchar_t.cc (test01): Same.
* include/bits/codecvt.h (__enc_traits): Add support for encodings
that need a byte order marker. Needed for correct unicode support.
* src/locale.cc: Remove explicit qualification std::.
(locale::locale(const char* __name)): Revert, as named locale
support not finished.
* src/localename.cc (locale::_Impl:: _Impl(size_t __numfacets,
size_t __refs, bool __has_name = false, string __name): Move
default argument...
* include/bits/localefwd.h: Here.
Mark Mitchell [Fri, 20 Oct 2000 06:04:59 +0000 (06:04 +0000)]
class.c (subobject_offset_fn): New type.
* class.c (subobject_offset_fn): New type.
(dfs_record_base_offsets): Remove.
(record_base_offsets): Likewise.
(dfs_search_base_offsets): Likewise.
(record_subobject_offset): New function.
(check_subobject_offset): Likewise.
(walk_subobject_offsets): Likewise.
(record_subobject_offsets): Likewise.
(layout_conflict_p): Reimplement.
(layout_nonempty_base_or_field): Correct handling of type
conflicts during layout.
(layout_empty_base): Likewise.
(build_base_field): Adjust to handle new representation of empty
base offset table.
(build_base_fields): Likewise.
(layout_virtual_bases): Likewise.
(splay_tree_compare_integer_csts): New function.
(layout_class_type): Use a splay_tree, rather than a varray, to
represent the offsets of empty bases.
John Wehle [Fri, 20 Oct 2000 04:56:21 +0000 (04:56 +0000)]
alias.c: (mark_constant_function): Don't check pure functions.
* alias.c: (mark_constant_function): Don't check pure functions.
Initialize and end alias analysis.
(nonlocal_mentioned_p): Rename from nonlocal_reference_p.
Don't make a special exception for recursion. Handle
UNSPEC_VOLATILE. Don't assume ASM_OPERANDS is non-local
unless it's volatile.
* local-alloc.c (equivalence): New structure.
(reg_equiv): Define.
(contains_replace_regs): Remove array and use
field in reg_equiv.
(memref_referenced_p): Likewise.
(no_equiv): Likewise.
(update_equiv_regs): Likewise.
(equiv_init_varies_p,
equiv_init_movable_p): New functions.
(update_equiv_regs): Use them. Use rtx_varies_p
instead of function_invariant_p. Process insns
from end to beginning. Allow a REG_EQUIV insn
within the same loop as a use to be moved, also
allow it to be moved out of a loop. Update
REG_DEAD notes when substituting into an insn.
Jim Wilson [Fri, 20 Oct 2000 00:58:35 +0000 (00:58 +0000)]
Fix tree-checking abort on testcase with undefined macro as array size.
* c-decl.c (start_decl): Check for error_mark_node type before using
COMPLETE_TYPE_P.
(finish_decl): Likewise. Don't give an error if decl type is
already error_mark_node.
Jim Wilson [Thu, 19 Oct 2000 23:21:14 +0000 (23:21 +0000)]
Fix ICE on lex output file reported by Andreas Schwab.
* haifa-sched.c (compute_trg_info): Add explanatory comments.
New local update_blocks. Use update_blocks to remove duplicates
when computing update blocks. Check for bblst_table overflow.
(schedule_block): Add explanatory comment. Reduce bblst_size by
factor of 2.
* config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
notes.