public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: "Rick Danos" <rdanos@hotmail.com> To: bkoz@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, Subject: Re: libstdc++/7461: ctype<char>::classic_table() returns offset array on Cygwin Date: Thu, 01 Aug 2002 15:36:00 -0000 [thread overview] Message-ID: <20020801223601.15648.qmail@sources.redhat.com> (raw) The following reply was made to PR libstdc++/7461; it has been noted by GNATS. From: "Rick Danos" <rdanos@hotmail.com> To: <bkoz@gcc.gnu.org>, <gcc-bugs@gcc.gnu.org>, <gcc-prs@gcc.gnu.org>, <nobody@gcc.gnu.org>, <rdanos@hotmail.com>, <gcc-gnats@gcc.gnu.org> Cc: Subject: Re: libstdc++/7461: ctype<char>::classic_table() returns offset array on Cygwin Date: Thu, 1 Aug 2002 16:31:43 -0600 Sorry - I believe that now that the offset is being taken into account in the return from classic_table(), it is *no longer* necessary to also have the offsets in the ctype_inline.h functions that reference the mask array. In other words, I don't believe it is necessary to use (_M_table + 1) in the ctype_inline.h functions, but you should now just use _M_table. I appreciate the rapid addressing of this issue, and your and the entire team's work on this product is amazing. -- Rick ----- Original Message ----- From: <bkoz@gcc.gnu.org> To: <bkoz@gcc.gnu.org>; <gcc-bugs@gcc.gnu.org>; <gcc-prs@gcc.gnu.org>; <nobody@gcc.gnu.org>; <rdanos@hotmail.com> Sent: Thursday, August 01, 2002 3:39 PM Subject: Re: libstdc++/7461: ctype<char>::classic_table() returns offset array on Cygwin > Synopsis: ctype<char>::classic_table() returns offset array on Cygwin > > Responsible-Changed-From-To: unassigned->bkoz > Responsible-Changed-By: bkoz > Responsible-Changed-When: Thu Aug 1 14:39:18 2002 > Responsible-Changed-Why: > Mine. > State-Changed-From-To: open->feedback > State-Changed-By: bkoz > State-Changed-When: Thu Aug 1 14:39:18 2002 > State-Changed-Why: > Fixed. > > 2002-08-01 Rick Danos <rdanos@hotmail.com> > > PR libstdc++/7461 > * config/os/newlib/ctype_noninline.h (classic_table): Add offset. > * config/os/newlib/ctype_inline.h (is): Use static_cast. > > Index: config/os/newlib/ctype_inline.h > =================================================================== > RCS file: /cvs/gcc/gcc/libstdc++-v3/config/os/newlib/ctype_inline.h,v > retrieving revision 1.1 > diff -c -p -r1.1 ctype_inline.h > *** config/os/newlib/ctype_inline.h 24 Jun 2002 05:49:54 -0000 1.1 > --- config/os/newlib/ctype_inline.h 1 Aug 2002 21:38:07 -0000 > *************** > *** 1,6 **** > // Locale support -*- C++ -*- > > ! // Copyright (C) 2000 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 > --- 1,6 ---- > // Locale support -*- C++ -*- > > ! // 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 > *************** > *** 37,50 **** > bool > ctype<char>:: > is(mask __m, char __c) const > ! { return (_M_table + 1)[(unsigned char)(__c)] & __m; } > > const char* > ctype<char>:: > is(const char* __low, const char* __high, mask* __vec) const > { > while (__low < __high) > ! *__vec++ = (_M_table + 1)[(unsigned char) (*__low++)]; > return __high; > } > > --- 37,50 ---- > bool > ctype<char>:: > is(mask __m, char __c) const > ! { return (_M_table + 1)[static_cast<unsigned char>(__c)] & __m; } > > const char* > ctype<char>:: > is(const char* __low, const char* __high, mask* __vec) const > { > while (__low < __high) > ! *__vec++ = (_M_table + 1)[static_cast<unsigned char>(*__low++)]; > return __high; > } > > *************** > *** 52,58 **** > ctype<char>:: > scan_is(mask __m, const char* __low, const char* __high) const > { > ! while (__low < __high && !((_M_table + 1)[(unsigned char)(*__low)] & __m)) > ++__low; > return __low; > } > --- 52,59 ---- > ctype<char>:: > scan_is(mask __m, const char* __low, const char* __high) const > { > ! while (__low < __high > ! && !((_M_table + 1)[static_cast<unsigned char>(*__low)] & __m)) > ++__low; > return __low; > } > *************** > *** 62,73 **** > scan_not(mask __m, const char* __low, const char* __high) const > { > while (__low < __high > ! && ((_M_table + 1)[(unsigned char)(*__low)] & __m) != 0) > ++__low; > return __low; > } > - > - > - > - > - > --- 63,69 ---- > scan_not(mask __m, const char* __low, const char* __high) const > { > while (__low < __high > ! && ((_M_table + 1)[static_cast<unsigned char>(*__low)] & __m) != 0) > ++__low; > return __low; > } > Index: config/os/newlib/ctype_noninline.h > =================================================================== > RCS file: /cvs/gcc/gcc/libstdc++-v3/config/os/newlib/ctype_noninline.h,v > retrieving revision 1.1 > diff -c -p -r1.1 ctype_noninline.h > *** config/os/newlib/ctype_noninline.h 24 Jun 2002 05:49:54 -0000 1.1 > --- config/os/newlib/ctype_noninline.h 1 Aug 2002 21:38:07 -0000 > *************** > *** 35,41 **** > > const ctype_base::mask* > ctype<char>::classic_table() throw() > ! { return _ctype_; } > > ctype<char>::ctype(__c_locale, const mask* __table, bool __del, > size_t __refs) > --- 35,41 ---- > > const ctype_base::mask* > ctype<char>::classic_table() throw() > ! { return _ctype_ + 1; } > > ctype<char>::ctype(__c_locale, const mask* __table, bool __del, > size_t __refs) > > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p r=7461 >
next reply other threads:[~2002-08-01 22:36 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-08-01 15:36 Rick Danos [this message] -- strict thread matches above, loose matches on Subject: below -- 2002-08-03 13:15 bkoz 2002-08-01 20:46 libstdc++/7461: ctype<char>::classic_table() returns offset array on cygwin Christopher Faylor 2002-08-01 14:39 libstdc++/7461: ctype<char>::classic_table() returns offset array on Cygwin bkoz 2002-07-31 17:16 rdanos
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20020801223601.15648.qmail@sources.redhat.com \ --to=rdanos@hotmail.com \ --cc=bkoz@gcc.gnu.org \ --cc=gcc-prs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).