From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id CE9463858D37; Sun, 17 Mar 2024 18:14:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CE9463858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org CE9463858D37 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::633 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710699275; cv=none; b=Mz58LIbmTkDS4uc9jXt12g+nGrWx4txwUhoivTDDqI+fyl26saLTKA1nx1SNK4crcMzlfvxID02c5viK0b91rpm6ESyCOvqgh3aCWcmEP59/OjN46SmoV+LJJr/gs6VLrok+YNiU+rEiiemhfRRmfdhAzztqBRJzFeeLRmGcFT8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710699275; c=relaxed/simple; bh=osDSPbc+mjdGSvbF3uvnI0tIFqtyy91qp7/nW/w6GQI=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:From:To; b=QNumTUQHxvFMnczyfeTg5NipUxccmWqkSXElAi53VfIsc6TsqJGYsILWWn4N0/etB9qS85FuLPwJ+XNO9xQD9COVoBuP1hxcVW+Gf1UUB7uJCXUhxPcX4kXYi7mJCPEWbTVFWS2NI9yAozl440jN4ec5nvXJGQsO5MB8P9cSgT8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-a3fb8b0b7acso345166366b.2; Sun, 17 Mar 2024 11:14:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710699272; x=1711304072; darn=gcc.gnu.org; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=OVMEk9VI18rh6WCRpxcApQd58KjHD7SrHL97dtBqbQA=; b=hToJqYjKrlWFo6jDHJx7SGZOTJD94XEHWC2zaYjt5ZRXBzAkwcH5RWWZEr/mY24tuk szA6SCRHbHdPebmeW+IBmfOfWhJG8msZyytbRm5iv0317Or5waXzwmR/kvTEWvcngxfn 5gZ2xeETWmk6n/9ICgETsulXiaGXtNbmpdN6hMEBrUjVdp4VKeYE1gr1zk28wwM4vrP9 5ubqA06BThCvsTuwqElf0HMPOLlpEURVdWeY1lhr4l4ntyivJQVhTlWPrRN1v8CRXwsJ 1FshGy1nnJd146jQkJ4UXaYoYv0LpH5u85D1OMMl1VgStgMHmCeabRvGUY3ETsQw3EXy 3e+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710699272; x=1711304072; h=in-reply-to:content-language:references:cc:to:from:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=OVMEk9VI18rh6WCRpxcApQd58KjHD7SrHL97dtBqbQA=; b=rdc8yr0zWVpfZUBhjjibqe1smjHwEuDirNbUb0aHG90k6ozZgCEMVueFzWZZ0F7IDv PBvcou5JcBU9f291C41BKjDmpU58HMYbB8wUdR73phf/ERaAyO5enmgTEsADQ2WApAdl YER/oVojtSXPaP8mQmsgVmHuLLmimwMTOkP48zz7ZOBqI8GmloEHqH91NLMT3Xj8RYNz qjvVWJQgjMRsJQx1y0T2vIU9ZXngo65+lPzLDd5XHlIaMDl0OMDbvSERK8LOxidoMc8+ DgZYhgJH3c4oiMiSVhCpHHjkYBdMC8LwHStNkOGrQWPCzJGuhQsMzRdx+nu764uvUj2T mvWw== X-Forwarded-Encrypted: i=1; AJvYcCVPlM+slv3xMu8qoRzwxhQ2Fw5yGw4JkcOuKKzcFh6gHDtXeFIS+Tluey5utXULNiJ0H9jvvEBE67V/ERX7IINPTy6bDp6b0BV4AHoANMgfpAuY2vkELFOjAa7H1hLU X-Gm-Message-State: AOJu0YxV5OzeoLil8VdpZ/R4nq9MI+0fo5xuiHakSxrOG2LU4pfteH/S ZoIGuZd52VV6Al+PRk/6VYs9F3VtIOCj6C6y4Rpi74LbXziP0Bmk X-Google-Smtp-Source: AGHT+IHZPABb/mswxrn5/RBoJHnnuQcwehCScr8JYzYs06QGGndUd1+HA5cLnMgLYvso1lkykqqF+g== X-Received: by 2002:a17:906:d28a:b0:a46:9f21:6545 with SMTP id ay10-20020a170906d28a00b00a469f216545mr2801760ejb.22.1710699272277; Sun, 17 Mar 2024 11:14:32 -0700 (PDT) Received: from [10.47.1.13] ([89.207.171.78]) by smtp.gmail.com with ESMTPSA id qs28-20020a170906459c00b00a45efdfdd1esm3960380ejc.40.2024.03.17.11.14.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 17 Mar 2024 11:14:24 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------uJ5Y0GOMADq0yyFiagGOoBSD" Message-ID: <4374668e-f7e9-4912-a8e6-a50710999d4b@gmail.com> Date: Sun, 17 Mar 2024 19:14:16 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: _LIBCXX_DEBUG value initialized singular iterators assert failures in std algorithms [PR104316] From: =?UTF-8?Q?Fran=C3=A7ois_Dumont?= To: Jonathan Wakely Cc: Jonathan Wakely , libstdc++ , gcc-patches References: <73AC0523-2237-46FD-9885-7AE3F8663DF2@gmail.com> <28CE4FD1-FFB0-4300-81CA-C3CB07E436A6@gmail.com> <19f5939a-9341-4237-90d9-4f1279f03a88@gmail.com> <2f29d2f2-a21b-42bb-997f-3918935d0dba@gmail.com> Content-Language: en-US In-Reply-To: X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_ABUSEAT,RCVD_IN_DNSWL_NONE,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------uJ5Y0GOMADq0yyFiagGOoBSD Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I was a little bit too confident below. After review of all _M_singular usages I found another necessary fix. After this one for sure we will be able to define __cpp_lib_null_iterators even in Debug mode.     libstdc++: Fix N3344 behavior on _Safe_iterator::_M_can_advance     We shall be able to advance from a 0 offset a value-initialized iterator.     libstdc++-v3/ChangeLog:             * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance):             Accept 0 offset advance on value-initialized iterator.             * testsuite/23_containers/vector/debug/n3644.cc: New test case. Ok to commit ? François On 17/03/2024 17:52, François Dumont wrote: > >> >> OK for trunk, thanks! >> >> I think this is OK to backport to 13 too. >> >> Maybe after this we can define the __cpp_lib_null_itetators macro for >> debug mode? >> > After this fix of local_iterator I think we can indeed. > > In fact the added 11316.cc was already passing for > unordered_set<>::local_iterator but simply because we were missing the > singular check. Both issues solved with this patch. > > I found the version.def file to cleanup but no idea how to regenerate > version.h from it so I'll let you do it, ok ? > >     libstdc++: Fix _Safe_local_iterator<>::_M_valid_range > >     Unordered container local_iterator range shall not contain any > singular >     iterator unless both iterators are value-initialized. > >     libstdc++-v3/ChangeLog: > >             * include/debug/safe_local_iterator.tcc >             (_Safe_local_iterator::_M_valid_range): Add > _M_value_initialized and >             _M_singular checks. >             * testsuite/23_containers/unordered_set/debug/114316.cc: > New test case. > > > Ok to commit ? > > François --------------uJ5Y0GOMADq0yyFiagGOoBSD Content-Type: text/plain; charset=UTF-8; name="n3344_patch.txt" Content-Disposition: attachment; filename="n3344_patch.txt" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2RlYnVnL3NhZmVfaXRlcmF0b3Iu dGNjIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvZGVidWcvc2FmZV9pdGVyYXRvci50Y2MKaW5k ZXggNGIyYmFmMjk4MGUuLmRlYWE4NGQwYTFmIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMv aW5jbHVkZS9kZWJ1Zy9zYWZlX2l0ZXJhdG9yLnRjYworKysgYi9saWJzdGRjKystdjMvaW5j bHVkZS9kZWJ1Zy9zYWZlX2l0ZXJhdG9yLnRjYwpAQCAtODYsNiArODYsOSBAQCBuYW1lc3Bh Y2UgX19nbnVfZGVidWcKICAgICBfU2FmZV9pdGVyYXRvcjxfSXRlcmF0b3IsIF9TZXF1ZW5j ZSwgX0NhdGVnb3J5Pjo6CiAgICAgX01fY2FuX2FkdmFuY2UoZGlmZmVyZW5jZV90eXBlIF9f biwgYm9vbCBfX3N0cmljdCkgY29uc3QKICAgICB7CisgICAgICBpZiAodGhpcy0+X01fdmFs dWVfaW5pdGlhbGl6ZWQoKSAmJiBfX24gPT0gMCkKKwlyZXR1cm4gdHJ1ZTsKKwogICAgICAg aWYgKHRoaXMtPl9NX3Npbmd1bGFyKCkpCiAJcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIzX2NvbnRhaW5lcnMvdmVjdG9yL2RlYnVnL24z NjQ0LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yM19jb250YWluZXJzL3ZlY3Rvci9k ZWJ1Zy9uMzY0NC5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u MDUyYzUyZjI2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRl LzIzX2NvbnRhaW5lcnMvdmVjdG9yL2RlYnVnL24zNjQ0LmNjCkBAIC0wLDAgKzEsMTYgQEAK Ky8vIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGMrKzExIH0gfQorLy8geyBkZy1yZXF1aXJlLWRl YnVnLW1vZGUgIiIgfQorCisjaW5jbHVkZSA8dmVjdG9yPgorI2luY2x1ZGUgPGFsZ29yaXRo bT4KKworI2luY2x1ZGUgPHRlc3RzdWl0ZV9ob29rcy5oPgorCitpbnQgbWFpbigpCit7Cisg IHN0ZDo6dmVjdG9yPGludD46Oml0ZXJhdG9yIGl0e307CisgIGF1dG8gY3B5ID0gaXQ7Cisg IHN0ZDo6YWR2YW5jZShpdCwgMCk7CisgIFZFUklGWSggaXQgPT0gY3B5ICk7CisgIHJldHVy biAwOworfQo= --------------uJ5Y0GOMADq0yyFiagGOoBSD--