From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 61F703858414 for ; Mon, 18 Mar 2024 07:46:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 61F703858414 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 61F703858414 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710747978; cv=none; b=Bb53MTUVdN+xOIIMhDSCIC43a18GF8fVFA4G2lIbdjmdACLZK3+84uvlP0kFhKpfzPNQdbgLhSSZUlQ66m1cDIZvIXSqUyLR8AwDhXthGjMo+gh94rVnEoNJ/8YBgPwcp7B/0q3Ycl/de8Mt36i8uffsYSixgfOjAgc8WRGMExg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710747978; c=relaxed/simple; bh=GHGyR74uqkfzECU9O9U/zoXsJrg7BrQGFN/0PjKkG0c=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=xp1nEQso9Gk098yf2IhUk7gnIVtNt8AqIVTLReJZDwwVRkmlOSttWm5eVroDY6Xo+R5jjKG5s2NQdeUhPd/u1qb67y1G2YArSMdebXMnS+/6Q7hSHLVA/L0WKLbB7O1iywepqI0neu80PGJU7+u6aQLvl16cRxP/w3pVVxvWb6Y= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1710747976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=McqHbs/CJGKJTcUKbcY57BZclOWUVvQ9vq4jyAlrxL0=; b=OvZmC+hEfiMoUJI/e6Hdsk1a3rE8nesoJPnNtkmTJkObLV2gD6AirtUjcMRxzyUgLIrqxt b7KEUe/8nbq2kUmf/fMPNehiEwSBmqNPU+Ci9FjFN75Xl4ISYL1myDlLfQSQH9X/+Rd8d9 8HZXBmAk28oaPXgERwmaBWsti7hdOzM= Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com [209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-570-dP3uWPUGMiiJYEAOgWUwsg-1; Mon, 18 Mar 2024 03:46:14 -0400 X-MC-Unique: dP3uWPUGMiiJYEAOgWUwsg-1 Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-60a55cd262aso72526607b3.2 for ; Mon, 18 Mar 2024 00:46:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710747973; x=1711352773; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=McqHbs/CJGKJTcUKbcY57BZclOWUVvQ9vq4jyAlrxL0=; b=Kud/G64KrnYs9PlA9o3/CaU19iKC+vG23TS4QgZ+VB5TWvJarXS7xU1RvHV/m7Ty9m qF0YfctvHEDVsGbTiScr6JjmKir0V1Nxc2hAcBk0aF/rdonjJupTiDW8RinBSIewxum1 iptcTV85Qc1PLlaEacFt9/NwfoRCx3aOy180DQN6bYWd9y2DqtR2ovbWe8+jC7F5OYE1 jUB/NvSKKl/HdE06EkU4RoIqu617II30Q/jtyi/U4452bWj4gFdAjKBhGBkhtKx7PqVi UZw38Afgs6zbChzoc7UmeeD1BKjFPSqKjYX9O+g4EMJ694L3H7acwUqjxTSU8q4IuMIx lJmQ== X-Forwarded-Encrypted: i=1; AJvYcCVSpaAOwWqZCDis49GjNuU4HoA9NY6CLOqJ6vTygetSFDfyH2FqfZyYicDcrFRE77hpRMJxjnr8yJyxE2xUI959gXsECMg= X-Gm-Message-State: AOJu0YzeVupJhNzdEUpXbp1qKIp52Z+CeHEcOoBLhQTckZIGr1SL393E W+B1YYasReYSQOOFhO2+prm20tbtuPPJpUj5H1MjtUGEwUAqjka1BqtCoVKHVB5FyPvsexZArK1 qQdmkDZh+GqBy+kbr7ta9muQg+79qwjPTScDkYRtg5xMxUpZZmzR9QXjOSfdX2rF1Bk8cAfXZ8r KPNgi4iEyCskTQknFQoaEInwJ7NK8= X-Received: by 2002:a0d:d808:0:b0:608:fa76:948e with SMTP id a8-20020a0dd808000000b00608fa76948emr10610455ywe.11.1710747973509; Mon, 18 Mar 2024 00:46:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IENk1DogDrxw3KiTP1wDmYEismg0VfJaZeGOB67mEk4ya9ztnBe4VTRGnmdjyCzM/qgnHNxWZiF1JKZKZEUL8I= X-Received: by 2002:a0d:d808:0:b0:608:fa76:948e with SMTP id a8-20020a0dd808000000b00608fa76948emr10610450ywe.11.1710747973289; Mon, 18 Mar 2024 00:46:13 -0700 (PDT) MIME-Version: 1.0 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> <4374668e-f7e9-4912-a8e6-a50710999d4b@gmail.com> In-Reply-To: <4374668e-f7e9-4912-a8e6-a50710999d4b@gmail.com> From: Jonathan Wakely Date: Mon, 18 Mar 2024 07:45:57 +0000 Message-ID: Subject: Re: _LIBCXX_DEBUG value initialized singular iterators assert failures in std algorithms [PR104316] To: =?UTF-8?Q?Fran=C3=A7ois_Dumont?= Cc: Jonathan Wakely , "libstdc++" , gcc-patches X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,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: On Sun, 17 Mar 2024 at 18:14, Fran=C3=A7ois Dumont w= rote: > > 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 ca= se. > > Ok to commit ? OK, thanks. > Fran=C3=A7ois > > > On 17/03/2024 17:52, Fran=C3=A7ois 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=C3=A7ois