From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id 0F22D3858418; Sun, 17 Dec 2023 13:55:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0F22D3858418 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1702821305; bh=RDLgpsxiLg+BBTQZminAToPQS6g9w+EfdYp1wNnjSos=; h=From:To:Subject:Date:From; b=CVfy9/IY1fi5EiYy05QE32vx9KWZUuAF+W4ytVetV4VsjrAMkZANT8McuKCxmOU50 vqRKDLFcMs8BWE78RVVJk/d6IJpUkczqufxZAW+Z523M/7p0bxoH8k+icqiylhfAu/ JeIPDoYubnDlS4kBWJTSyx07WfEa858wDdyjMoeg= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r11-11149] libstdc++: Fix tr1/8_c_compatibility/cstdio/functions.cc regression with recent glibc X-Act-Checkin: gcc X-Git-Author: Jakub Jelinek X-Git-Refname: refs/heads/releases/gcc-11 X-Git-Oldrev: 9e30ca09c01124333dc97e8c2cb704b74d3c7b60 X-Git-Newrev: 8c64ae47a57ea97279e5673a856c7ccc529b68e9 Message-Id: <20231217135505.0F22D3858418@sourceware.org> Date: Sun, 17 Dec 2023 13:55:05 +0000 (GMT) List-Id: https://gcc.gnu.org/g:8c64ae47a57ea97279e5673a856c7ccc529b68e9 commit r11-11149-g8c64ae47a57ea97279e5673a856c7ccc529b68e9 Author: Jakub Jelinek Date: Fri Oct 13 09:09:32 2023 +0200 libstdc++: Fix tr1/8_c_compatibility/cstdio/functions.cc regression with recent glibc The following testcase started FAILing recently after the https://sourceware.org/git/?p=glibc.git;a=commit;h=64b1a44183a3094672ed304532bedb9acc707554 glibc change which marked vfscanf with nonnull (1) attribute. While vfwscanf hasn't been marked similarly (strangely), the patch changes that too. By using va_arg one hides the value of it from the compiler (volatile keyword would do too, or making the FILE* stream a function argument, but then it might need to be guarded by #if or something). 2023-10-13 Jakub Jelinek * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): Initialize stream to va_arg(ap, FILE*) rather than 0. * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): Likewise. (cherry picked from commit badb798f5e96a995bb9fa8c4ea48071aa4f2b4b3) Diff: --- libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc | 2 +- libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc index 2d9371bb590..a62e1fe3dc2 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cstdio/functions.cc @@ -35,7 +35,7 @@ void test01(int dummy, ...) char* s = 0; const char* cs = 0; const char* format = "%i"; - FILE* stream = 0; + FILE* stream = va_arg(ap, FILE*); std::size_t n = 0; int ret; diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc index a7a0ad83c65..b5b8b1564ce 100644 --- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc +++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cwchar/functions.cc @@ -42,7 +42,7 @@ void test01(int dummy, ...) #endif #if _GLIBCXX_HAVE_VFWSCANF - FILE* stream = 0; + FILE* stream = va_arg(arg, FILE*); const wchar_t* format1 = 0; int ret1; ret1 = std::tr1::vfwscanf(stream, format1, arg);