From: John David Anglin Date: Sun, 13 Apr 2003 03:56:20 +0000 (+0000) Subject: * os/hpux/ctype_inline.h: Replace with gnu-linux version. X-Git-Tag: releases/gcc-3.4.0~7327 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=26af0e5d071455ed468c4ac41df3b79e80eae1d7;p=thirdparty%2Fgcc.git * os/hpux/ctype_inline.h: Replace with gnu-linux version. From-SVN: r65542 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ea8571c2ba05..afe8a1ca81fe 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2003-04-12 John David Anglin + + * os/hpux/ctype_inline.h: Replace with gnu-linux version. + 2003-04-12 David Edelsohn * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h index 35cc3063d4c3..af409c87629b 100644 --- a/libstdc++-v3/config/os/hpux/ctype_inline.h +++ b/libstdc++-v3/config/os/hpux/ctype_inline.h @@ -1,6 +1,6 @@ // Locale support -*- C++ -*- -// Copyright (C) 2000 Free Software Foundation, Inc. +// Copyright (C) 2000, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -36,22 +36,15 @@ bool ctype:: - is(mask __m, char __c) const - { return _M_table[(unsigned char)(__c)] & __m; } + is(mask __m, char __c) const + { return _M_table[static_cast(__c)] & __m; } const char* ctype:: - is(const char* __low, const char* __high, mask* __vec) const + is(const char* __low, const char* __high, mask* __vec) const { - const int __bitmasksize = 11; // Highest bitmask in ctype_base == 10 - for (;__low < __high; ++__vec, ++__low) - { - mask __m = _M_table[*__low]; - int __i = 0; // Lowest bitmask in ctype_base == 0 - while (__i < __bitmasksize && !(__m & static_cast(1 << __i))) - ++__i; - *__vec = static_cast(1 << __i); - } + while (__low < __high) + *__vec++ = _M_table[static_cast(*__low++)]; return __high; } @@ -59,7 +52,8 @@ ctype:: scan_is(mask __m, const char* __low, const char* __high) const { - while (__low < __high && !this->is(__m, *__low)) + while (__low < __high + && !(_M_table[static_cast(*__low)] & __m)) ++__low; return __low; } @@ -68,12 +62,8 @@ ctype:: scan_not(mask __m, const char* __low, const char* __high) const { - while (__low < __high && this->is(__m, *__low) != 0) + while (__low < __high + && (_M_table[static_cast(*__low)] & __m) != 0) ++__low; return __low; } - - - - -