From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by sourceware.org (Postfix) with ESMTPS id 555BB3858439 for ; Thu, 11 Jan 2024 20:40:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 555BB3858439 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.net ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 555BB3858439 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=212.227.17.21 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705005617; cv=none; b=JeEAVormOO+5QOW82x+XqwRHql3AuneWT86azpWwLdIRaMtKFvp01xMpX29xCjGNC9/ZhBlJfL4dfvwzvs+Vkw0K8TbPyfKdM3qVRijSJV6Os77kMwQhSdf73ZnhzlqIndVrbJD4zE6y5q7Wg0jHAYjjQ2dGjZfgUNqp0yDRhHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705005617; c=relaxed/simple; bh=Lvajfb2pV2uOJf/DuYvtP/61wqknysSAYrh6zGSrURw=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=iszDEgRyG6KYX0MFIG+dFvdaHH0qX/dRmhrceT/OLytHYAl2XdVQf+TJTzhkvwq43C24pjSCxh7c6XH8qC1LRWVSRqCBcHM7rYJ/BI+LvH+OhKk5XK0NN2+dKOHt1h6QqEVJfqtI4fJYwnDK3CRBmMtpmPVik6azCxIUQ2KPkSg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1705005614; x=1705610414; i=rumcajs@gmx.net; bh=Lvajfb2pV2uOJf/DuYvtP/61wqknysSAYrh6zGSrURw=; h=X-UI-Sender-Class:Date:To:From:Subject; b=bmeSHt+i3cYlJn+s1CZCPSOHmvY9ai5si++rkZ744BiqJwxzpMEi/mW4urmAKWrb PM4al9qcf7oGxEfsJThXiEQrdOt/8J4NiHc4BzUz8ATD7YZEK/B/254hNSGPu0+wV 4L6JV3OHqU34qwN0bWropzEiLcmdVeUQAKHP0TqV0SIQMrSrOow3CuIPfMWndfA7J V7eZvtleI8sBcq0zo9cSpZj32is0QX5rKPgTMwCeJQs/Ncz11RhixPElVwTpepW51 mLo0zwXIf54AxOxtVVq2O+Q1Kg0ANG5uTRRMvRyh63geufleGLTOoY114xSDH8Mj8 qhXGAGL+8VoIb+bMew== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.1.126] ([93.105.176.147]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MiacR-1qvHPG3zmR-00flnL for ; Thu, 11 Jan 2024 21:40:14 +0100 Message-ID: Date: Thu, 11 Jan 2024 21:40:14 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: pl To: libstdc++@gcc.gnu.org From: Ryszard Kabatek Subject: std::basic_string::resize_and_overwrite & oversize passed to lambda Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:yM+2PN+VTHpHy4mc3kaKExe/4c8d+jv6DX7wb3D8nO0LgTmERa2 O+7R4+UCHLnnEKYncdcfzGVW+u/V8MHposC5FeIQ7g69+hOS4MK8YodayTSVIw8uFXX77ll kqaKiBdj8juuhILCQAw/33tc+RCUuMp5DBng40jMuatHoHz+MXOWFBhm1kP/L07pqIjqtgI kF/QKgS8eG+EFMzgTeglw== UI-OutboundReport: notjunk:1;M01:P0:7OQzfzt6hyI=;kDXDMVxFDTFaOE/tqH7m4qVKHPs efYwLIXEuLWTUqkAdaZ4jFGUt3cVaInEZeVjPMNsez3kdS+QqklG4l0O3DfXPgDxdQd+KVLDW zHC+3et1gNDI5Wm8WzTNzjAAqqrRikDK6Ph8VBVo5Hjs8gIWa+dlIurkfzBU72dP1BqIm0ikE 5W9xHlWd8wZUT+FBt5caqizwAiU04jE+SOUt1M5Sgx2O2DgrAQEYyhT2SQ/qskZ18gAWKIERl NwivCKg3H8fJf92Zz/tNDsMEGFIqORVzX76IWxMgK6NG80coQQiF9RWqaqBOz4zQ1wdtQebcB 8ZGt3LpxuBI5rYRRcOq4rO9FMnX/jeCTqLmZhpCde+NXwOo/anCg3sNASK5C5J5mPDH3OBrPx 3N1uWCoqmHFJi1eXTlGPyCQ8ggZ+jG3Y8ECVOICN1QXxlAvmHuQhMsSqvYrIQon6A06xviu1D RFpopMz+yJJcE2hmXgCQikyDpqTA+SEGsSD+JIRYN+db2OsjeF8TbETzjUSRy3S3Jo51QVeQ7 Z6GP8Mw4aNhoyTMc+gILes3Yb3yHi+2swv9orY8+9CXM8vf+XdvHOxMlGH4NricLMuoW0PSZ0 1LYlLThMBONBcNu3FUN8fjCvk6njPXLn/dKUWoSW075PZlpxQZslXALaxo/J5HaIvbP2KizNS VvdRWQV+qAze1Fr/5ObuEX2BFyGL8VFc6VvMcVi5RCyzoq2WjSdpnRWtQzEIa676P4bNdU/1g n1aRB7eHc5Y3xpI1XAS5yATZV1rcwBIPjfWPwW6PbtnYmbWknpRDS/wTfRZG5oyhOxYCHDd1X fPUEoU7WGWzTPqYp5oG+PML8snALNXm9ZWI+YuW32zLoTHTEs5HJbBRtnOoSLxdlgUL3m+BKr vEDD9/nsQAzSMgs0kletS5T/UzsTgB37nLpzP4V9KF589SBJP3SujUoFZd97ONMR1F54FpP4t zrO6Pg== X-Spam-Status: No, score=1.7 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi! I'm not sure if this was the intention, but in some cases the expected size passed to resize_and_overwrite does not propagate to the lambda being called. The value passed to lambda can be greater then the initial value. The code below produces the output: 16 !=3D 30 17 !=3D 30 18 !=3D 30 19 !=3D 30 20 !=3D 30 21 !=3D 30 22 !=3D 30 23 !=3D 30 24 !=3D 30 25 !=3D 30 26 !=3D 30 27 !=3D 30 28 !=3D 30 29 !=3D 30 #include #include int main() { =C2=A0 for (std::size_t i =3D 0; i < 142; ++i) =C2=A0 { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 auto op =3D [](char*, std::size_t len) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return len; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 std::string str; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 str.resize_and_overwrite(i, op); =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (i !=3D str.size()) =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 std::cout << i << " !=3D= " << str.size() << std::endl; =C2=A0 } =C2=A0 return 0; } Using built-in specs. COLLECT_GCC=3Dg++-13 COLLECT_LTO_WRAPPER=3D/usr/lib64/gcc/x86_64-suse-linux/13/lto-wrapper OFFLOAD_TARGET_NAMES=3Dnvptx-none OFFLOAD_TARGET_DEFAULT=3D1 Target: x86_64-suse-linux Configured with: ../configure CFLAGS=3D' -fmessage-length=3D0 -grecord-gcc-switches -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' CXXFLAGS=3D' -fmessage-length=3D0 -grecord-gcc-switches -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' XCFLAGS=3D' -fmessage-length=3D0 -grecord-gcc-switches -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' TCFLAGS=3D' -fmessage-length=3D0 -grecord-gcc-switches -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' GDCFLAGS=3D' -fmessage-length=3D0 -grecord-gcc-switches -O2 -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g' --prefix=3D/usr --infodir=3D/usr/share/info =2D-mandir=3D/usr/share/man --libdir=3D/usr/lib64 --libexecdir=3D/usr/lib6= 4 =2D-enable-languages=3Dc,c++,objc,fortran,obj-c++,ada,go,d,m2 =2D-enable-offload-targets=3Dnvptx-none, --enable-offload-defaulted =2D-without-cuda-driver --enable-checking=3Drelease --disable-werror =2D-with-gxx-include-dir=3D/usr/include/c++/13 =2D-with-libstdcxx-zoneinfo=3D/usr/share/zoneinfo --enable-ssp =2D-disable-libssp --disable-libvtv --enable-cet=3Dauto --disable-libcc1 =2D-disable-plugin --with-bugurl=3Dhttps://bugs.opensuse.org/ =2D-with-pkgversion=3D'SUSE Linux' --with-slibdir=3D/lib64 --with-system-z= lib =2D-enable-libstdcxx-allocator=3Dnew --disable-libstdcxx-pch =2D-enable-libphobos --enable-version-specific-runtime-libs =2D-with-gcc-major-version-only --enable-linker-build-id =2D-enable-linux-futex --enable-gnu-indirect-function --program-suffix=3D-= 13 =2D-without-system-libunwind --enable-multilib --with-arch-32=3Dx86-64 =2D-with-tune=3Dgeneric --enable-link-serialization =2D-build=3Dx86_64-suse-linux --host=3Dx86_64-suse-linux Thread model: posix Supported LTO compression algorithms: zlib gcc version 13.2.1 20230912 [revision b96e66fd4ef3e36983969fb8cdd1956f551a074b] (SUSE Linux)