From nobody Wed Jan 08 17:46:53 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 4YSwNF2pzJz5kqnt for ; Wed, 08 Jan 2025 17:47:09 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YSwND644pz46HJ; Wed, 8 Jan 2025 17:47:08 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5d3f65844deso28852167a12.0; Wed, 08 Jan 2025 09:47:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736358425; x=1736963225; 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=8Aif0YZJ2xyamRlToYkdTpXznTbOlJx102WVMwIB4a0=; b=rmpCOdjTFikOQoqrm5On+ILh8F0Hl3b9DbnshpcoCdHDm6Yiqz3hcZyguQdCq/XB05 82N1XhtdQt/MJSXKDCPUI8i+ZwgucCXFzUo8RicKbHwcIsyi8YWpVt0wye1uQs/Fag4s /4dKtnOBqPRxgr2KZK+Ow1WLSTxmSgzkeGosSayK3xTWAnzqL8EEkDLUSlQQ8+Xnxgtd sB4PXyroJT6uftMrYNcrLFDXTTnKaOlSc1ERgJASgyh3DoMZMxkk8OaRW89zC8vS4Sa+ TZruRnFhSLcv4l5WvcpAyp7Kg9lsdP9qlwvg/pfq3xpKFvVtL8TeTRH3L7PsvUJ1XJor RGqQ== X-Gm-Message-State: AOJu0Yz3nqfIbTdQxywEX/NIuvIkM1bDi1zhnyrzJpPwgh6AEJNKZfQD sjlVULnJ5zsSg9ad2BD6/z28WDQj9WUIgyEaaDbph4IPaaIHd4UM2KFa9Iyeh9d6jfgPdigjcy3 QtMm6mpVW//tzd7jAeEPR3nxetMmJQQ== X-Gm-Gg: ASbGncuxiavI4O7Z4oJJZ0s+pFjw+UG2Sf/rIJqrN4ECW6nOh/sBil47+TMF/oCuY9H mTWD+P3BCUczk/KQW1KDxEsRIHnK8vw2Z4iNKAw== X-Google-Smtp-Source: AGHT+IGNAgOE14puOG6XYm/8azFjs1CaxJvL3RGkVYrt9vioi505LYxIpP6BnFDG/BbcUVtVt2wifXo83aNN0TQYyYA= X-Received: by 2002:a05:6402:3217:b0:5cf:bcaf:98ec with SMTP id 4fb4d7f45d1cf-5d972e48686mr3384954a12.26.1736358425310; Wed, 08 Jan 2025 09:47:05 -0800 (PST) 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 References: <4F5BB7D7-94F6-46D2-B467-4E51991311BE@FreeBSD.org> In-Reply-To: <4F5BB7D7-94F6-46D2-B467-4E51991311BE@FreeBSD.org> From: Alan Somers Date: Wed, 8 Jan 2025 10:46:53 -0700 X-Gm-Features: AbW1kvZZyB5-U5HLoQrp0m6TB02PpbARUTXiQ9E76PSUo5hUS6m2dHJHBp-wlnw Message-ID: Subject: Re: What's the newest C++ standard that we can target? To: Dimitry Andric Cc: FreeBSD CURRENT Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4YSwND644pz46HJ X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] On Wed, Jan 8, 2025 at 10:44=E2=80=AFAM Dimitry Andric wr= ote: > > 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 I guess I should've mentioned that I would like to MFC to stable/14, too. I certainly intend to avoid exotic parts. Is there any better way to ensure that may code will build other than "make universe"?