public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: Christopher Faylor <cgf@redhat.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 20:46:00 -0000 [thread overview] Message-ID: <20020802034602.21582.qmail@sources.redhat.com> (raw) The following reply was made to PR libstdc++/7461; it has been noted by GNATS. From: Christopher Faylor <cgf@redhat.com> To: Rick Danos <rdanos@hotmail.com> Cc: bkoz@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Subject: Re: libstdc++/7461: ctype<char>::classic_table() returns offset array on cygwin Date: Thu, 1 Aug 2002 23:41:54 -0400 On Thu, Aug 01, 2002 at 04:31:43PM -0600, Rick Danos wrote: >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. So, should this patch be reverted? If not, has it been checked into the 3.2 branch? I don't see it... cgf >----- 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-02 3:46 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-08-01 20:46 Christopher Faylor [this message] -- strict thread matches above, loose matches on Subject: below -- 2002-08-03 13:15 libstdc++/7461: ctype<char>::classic_table() returns offset array on Cygwin bkoz 2002-08-01 15:36 Rick Danos 2002-08-01 14:39 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=20020802034602.21582.qmail@sources.redhat.com \ --to=cgf@redhat.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).