From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7634 invoked by alias); 6 Jul 2002 14:06:04 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 7598 invoked by uid 71); 6 Jul 2002 14:06:01 -0000 Resent-Date: 6 Jul 2002 14:06:01 -0000 Resent-Message-ID: <20020706140601.7596.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, johnb@stl.sarov.ru Received: (qmail 7451 invoked by uid 61); 6 Jul 2002 14:03:30 -0000 Message-Id: <20020706140330.7450.qmail@sources.redhat.com> Date: Sat, 06 Jul 2002 07:06:00 -0000 From: johnb@stl.sarov.ru Reply-To: johnb@stl.sarov.ru To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: libstdc++/7220: g++ 3.1: basic_istream::ignore(0,delimiter) issue. X-SW-Source: 2002-07/txt/msg00215.txt.bz2 List-Id: >Number: 7220 >Category: libstdc++ >Synopsis: g++ 3.1: basic_istream::ignore(0,delimiter) issue. >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Jul 06 07:06:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: johnb@stl.sarov.ru >Release: g++ 3.1 >Organization: >Environment: Red Hat Linux release 7.2, g++ v3.1 >Description: basic_istream::ignore(0,delimiter) extracts delimiter if it (delimiter) is at stream read position without regard to first parameter == 0. In case delimiter isn`t at read position ignore(0,delimiter) do nothing and this is correct. C++ ISO|IEC 27.6.1.3-24 declare that ignore(n,...) should extract n symbols in case n != numeric_limits::max(). This condition is true for n = 0; See testcase attached. >How-To-Repeat: Compile testcase with g++ 3.1 and run it. You`ll see some "failed" messages. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="ignore.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ignore.cpp" I2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCiNkZWZpbmUgSXMJc3RkOjpi YXNpY19pc3RyZWFtPGNoYXIsc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+CiNkZWZpbmUgSXQJc3Rk OjpjaGFyX3RyYWl0czxjaGFyPgojZGVmaW5lIEFsCXN0ZDo6YWxsb2NhdG9yPGNoYXI+CgppbnQg bWFpbihpbnQsIGNoYXIgKltdKQp7CglpbnQgcmVzID0gMDsKICAgICAgICBzdGQ6OnN0cmVhbXNp emUgbjsKCXN0ZDo6YmFzaWNfc3RyaW5nPGNoYXIsSXQsQWwgPiBpbnB1dCgoY29uc3QgY2hhciAq KSJhYmNkZWZnXG4iKTsKICAgICAgICBzdGQ6OmJhc2ljX3N0cmluZ2J1ZjxjaGFyLEl0LEFsID4g c2J1ZihpbnB1dCk7CiAgICAgICAgc3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsSXQgPiBpc3RyKCZz YnVmKTsKCQkKCWlzdHIuaWdub3JlKDApOwoJaWYgKGlzdHIuZ2NvdW50KCkgPT0gMCkgCgkgIHN0 ZDo6Y291dCA8PCAiMS4gUGFzc2VkXG4iOwogICAgICAgIGVsc2UgCgkgIHN0ZDo6Y291dCA8PCAi MS4gRmFpbGVkIC0gZ290IG5vbnplcm9cbiI7CgoJaXN0ci5pZ25vcmUoMCwgKElzOjppbnRfdHlw ZSknYicpOwoJaWYgKGlzdHIuZ2NvdW50KCkgPT0gMCkgCgkgIHN0ZDo6Y291dCA8PCAiMi4gUGFz c2VkXG4iOwogICAgICAgIGVsc2UgCgkgIHN0ZDo6Y291dCA8PCAiMi4gRmFpbGVkIC0gZ290IG5v bnplcm9cbiI7CgogICAgICAgIGlzdHIuaWdub3JlICgpOwkvLyBhZHZhbmNlIHRvIG5leHQgcG9z aXRpb24KCQoJaXN0ci5pZ25vcmUoMCwgKElzOjppbnRfdHlwZSknYicpOwoJaWYgKChuPWlzdHIu Z2NvdW50KCkpID09IDApIAoJICBzdGQ6OmNvdXQgPDwgIjMuIFBhc3NlZFxuIjsKICAgICAgICBl bHNlIAoJICBzdGQ6OmNvdXQgPDwgIjMuIEZhaWxlZCAtIGdvdCAiIDw8IG4gPDwgIiBpbnN0ZWFk IG9mIDBcbiI7CgkgIAkKCWlmIChpc3RyLnBlZWsoKSA9PSAoSXM6OmludF90eXBlKSdiJykKCSAg c3RkOjpjb3V0IDw8ICI0LiBQYXNzZWRcbiI7CgllbHNlCgkgIHN0ZDo6Y291dCA8PCAiNC4gRmFp bGVkIC0gZ290ICIgPDwgKElzOjpjaGFyX3R5cGUpaXN0ci5wZWVrKCkgPDwgIiBpbnN0ZWFkIG9m ICdiJ1xuIjsKCiByZXR1cm4gMDsKfQo=