6e5d72baac
8 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Paolo Carlini
|
bbacb998c8 |
re PR libstdc++/9533 (Can't read from tty with ifstream)
2003-03-28 Paolo Carlini <pcarlini@unitus.it> Nathan Myers <ncm@cantrip.org> PR libstdc++/9533 * include/bits/fstream.tcc (basic_filebuf<>::open): Don't call underflow(). (basic_filebuf<>::showmanyc): Use the information provided by codecvt and __basic_file<>::showmanyc_helper to implement a non-trivial showmanyc. * config/io/basic_file_stdio.h (__basic_file<>::showmanyc_helper): New, declare. * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc_helper): Define. (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK. (__basic_file<char>::open): Don't call fcntl(). * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG, GLIBCPP_CHECK_POLL): New macros. * configure.in: Call here. * acconfig.h: Add #undefs for the corresponding symbols. * aclocal.m4: Regenerate. * configure: Regenerate. * config.h.in: Regenerate. Co-Authored-By: Nathan Myers <ncm@cantrip.org> From-SVN: r64978 |
||
Paolo Carlini
|
95dca20c9c |
re PR libstdc++/7744 (streambuf::in_avail() always returns 0 (zero) for cin input stream)
2003-03-09 Paolo Carlini <pcarlini@unitus.it> Nathan Myers <ncm@cantrip.org> PR libstdc++/7744 * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn, seekoff, seekpos): Add a boolean parameter __stdio. * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn, seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell, fseek/ftell, respectively), otherwise read (write, lseek, lseek, respectively). * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external, _M_really_overflow, seekoff): Use the boolean parameter in the calls. * include/std/std_fstream.h (sync): Likewise. * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise. * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert libstdc++/8399 commit involving isatty(0). * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove. (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove * configure.in: Remove call. * aclocal.m4: Regenerate. * config.h.in: Regenerate. * configure: Regenerate. * testsuite/27_io/narrow_stream_objects.cc (test11): Add. Co-Authored-By: Nathan Myers <ncm@cantrip.org> From-SVN: r64051 |
||
Benjamin Kosnik
|
5cdd50a591 |
stdio_filebuf.h: New file.
2002-04-30 Benjamin Kosnik <bkoz@redhat.com> * include/ext/stdio_filebuf.h: New file. * include/ext/enc_filebuf.h: New file. * config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor. * config/io/basic_file_stdio.cc: Same. * include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer): Remove _M_unbuf hacks. (filebuf::_M_destroy_internal_buffer): Same. (filebuf::filebuf(cfile, openmode, int_type): Remove definition. (filebuf::fd): Remove. * include/std/std_fstream.h (filebuf::_M_unbuf): Remove. (filebuf::filebuf(__c_file*, openmode, int_type)): Remove. (filebuf::fd): Remove. * src/ios.cc (ios_base::_S_ios_create): Change to use specialized filebufs. (ios_base::_S_ios_destroy): Same. * src/misc-inst.cc (file_filebuf<char>): Add instantiation. * include/Makefile.am (ext_headers): Add ext_filebuf.h, stdio_filebuf.h. * include/Makefile.in: Regenerate. From-SVN: r52961 |
||
Benjamin Kosnik
|
d02475fdae |
re PR libstdc++/5280 (Problems with named locales and iostreams (gnulocale))
2002-04-28 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/5280 * config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int. (__basic_file::sys_ungetc): Take int. * config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same. * include/bits/fstream.tcc (basic_filebuf::_M_underflow_common): Use sys_getc for unbuffered input. * testsuite/27_io/narrow_stream_objects.cc (test06): New. * src/ios.cc (_M_grow_words): Adjust error checking. * testsuite/27_io/ios_base_storage.cc: Same. From-SVN: r52879 |
||
Benjamin Kosnik
|
d3a193e36c |
re PR libstdc++/4164 (33 Memory Leak when using iostream)
2002-04-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/4164
Valgrind fixes.
* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
Call close.
(__basic_file::close): Call fflush. Correct return if fclose ok.
(__basic_file::is_open): Make const.
Change __c_file_type to __c_file.
* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
(__basic_file::is_open): Make const.
* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
(filebuf::_M_unbuf): Add.
(filebuf::_M_file): Change to non-pointer.
(filebuf::_M_allocate_pback_buffer): Remove.
* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
Change initialization list for _M_file change.
(filebuf::_M_allocate_pback_buffer): Remove.
Change _M_file usage to reflect non-pointer data member.
* config/locale/generic/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/generic/collate_members.cc: Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/generic/monetary_members.cc: Changeup data types.
Add dtors.
* config/locale/generic/numeric_members.cc: Add dtors.
* config/locale/generic/time_members.cc: Add dtors.
* config/locale/gnu/c_locale.cc: Add parameter.
* config/locale/gnu/collate_members.cc:Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/gnu/ctype_members.cc: Better error checking.
* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
* config/locale/gnu/messages_members.cc: Tweak comment.
* config/locale/gnu/monetary_members.cc: Change data types.
Add dtors.
* config/locale/gnu/numeric_members.cc: Add dtors, better error
checking.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
bogus ctor.
* include/bits/locale_facets.h (moneypunct): Use string literals.
Don't define dtor.
(numpunct): Same.
(__timepunct): Same.
(locale::_Impl::_M_facets): Change from vector to array.
(locale::_Impl::_M_names): Change from array of strings to array
of string literals.
(locale::facet::_S_create_c_locale): Add parameter.
(locale::locale::_S_num_facets): Move to...
(locale::_Impl::_M_facets_size): Here.
* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
changes.
* include/bits/localefwd.h: (locale:🆔:_M_id): Add member function.
(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
(locale::_Impl::_Impl(string, size_t)): Change to
(locale::_Impl::_Impl(const char*, size_t)): This.
* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
(streambuf::_S_pback_size): This.
* src/globals.cc: Add pre-allocations for "C" facets.
* src/locale-inst.cc: Remove vector instantiations.
* src/locale.cc: Remove vector include. Fixups for _M_names,
_M_facets changes.
* src/localename.cc: Same.
* include/bits/stl_vector.h: Fix odd formatting.
* include/bits/basic_string.tcc: Tweak comment.
* libsupc++/new: Make sure parameters are uglified.
* libsupc++/typeinfo: Same.
* testsuite/22_locale/num_get_members_char.cc: Fixup.
* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
* testsuite/27_io/filebuf_members.cc: Same.
From-SVN: r52345
|
||
Benjamin Kosnik
|
005326029f |
stl_algo (__stl_threshold): Declare external.
2002-02-11 Benjamin Kosnik <bkoz@redhat.com> * include/bits/stl_algo (__stl_threshold): Declare external. (__stl_chunk_size): Same. * include/bits/stl_bvector.h (__WORD_BIT): Same. * include/bits/stl_tree.h (_S_rb_tree_red): Same. (_S_rb_tree_black): Same. * src/stl-inst.cc (__stl_threshold): Define. (__stl_chunk_size): Same. (__WORD_BIT): Same. (_S_rb_tree_red): Same. (_S_rb_tree_black): Same. * config/io/basic_file_libio.h (__basic_file): Add declarations. * include/bits/basic_file.h: Remove. * config/io/c_io_stdio.h: Remove _GLIBCPP_BASIC_FILE_ENCAPSULATION Declare generic types, specialization. * config/io/basic_file_stdio.cc: Definitions. * config/io/c_io_libio.h: Remove _GLIBCPP_BASIC_FILE_INHERITANCE. Declare generic types. * include/Makefile.am (bits_headers): Remove basic_file.h. (extra_target_headers): Change basic_file_model.h to basic_file.h. (stamp-target): Same. * include/bits/stl_alloc.h: Tweaks. * include/bits/localefwd.h: Same. From-SVN: r49697 |
||
Phil Edwards
|
e9c46bb75e |
basic_file.h (__basic_file::fd): New function.
2001-12-17 Phil Edwards <pme@gcc.gnu.org> * include/bits/basic_file.h (__basic_file::fd): New function. * config/io/basic_file_stdio.h (__basic_file::fd): Define. * include/bits/std_fstream.h (basic_filebuf::fd): New function. * include/bits/fstream.tcc (basic_filebuf::fd): Define. * testsuite/27_io/filebuf_members.cc (test_02): New test. From-SVN: r48107 |
||
Benjamin Kosnik
|
33590f13b2 |
Implement std::messages.
2001-08-07 Benjamin Kosnik <bkoz@redhat.com> Implement std::messages. Make config a fully-nested directory. * config/locale: New directory. * config/c_locale_generic.cc: Move into locale subdirectory. * config/c_locale_generic.h: Same. * config/c_locale_gnu.cc: Same. * config/c_locale_gnu.h: Same. * config/c_locale_ieee_1003.1-200x.cc: Same. * config/c_locale_ieee_1003.1-200x_.h: Same. * config/codecvt_specializations_generic.h: Same. * config/codecvt_specializations_ieee_1003.1-200x.h: Same. * config/messages_members_gnu.h: Same. * config/messaages_members_gnu.cc: Same. * config/messages_members_generic.h: Same. * config/messaages_members_generic.cc: Same. * config/messages_members_ieee_1003.1-200x.h: Same. * config/messaages_members_ieee_1003.1-200x.cc: Same. * config/io: New directory. * config/basic_file_libio.h: Move into io subdirectory. * config/basic_file_libio.cc: Same. * config/c_io_libio.h: Same. * config/c_io_libio_codecvt.c: Same. * config/basic_file_stdio.h: Same. * config/basic_file_stdio.cc: Same. * config/c_io_stdio.h: Same. * po: New directory. * po/POTFILES.in: New file. * po/Makefile.am: New file. * po/Makefile.in: New file. * po/libstdc++.pot: Generic translation file. * po/fr.po: Preliminary French translation. * po/de.po: Preliminary German translation. * intl: New directory. * intl/Makefile.am: New file. * intl/Makefile.in: New file. * intl/string_literals.cc: New file. * acinclude.m4 (GLIBCPP_CONFIGURE): Bump VERSION to 3.1.0. Add requisite setup for gettext. Re-arrange. * aclocal.m4: Regenerate. * configure.in: Don't call GLIBCPP_CHECK_COMPILER_VERSION. Output Makefile bits for po and intl. * configure: Regenerate. * Makefile.am (SUBDIRS): Add intl, po. Add rule for dist. * Makefile.in: Regenerate. * acconfig.h: Add ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY. * config.h.in: Regenerate. * acinclude.m4 (AC_REPLACE_STRINGFUNCS): Remove. * include/Makefile.am (install-data-local): Don't install Makefile. * include/Makefile.in: Regenerate. * include/bits/locale_facet.h (locale::facet::_S_clone_c_locale): Add member. * config/locale/c_locale_gnu.cc (_S_clone_c_locale): Add definition. * config/locale/c_locale_generic.cc: Same. * config/locale/c_locale_ieee_1003.1-200x.cc: Same. * include/bits/codecvt.h: Excise non-standard, non-required bits. This includes __enc_traits, and partial specializations of codecvt for __enc_traits. * src/codecvt.cc (__enc_traits::_S_max_size): Guard * config/codecvt_partials_ieee_1003.1-200x.h: New file. * config/codecvt_partials_generic.h: New file. * include/Makefile.am (allstamps): Add stamp-codecvt_model. (stamp-codecvt_model): Add. * include/Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in codecvt configury. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite/22_locale/codecvt_unicode_wchar_t.cc: Use macro guard. * testsuite/22_locale/codecvt_unicode_char.cc: Same. * testsuite/22_locale/ctor_copy_dtor.cc: And here. * include/bits/localefwd.h (class locale::facet): Add __enc_traits as a friend for _S_*_c_locale functions. * include/bits/codecvt.h (__enc_traits::__enc_traits): Add locale argument to default constructor so that CODESET information can be deduced. * include/bits/locale_facets.h (messages_byname): Re-implement. Remove specializations. * src/locale.cc (messages_byname<char>): Remove specialization. (messages_byname<wchar_t>): Same. * config/locale/c_locale_ieee_1003.1-200x.cc: New file. * config/locale/c_locale_ieee_1003.1-200x.h: New file. * config/locale/messages_members_ieee_1003.1-200x.cc: New file. * config/locale/messages_members_ieee_1003.1-200x.h: New file. * config/locale/messages_members_gnu.cc: New file. * config/locale/messages_members_gnu.h: New file. * config/locale/messages_members_generic.cc: New file. * config/locale/messages_members_generic.h: New file. * docs/html/configopts.html: Add documentation for new locale model, ieee_1003.1. Adjust other flags for current defaults. * docs/html/22_locale/locale.html: Update. * docs/html/22_locale/howto.html: Add link to messages.html. Organize. * docs/html/22_locale/messages.html: New. * src/Makefile.am (sources): Add messages_virtuals.cc. * src/Makefile.in: Regenerate. * include/Makefile.am (allstamps): Add stamp-messages_model. (stamp-messages_model): Add. * include/Makefile.in: Regenerate. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in messages configury. * aclocal.m4: Regenerate. * configure: Regenerate. * testsuite_flags.in (--cxxflags): Add LOCALEDIR. * testsuite/lib/libstdc++-v3-dg.exp: Remove broken LD_LIBRARY_PATH bits for Irix. * acinclude (GLIBCPP_ENABLE_CLOCALE): Set glibcpp_localedir to the build directories message catalog base directory, and export. Eventually this should probably be made to deal with build and install directories. For now, punt on this as the library itself doesn't use message catalogs (yet). * testsuite/22_locale/messages.cc: New file. * testsuite/22_locale/messages_char_members.cc: New file. * testsuite/22_locale/messages_byname.cc: New file. From-SVN: r44702 |