From nobody Tue Sep 03 17:07:55 2024 X-Original-To: freebsd-arch@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 4WysWy32gJz5TbrK for ; Tue, 03 Sep 2024 17:08:14 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic314-19.consmr.mail.gq1.yahoo.com (sonic314-19.consmr.mail.gq1.yahoo.com [98.137.69.82]) (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 did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4WysWx09j2z46GG for ; Tue, 3 Sep 2024 17:08:12 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=n1qKSlH9; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.69.82 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1725383290; bh=+TvlpwVFvuVau5+/wFW8OLNmkWVswHlv+EX0VrUzaII=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=n1qKSlH9gIFIO9iFnLuuBgqHeX9a7KLsPzhH/hb14/Ihh+dcmexr9gfENXpqCFu4uFF7im+dV7Lq3yaQKQV5SPKQyCM9rMO5zcoSJ0lZzagDjuYyfybNbfoyf5sDGSgAXFvCsjrG50I4ErXH2zTxDd33tY7FwIkv5LCUYTLBAzepVq41uTpxaOk1BHTeKJ5RfiEkVvTnD9J+8C2KMS0WhZTLA+RK/qHUjeBZsPZz4RlycltedFE5weCX1N+o8ttgGVEzcEhJPkb3bfhMLRIOsOHKZI39CFX7oNypH69LYdsF4jBLKLkEeBYXJRVS8km9Ki4i4lRPXp4JeRdm4mSsMA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1725383290; bh=KhwCi29z9CeKc1shV6vlfGNb8S0ZGppRINOim+4uurx=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=NdElL7oz/+h8Nk0MK39KSCOUMM7Mo7Vb7Cwu5t0d6H7uUFv1HxOx3dCuDbdvYcNQ4pFArXFkAWgahZtCf/H5BUjXnpaQuhlfeZR1h4y53MM1lLhmMCYCQhnNyWOzz+m4yA0HYrV3X4nlfGaRIlXwaZSyQnf100YKVvJideAv5OY3t+4gSm7rEmMGCinwoseJZczyI66OZ1n9LcOM/nRfAZYuHNpbbRrHAhUjcka5EDQir9rwNrLnlmQ5Uy54FCZIk207fnNsAi9aWbQJ5msWy74L4FT7ZtwI7yPY9rLCtnNTjG1CrrrzP6eWX6pOucYODkmjP3lS5F3EgaLJKD0/cw== X-YMail-OSG: dY.ZCIIVM1mFfRG8QzKy1ptZpRzDyCZvzNchaKzn7fD6m6OoWsdGhsuK_d9FTgS GeJTxX4Rnn5OaeiQ99V6ozOtHzsXhk9PPO8BpgJIlGZtfYyiy8mI7DMxGC.E5kVRgWD5FfuQp.Ed da67Uv9aklIPjTdbFVH82CJJP1iwlpml5f9Btt1LGDEhwzzamakNCulJUufAIMYOG5AKSswnQDh3 A5YezU5fbk2ALwk5Xq1IAtdQrMxkHz1Yofr5rIEDjraL1.u49Bv5nBZAsbDgWUswPFgEZUi2ZLK8 otMsepv97ErXzDn.ayqL3Z.YhkIiqSZHd7vRBV622J.mz6ScQmFYR81a8TN_vxrcw2As.bjdsRkE sRLXEcHuzn7KYyriKJs3cDXj_ZfNdSp6BSSM9V4BLdQCGHieoM8BvwrUYHstEZehS7e4ZxG9m8T4 aaRHCR3fUEC7nKT5wVgMVpS6KvH349lb6G7JyH1zZ.dToTgBZh6r1NX81QTlgTlHHgJ5tI3NPK3t gyB3NdZdWNp4kA.Moyjq4cMY1UEFEh.LUh3v31d9Dozn_4P1mMIey9m1T4iEXPfDG8.Md0hjiG33 nuqh4OaoCAVmEkXzAhvsvfB6bL84lQrAFkHrGvhu16I0x00Rluj88lpImdQXKQ8REC0W_qpmn1pM rc1XWDJK7XoB5bSG7SC0HmoHLV0U5EJlvudOYS9.cjvglnhl2LkF2QdanXC8bEUZWToIYjr0IDLE rNxAU87ZIXA0MoKNMGWLsoG.A8DsoSnjPRIYvnLPnDNsRpE7fp9p1DGyTBiU2nbyE_hml17uFF79 AcdscbHy0YKmzgY6iwN6j6ijIoD53PHmsURvM7dOv6fwC7vvcdKj.6SlWB3xPGmeA2ylD2dR8YhU PXWdAn3lWKbFPngclqhOZYhzd4bempv_hcWKjz6r9MU1ah_7u9SuY3edWoqDTdu4nbLznNMzAgY7 ePzy5f8v1zbtOF_KULTcZq9tkgfm99On5uJ6v7h.zRFIUqowmirKuuqHQmDUcS7GjW32MKxlkeoW VMGqUFjx0.exPZeoeEc4wGEoUpqONrItxDWOoUfvNpeUaRud7QIuDlGOnD1nX50LSOlLN92OGld8 07lfoVpyt7WTm0W6ldiMu3imbzd0z36UsWxUF.a3RmCQd4irJJTxxNNjWRBcI80HC7L0ZhbBpTY_ F1SC4n8fClavxKL9bsTcTuXmzFCd7IWtxcGEQH2KdKvCTHbhcocRG0jvQQOUdlpS16YHoxHU4wDi epXDSOylsmghASiiv_CUkmvgF4JhDRmpsKlWTtYLYTm2QraVUMdL4VguxNEiZaIgSktyuYx5DVXn 5IGYmDJWak3bQSdX8F9rHURKmCQak_.0vpx7P5bZoQdJe3kochR3k0n_sxDGKq71tDfK1teeMgBq VLTdqHUg_hgrssT6XwDVUhAggk2l4hQCILEQDqD4bwwx8kN25.q5kG8zU7ivOHaZAAKFw5SVLxw3 fMJgU5T7yZn2grZKovlAjkbeC.iVj6aLv4qHKDCwwP358y3n8VCxvBUUC12b0lAo6vgMMbCiqPb7 16BUu0FQz_mb27aiLpBwvkg3znuHUozyBwgeP6A4FXYzMLctYyBQOkgPj3U4Oi5SHHyG3j0FY0g8 .m8oUIMcA18_kT_NhbfoDrGzLzJzy24A.adBVp0U_YcuTwzF5l7wZTT58Lq1ossK3iATMe0MUN6f mt8ftTkhL0ed5VtX8Rbi8Aj9FCSB5FB1hTWafvyo9gmecH_QzTB2FEL0pwRdGmI8dhppbEJS1lwu 7F1x6i8m8r5Y2HzpZLyb47MKyyRRvge2nek_4CEd9hw4cwDLVd.FRAw4LG1ZaQRk4VW8dWcKRtee HKTOHR81V.C4waswbespPgRhBe9O.UtwhQK5L0NHmX_yOc03AVLWdXHHGMiYOZEoVe4gG2ESlES3 8GZKESiaZV2K_5IlY6ImosWsWwSwQVJdJvssEPngeWMrSwWXluKi9TYYzSA8u7HwSlJ1EU37RDpZ GhIarC4h9X_QviSUKoa59p5SYdh8yDabfvcMdL.8p3BrCEPFauvawqV1mgIhUv.a3yKNZTJAH5JM SpNfPM9y4WG080O7vZc8fu6hTrix0NG3fjPo4dR5oboGj1UIT.ogtC08OyCwrYWnGSwL9Ujl4.nL YfoO6IGpkLahOAh.8cnG32slcQIs3.rWW8iaxH8HjLGhkt.llozXwE7f6zFwyYJS1NRfDhbj6zAg _1AS5IH3FQIAfDjhz3itx5PncGVKrCOAWd1FC3HrNlUNkcc7JAGKPF2VwI4rkWBzYO7Ba0iwCi17 OZhwQ8Q2YKqjpZV43Tg-- X-Sonic-MF: X-Sonic-ID: 14b55c36-5452-4510-814e-1f3101129b9b Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.gq1.yahoo.com with HTTP; Tue, 3 Sep 2024 17:08:10 +0000 Received: by hermes--production-gq1-5d95dc458-sd55t (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 88a064630b2e475039de222944e0b894; Tue, 03 Sep 2024 17:08:06 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit List-Id: Discussion related to FreeBSD architecture List-Archive: https://lists.freebsd.org/archives/freebsd-arch List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arch@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: libc++ futures and ports/personal libc++ use vs. what functionality is not to be used in the world/kernel: "import std" and such Message-Id: <7FABFF78-D940-46F3-9F7B-05F3E79FCFBD@yahoo.com> Date: Tue, 3 Sep 2024 10:07:55 -0700 To: freebsd-arch , Brooks Davis X-Mailer: Apple Mail (2.3776.700.51) References: <7FABFF78-D940-46F3-9F7B-05F3E79FCFBD.ref@yahoo.com> X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.96 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.96)[-0.962]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; FROM_HAS_DN(0.00)[]; TO_DN_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[freebsd-arch@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.69.82:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.69.82:from] X-Rspamd-Queue-Id: 4WysWx09j2z46GG This note is tied to FreeBSD keeping just one implementation of libc++ for use for all the llvm* / clang++* . It is not intended as a request to extend the range of libc++-tied functionality allowed to be used in the world or kernel, at least as far as I am concerned. It is more focused on what will be enabled/allowed for personal experimentation with modern C++ standard library related functionality additions and use of cmake's 3.30's support for such --and for ports use of such going forward. (For me it is just the personal experimentation.) The specific functionality I'm concered with starts with basic C++23 "import std;" and "import std.compat;" use and grows into more general C++20 module usage. It take more than the compiler and linker as a build environment for such, even for just the 2 imports. As stands, from what I can tell, the FreeBSD libc++ implementation simply does not include the infrastructure that a llvm libc++ can build that is used by cmake to have such a build environment deal with enabling import std (and general module) implementation. So a question would be if FreeBSD's system libc++ would in the future provide the infrastructure llvm has that cmake can use to enable C++23 "import std;" and "import std.compat;" and more. If not, the next question might be if having something analogous to lang/gcc* and their own libstdc++'s might be an option, say, lang/clang++* with their own libc++'s that would be used for that toolchain --configured to provide what cmake makes use of. So: No longer only one implementation of libc++ around but no intent for building FreeBSD with the toolchain and libc++ combination involved. For reference: https://www.kitware.com/import-std-in-cmake-3-30/ gives an idea of the current status for using cmake with the libc++ (and MSVC) infrastructure. Questions about if violations of the One Definition Rule (ODR) might be possible as things are now lead to the status still be classified as an experimental feature. But things look to have progressed far enough to consider what FreeBSD will do about the addition to C++ --possibly planning to leave it simply unsupported with a libc++ via llvm involved, even for just ports/personal C++ standard library use. === Mark Millard marklmi at yahoo.com