From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp006.apm-internet.net (smtp006.apm-internet.net [85.119.248.207]) by sourceware.org (Postfix) with ESMTPS id 07CC23849ADD for ; Mon, 13 May 2024 16:00:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 07CC23849ADD Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sandoe.co.uk Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=sandoe.co.uk ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 07CC23849ADD Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=85.119.248.207 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715616040; cv=none; b=DnyWoT5iK4NWo0uydEWeJb5nopOL7Yiju7cJ7xbbsZ5SgyaWQZAwNXlCQj3ad3rrbmLzxepl8SATnXcTXVVS6bNY/XrcETdxlbyKkzSXFTSsddI1Nilw+9nGFzYNhEZODhKW6QUXS5XVRl3BviFJCYbfNNaEToYUo4mi2GQMvjQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715616040; c=relaxed/simple; bh=/OneVaP4LVQgAkKJKnqnN6rnEmL9Frp3Ah7hkOIM/24=; h=Mime-Version:Subject:From:Date:Message-Id:To; b=HCcVymmXCNIo6Kzg4Phw+7jMMS2gPN0qasO32+3FXuQw4wkhdI+/eUfy8lKnCqfFtvXKu/Jnkw0ZuJF+bFZconhHQxJtQ9owjwRxSu2gPnAUefRNuPgv4txaxD0ZPxZsUGnMqNARcS9oYXMiZtQcDDt4Lc9GpRFBYPcj551pyM8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: (qmail 64276 invoked from network); 13 May 2024 15:59:56 -0000 X-APM-Out-ID: 17156159966427 X-APM-Authkey: 257869/1(257869/1) 3 Received: from unknown (HELO smtpclient.apple) (81.138.1.83) by smtp006.apm-internet.net with SMTP; 13 May 2024 15:59:56 -0000 Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.8\)) Subject: Re: isl 0.26 C++17 issues when bootstrapping with GCC From: Iain Sandoe In-Reply-To: Date: Mon, 13 May 2024 17:00:35 +0100 Cc: Ben Boeckel , Richard Biener Content-Transfer-Encoding: quoted-printable Message-Id: References: <7EFBECCC-4282-4A21-88D6-CE869C7E9B89@gmail.com> To: GCC Development X-Mailer: Apple Mail (2.3696.120.41.1.8) X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,KAM_COUK,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no 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 13 May 2024, at 16:05, Iain Sandoe via Gcc wrote: >> On 30 Aug 2023, at 00:32, Ben Boeckel via Gcc = wrote: >>=20 >> On Tue, Aug 29, 2023 at 18:57:37 +0200, Richard Biener wrote: >>> I suppose for bootstrapping we could disable ISL during stage1 since >>> it enables an optional feature only. Other than that GCC only >>> requires a C++11 compiler for building, so ISL breaks that = constraint >>> with requiring C++17. >>=20 >> Note that it doesn't *require* it per s=C3=A9; the tests that try it = are >> compiled if C++17 support was detected at all. The headers seem to = just >> have optional header-only `std::any`-using APIs if C++17 is around. >> `isl` supporting a flag to disable the tests would also work, but = that >> doesn't fix 0.26. It also doesn't mean it won't start requiring C++17 = at >> some point in the future. >=20 > Perhaps, in the short-term (i.e. before it requires C++ > 11) we can > solve this by ensuring that we pass -std=3Dc++11 to the configure = stages > as well as to the build. ISTM that configure is finding = C++17-capability > (because we do not, I think, force C++11 for the configure) and then=20= > the build takes it away by forcing -std=3Dc++11. That was not right. We add std=3Dc++11 to the compiler command. However,as noted (earlier in this thread) the isl configure has the = idiom - does the compiler do c++17 with no options? - does the compiler do c++17 if we add -std=3Dc++17? where the second one overrides our setting of std=3Dc++11 in the = compiler comand. (I think that this is a reasonably often used idiom in configures) However the isl configure _does_ still append CXXFLAGS, and so that if we add -std=3Dc++11 to those, it re-asserts our intent. Maybe we should just add the -std=3Dc++11 to CXXFLAGS instead of the compiler command? Iain >> In light of that, I feel that skipping it for bootstrap is probably = the >> right solution here. Alas, my skill with autotools is closer to the >> caveman-with-club level rather than that of a surgeon. >=20 > I am not sure we have an easy way to exclude a host module from > stage1 only (but ICBW). >=20 > Iain >=20 >>=20 >> --Ben