From nobody Wed Jan 08 17:44:43 2025 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YSwKV4RNKz5kqnd for ; Wed, 08 Jan 2025 17:44:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YSwKV3bJMz45Nv; Wed, 8 Jan 2025 17:44:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736358286; 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=rD9pmcodow1r1+kuZi9XTlTR+L+rkySaM7U8qtuQBLk=; b=W1Gvrh/LP08D9T8vLhemHSGYUD0CGwRYGtgHG4gI7rqdaqq4dHZFhap6IdOjxYu58tCKg1 9uFSJJBs7gKOL3WHggvaS8X1M3ACDYq825Uk+VsQtZpMhGdwGADFe6EJPknlVlfo+Q9Uai yC3X1/s3cbOMqUKvNGeYJaKsPqMcm1c2/GqtLq+KTcrexirUe6Q0kd5ebNtLbXFcfOoXEu Rw8tLy388hnCRRr4h0F8D3IscAIkrT8BvMV+olG5aetIpKNL4iyh69LZC9C/t+SJl64/kC COYaTvcH3xhe4gVJR3F2HkAocyu4nxby3NeZtBt/4PjDmicqHkKVPpV3dj0MrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736358286; 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=rD9pmcodow1r1+kuZi9XTlTR+L+rkySaM7U8qtuQBLk=; b=Uo222+FIq8ZvXzQ1g34BKIh3GdWrlUBxV3wNgatcDsJPRn9S4OWGQoAiZlqw9j0SBtDgGr 0Ukz673ntmUIz5ls8gMs1d/4lHczxnF02KHR3DKyYu5YwBckZiL3yqFz6ez+tadSW9CUrn sTPvauxF28gOBcEUPnFndNw2TtKHS5+oh+xEvrRaeU0iig3fP1pGug8XumrqDj2GnaCVD2 4g1ELr5oyh/Ozgonol8Bg1c7f2kRsjPATJZ+za4/d5KV01DvVUr14eCEbSY2rjX+ljcPnL PAzhwzmWNM7fHmKzBkUDz0/k4GdXuW7c+FVRjNBkBWyL4lCnGXCoy/GcdsfelA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736358286; a=rsa-sha256; cv=none; b=DO31cmt2GPZwQOzzlzHzXl/BRLPphLMlGSl7w3vjd4DTgdGyBAyCid1Z3/O1IRFgWMKtVL 5iJ1x5aiwyMja+YqhFAbI+QUChM/wAyiWU1rwoyw8lBKWHCZrBE3V3g8KzVyQWCdSGB1uG RUb2Z4P0M+0gXUqmf5bYQIFyM0WqfDWB0WGk7/pMmVnh2j5eJ3lyrFQxnhyca4Y3+lyjoK x68/5wcI8KAVG3Va9s7nod8isOk8pwjQ6/0E01AA1eDL24pW3E3uporV/gbBv/Juy/3SDF IwFD5chmi1IzA9ZC2nBdBcCJEt+vz0k+yY0B/2LZhnH1aygcC97IphypYislRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R10" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4YSwKV2JffzrJS; Wed, 08 Jan 2025 17:44:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 55EFE65393; Wed, 08 Jan 2025 18:44:44 +0100 (CET) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6.1.9\)) Subject: Re: What's the newest C++ standard that we can target? From: Dimitry Andric In-Reply-To: Date: Wed, 8 Jan 2025 18:44:43 +0100 Cc: FreeBSD CURRENT Content-Transfer-Encoding: 7bit Message-Id: <4F5BB7D7-94F6-46D2-B467-4E51991311BE@FreeBSD.org> References: To: Alan Somers X-Mailer: Apple Mail (2.3731.700.6.1.9) On 8 Jan 2025, at 18:31, Alan Somers wrote: > > What is the newest C++ standard that we can target in src, and be > confident that it will compile on all targets? Can we use C++20? C++17 is probably the safest one, as C++20 support in libc++ 19 is mostly done, but not entirely complete: https://libcxx.llvm.org/Status/Cxx20.html As long as you avoid modules, and the more exotic parts, you should be fine. One glaring remaining issue is that std::jthread support is still gated under -fexperimental-library, at least until libc++ 20 comes out. That said, older existing releases don't have libc++ 19 yet, and they are missing a few headers too. So it depends on whether you want to target -CURRENT only? -Dimitry