Loren J. Rittle
ddf1e65262
porting.texi: Add documentation about libstdc++-v3-specific macros that are currently...
...
libstdc++/2071
* porting.texi: Add documentation about libstdc++-v3-specific
macros that are currently included in os_defines.h files.
* config/basic_file_stdio.h (sys_getc): New method.
(sys_ungetc): New method.
* include/bits/basic_file.h: (sys_getc): New method signature.
(sys_ungetc): New method signature.
* include/bits/fstream.tcc (underflow): Add conditional code
paths which avoid using short seeks on streams (especially
useful when the stream might be interactive or a pipe). At
the moment, this alternate path only avoids seeking when the
``buffer size'' of underflow() is 1 since the C standard only
guarantees buffer space for one ungetc (this technique could
be extended since *-*-solaris* supports buffering for 4 calls
to ungetc and *-*-*bsd* supports buffering limited only by
memory resources). Also, _GLIBCPP_AVOID_FSEEK must be defined
in a port's os_defines.h file for this alternate path to even
be considered. As a bonus, the idiom of using getc/ungetc
requires no system calls whereas fseek maps to one or two
system call(s) on many platforms.
* config/os/bsd/freebsd/bits/os_defines.h (_GLIBCPP_AVOID_FSEEK):
Define it.
* config/os/solaris/solaris2.5/bits/os_defines.h
(_GLIBCPP_AVOID_FSEEK): Likewise.
* config/os/solaris/solaris2.6/bits/os_defines.h
(_GLIBCPP_AVOID_FSEEK): Likewise.
* config/os/solaris/solaris2.7/bits/os_defines.h
(_GLIBCPP_AVOID_FSEEK): Likewise.
From-SVN: r43278
2001-06-12 23:09:09 +00:00
Loren J. Rittle
046585534e
ctype_inline.h (is): (Make right code path:) Remove magic constants and restructure to handle...
...
* config/os/bsd/freebsd/bits/ctype_inline.h (is): (Make right
code path:) Remove magic constants and restructure to handle
ctype.h bit mask layout changes more gracefully. (Make fast
code path:) Use __maskrune (), if available.
(is): Remove special case for digit and xdigit masks.
From-SVN: r38847
2001-01-10 02:08:16 +00:00
Benjamin Kosnik
62f4333a68
ctype_inline.h (is): Same.
...
2000-12-19 Benjamin Kosnik <bkoz@fillmore.redhat.com>
* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
* config/os/newlib/bits/ctype_inline.h (is): Same.
* config/os/irix/bits/ctype_inline.h (is): Same.
* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
* config/os/aix/bits/ctype_inline.h (is): Same.
* config/os/gnu-linux/bits/ctype_inline.h (is): Revert.
* config/os/generic/bits/ctype_inline.h (is): Non-table based
implementation.
* testsuite/22_locale/ctype_char_members.cc (test01): Use binary
operator correctly.
(test01): Check 'A' for alnum, upper, alpha.
From-SVN: r38385
2000-12-19 19:49:00 +00:00
Benjamin Kosnik
0c3a231d2f
locale_facets.h (ctype<char>): Remove throw specs not in base class signature.
...
2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
base class signature.
* config/os/*/bits/ctype_inline.h (is): Same.
From-SVN: r38250
2000-12-14 09:19:56 +00:00
Benjamin Kosnik
d9ab8adb37
ctype_base.h (ctype_base): Consistency with linux.
...
2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
* config/os/generic/bits/ctype_base.h (ctype_base): Consistency
with linux.
* config/os/generic/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.5/bits/ctype_base.h: Same.
* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.6/bits/ctype_base.h: Same.
* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.7/bits/ctype_base.h: Same.
* config/os/irix/bits/ctype_inline.h (is): Same.
* config/os/irix/bits/ctype_base.h (ctype_base): Same.
* config/os/aix/bits/ctype_inline.h (is): Same.
* config/os/aix/bits/ctype_base.h (ctype_base): Same.
* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
* config/os/bsd/netbsd/bits/ctype_base.h (ctype_base): Same.
* config/os/bsd/freebsd/bits/ctype_base.h (ctype_base): Same.
* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
* config/os/newlib/bits/ctype_inline.h (is): Same.
* config/os/newlib/bits/ctype_base.h (ctype_base): Same.
* testsuite/22_locale/ctype_char_members.cc (test01): Add tests, fix.
* testsuite/22_locale/ctype.cc (test01): Add tests for
ctype_base::mask bitmask features.
* src/locale.cc: Define const static data for ctype_base.
* config/os/gnu-linux/bits/ctype_base.h (ctype_base): Make
ctype_base::mask type an integer type, not an enum.
* config/os/gnu-linux/bits/ctype_inline.h (is): Implement correctly.
* include/bits/locale_facets.h: Tweaks.
* include/bits/ios_base.h: Formatting tweaks.
* docs/html/17_intro/C++STYLE: Add.
From-SVN: r38243
2000-12-14 07:20:37 +00:00
Benjamin Kosnik
4716be24b5
ctype_base.h (ctype_base): Change space mask.
...
2000-12-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* config/os/generic/bits/ctype_base.h (ctype_base): Change space mask.
* config/os/generic/bits/ctype_noninline.h (ctype): Remove default
arguments in definition.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
* config/os/irix/bits/ctype_noninline.h (ctype): Same.
* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
* config/os/aix/bits/ctype_noninline.h (ctype): Same.
* include/bits/locale_facets.h: Tweak.
From-SVN: r38115
2000-12-07 20:49:10 +00:00
Benjamin Kosnik
167ed88f7a
locale_facets.h (ctype): Remove _Ctype_nois and _Ctype and replace with common __ctype_abstract_base.
...
2000-12-06 Benjamin Kosnik <bkoz@kredhat.com>
* include/bits/locale_facets.h (ctype): Remove _Ctype_nois and
_Ctype and replace with common __ctype_abstract_base.
(ctype<wchar_t>::_M_convert_to_wmask): Move to locale.cc.
* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>::ctype):
And here.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
* config/os/irix/bits/ctype_noninline.h (ctype): Same.
* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
* config/os/generic/bits/ctype_noninline.h (ctype): Same.
* config/os/aix/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
* src/locale-inst.cc: Clean instantiations.
* src/locale.cc (ctype<char>): Add definitions here.
(ctype<wchar_t>::_M_wmask): Move definitions here.
* config/os/generic/bits/ctype_inline.h (ctype<char>::is):
Implement in a generic way, with only "C" functionality and no
knowlege of the target os.
* config/os/generic/bits/os_defines.h: Change comments to C++ style.
* testsuite/22_locale/ctype_char_members.cc (test01): Add tests.
* include/bits/codecvt.h (ctype_byname): Remove specializations,
as not required.
* include/bits/localefwd.h (codecvt_byname): And here.
* src/codecvt.cc: Remove codecvt_byname specializations.
* include/c/bits/std_cstdio.h: Include c++config.h.
From-SVN: r38100
2000-12-07 06:44:49 +00:00
Benjamin Kosnik
f502ff4fc8
acinclude.m4: Change up to reflect new directory organization.
...
2000-12-05 Benjamin Kosnik <bkoz@fillmore.redhat.com>
* acinclude.m4: Change up to reflect new directory organization.
Add in bits for NetBSD.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config/os/bsd: New directory.
* config/os/netbsd: Move to...
* config/os/bsd/netbsd: ...here.
* config/os/freebsd: Move to...
* config/os/bsd/freebsd: ...here.
From-SVN: r38055
2000-12-05 23:25:08 +00:00