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
 >


             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: link
Be 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).