From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id DEED53870892; Sat, 16 Dec 2023 00:37:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DEED53870892 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1702687056; bh=C93+ObWfIePWrIvPQrn3T59/zyK3kZwHugQqdfwxq4U=; h=From:To:Subject:Date:From; b=rdw9pxz4rqZ6R744wisOCjccGa07eUHOfOzWY2/ACCkYOJOHhyyMOw9GD/CK13jgy xWQUxLRW9slSEHPOZ0O6DLi69LdGg6k8/5wSrI80ov3zNT29rj+Fm3fpvDpF5Mrpgp lxtYm456edm2iiobADgwBX7AHxvHtlW5yG4YYAHk= 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 r12-10047] 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-12 X-Git-Oldrev: 9a93c334865af18ce2fd50cd77a9e90939f3c231 X-Git-Newrev: 4e76999ceef319b66ab4dbcce2a587cd81a5516a Message-Id: <20231216003736.DEED53870892@sourceware.org> Date: Sat, 16 Dec 2023 00:37:36 +0000 (GMT) List-Id: https://gcc.gnu.org/g:4e76999ceef319b66ab4dbcce2a587cd81a5516a commit r12-10047-g4e76999ceef319b66ab4dbcce2a587cd81a5516a 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 a85596935a9..9e39dafa2e6 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 e8bd022ed05..381fff2c2ff 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);