From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id KDEzBQh4a1/lHAAA0tVLHw (envelope-from ) for ; Wed, 23 Sep 2020 16:30:00 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id CCEXAQh4a18fcQAAbx9fmQ (envelope-from ) for ; Wed, 23 Sep 2020 16:30:00 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C4EBC9402A2 for ; Wed, 23 Sep 2020 16:29:58 +0000 (UTC) Received: from localhost ([::1]:41088 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kL7eX-0000xE-Pc for larch@yhetil.org; Wed, 23 Sep 2020 12:29:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51390) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kL7Xq-0000gI-Io for bug-guix@gnu.org; Wed, 23 Sep 2020 12:23:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54293) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kL7Xq-0000Fe-7c for bug-guix@gnu.org; Wed, 23 Sep 2020 12:23:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kL7Xq-0001VQ-31 for bug-guix@gnu.org; Wed, 23 Sep 2020 12:23:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#43579: g++ does not provide std::fegetround Resent-From: Andreas Enge Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 23 Sep 2020 16:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43579 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 43579@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16008781365688 (code B ref -1); Wed, 23 Sep 2020 16:23:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 Sep 2020 16:22:16 +0000 Received: from localhost ([127.0.0.1]:37606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kL7X5-0001Tg-PO for submit@debbugs.gnu.org; Wed, 23 Sep 2020 12:22:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:41444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kL7X5-0001TZ-5C for submit@debbugs.gnu.org; Wed, 23 Sep 2020 12:22:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51192) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kL7X4-0008IU-Ui for bug-guix@gnu.org; Wed, 23 Sep 2020 12:22:14 -0400 Received: from hera.aquilenet.fr ([2a0c:e300::1]:39492) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kL7X2-00007h-Qz for bug-guix@gnu.org; Wed, 23 Sep 2020 12:22:14 -0400 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id E3B9CBEB; Wed, 23 Sep 2020 18:22:02 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1oBUr8liMXwz; Wed, 23 Sep 2020 18:22:01 +0200 (CEST) Received: from jurong (unknown [IPv6:2001:910:103f::f06]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 21E6E5BE; Wed, 23 Sep 2020 18:22:01 +0200 (CEST) Date: Wed, 23 Sep 2020 18:21:21 +0200 From: Andreas Enge Message-ID: <20200923162121.GA28654@jurong> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Received-SPF: neutral client-ip=2a0c:e300::1; envelope-from=andreas@enge.fr; helo=hera.aquilenet.fr X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_NEUTRAL=0.779 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -2.6 (--) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -0.51 X-TUID: fMXZZI+cAE1C Hello, this report is related to https://github.com/fplll/fplll/issues/444 The following test file round.cpp does not compile with our g++-10.2.0: #include int main () { return std::fegetround (); } Compilation (also when adding "--std=c++11") prints the error: round.cpp: In function 'int main()': round.cpp:4:16: error: 'fegetround' is not a member of 'std'; did you mean 'fegetround'? 4 | return std::fegetround (); | ^~~~~~~~~~ In file included from /home/andreas/.guix-profile/include/c++/fenv.h:36, from /home/andreas/.guix-profile/include/c++/cfenv:41, from round.cpp:1: /home/andreas/.guix-profile/include/fenv.h:104:12: note: 'fegetround' declared here 104 | extern int fegetround (void) __THROW __attribute_pure__; | ^~~~~~~~~~ Compilation succeeds when replacing std::fegetround by fegetround; however, the former is supposedly part of the C++11 standard. The culprit is apparently cfenv, which contains the following: #if _GLIBCXX_HAVE_FENV_H #include_next #endif #if _GLIBCXX_USE_C99_FENV_TR1 ... #undef fegetround ... namespace std { ... using ::fegetround; ... } Our include/c++/x86_64-unknown-linux-gnu/bits/c++config.h has this: #define _GLIBCXX_HAVE_FENV_H 1 /* Define if C99 functions in should be imported in in namespace std::tr1. */ /* #undef _GLIBCXX_USE_C99_FENV_TR1 */ whereas apparently on other distributions (opensuse, for instance), _GLIBCXX_USE_C99_FENV_TR1 is defined and leads to std::fesetround being defined. And when I look at the build log https://ci.guix.gnu.org/log/xpdy9vvqym9xv7praqkwsm3gdzn2kv1p-gcc-10.2.0 for instance, there are the following lines: checking for ISO C99 support to TR1 in ... no checking for ISO C99 support to TR1 in ... yes checking for ISO C99 support to TR1 in ... yes checking for ISO C99 support to TR1 in ... yes whereas in opensuse, there is checking for ISO C99 support to TR1 in ... yes Now it would be interesting to have a look at config.log for gcc... Andreas