public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "tschwinge at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug modula2/111956] Many powerpc platforms do _not_ have support for IEEE754 long double Date: Tue, 31 Oct 2023 09:23:10 +0000 [thread overview] Message-ID: <bug-111956-4-bkapACjXCE@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-111956-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111956 Thomas Schwinge <tschwinge at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |build CC| |egallager at gcc dot gnu.org, | |tschwinge at gcc dot gnu.org Last reconfirmed| |2023-10-31 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #2 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- While you (Gaius) here report test failure, similar to what Maciej had reported in PR112091 "rs6000: redefinition of 'constexpr long double std::abs(long double)', while building libgm2", I can't even build libgm2 anymore. Similar had reported Eric (CCed here) on GCC IRC, 2023-10-20: <ericgallager> ok now this is an error I haven't seen before <ericgallager> /home/egallager/gcc/.cfarm135_build.build/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/std_abs.h:137:3: error: redefinition of 'constexpr long double std::abs(long double)' <ericgallager> seen on cfarm135 <ericgallager> I think I remember something about __float128 being weird on certain powerpc systems? Is there a configure flag that affects it? <ericgallager> I'll open a bug about it... <ericgallager> although actually wait... I'm not quite sure the component, though... it's an error from a libstdc++ header, but it shows up while building KeyBoardLEDs.lo for libm2cor in libgm2, but only for a specific target... For example, I've got on powerpc64le-unknown-linux-gnu on indeed old Ubuntu 14.04 "trusty": +#define M2C_LONGREAL_FLOAT128 1 +#define M2C_LONGREAL_PPC64LE 1 ..., and this fails to build as follows: libtool: compile: [...]/build-gcc/./gcc/xg++ -B[...]/build-gcc/./gcc/ -nostdinc++ -nostdinc++ -I[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu -I[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include -I[...]/source-gcc/libstdc++-v3/libsupc++ -I[...]/source-gcc/libstdc++-v3/include/backward -I[...]/source-gcc/libstdc++-v3/testsuite/util -L[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/src -L[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/src/.libs -L[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/powerpc64le-unknown-linux-gnu/bin/ -B/powerpc64le-unknown-linux-gnu/lib/ -isystem /powerpc64le-unknown-linux-gnu/include -isystem /powerpc64le-unknown-linux-gnu/sys-include -c -I[...]/source-gcc/libgm2/libm2cor -g -O2 -D_GNU_SOURCE -g -O2 -I. -I.. -I[...]/source-gcc/gcc/m2/gm2-libs -I[...]/source-gcc/gcc/m2/gm2-libs-iso -DBUILD_GM2_LIBS -I[...]/source-gcc/libgm2/libm2cor/../ -I[...]/source-gcc/libgm2/libm2cor/../libm2iso -mabi=ieeelongdouble [...]/source-gcc/libgm2/libm2cor/KeyBoardLEDs.cc -fPIC -DPIC -o .libs/KeyBoardLEDs.o cc1plus: warning: Using IEEE extended precision ‘long double’ [-Wpsabi] In file included from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/cstdlib:81, from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/stdlib.h:36, from [...]/source-gcc/libgm2/libm2cor/KeyBoardLEDs.cc:43: [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/std_abs.h:137:3: error: redefinition of ‘constexpr long double std::abs(long double)’ 137 | abs(__float128 __x) | ^~~ [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/std_abs.h:79:3: note: ‘constexpr long double std::abs(long double)’ previously defined here 79 | abs(long double __x) | ^~~ make[5]: *** [KeyBoardLEDs.lo] Error 1 [...] libtool: compile: [...]/build-gcc/./gcc/xg++ -B[...]/build-gcc/./gcc/ -nostdinc++ -nostdinc++ -I[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu -I[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include -I[...]/source-gcc/libstdc++-v3/libsupc++ -I[...]/source-gcc/libstdc++-v3/include/backward -I[...]/source-gcc/libstdc++-v3/testsuite/util -L[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/src -L[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/src/.libs -L[...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/powerpc64le-unknown-linux-gnu/bin/ -B/powerpc64le-unknown-linux-gnu/lib/ -isystem /powerpc64le-unknown-linux-gnu/include -isystem /powerpc64le-unknown-linux-gnu/sys-include -c -I[...]/source-gcc/libgm2/libm2pim -g -O2 -D_GNU_SOURCE -g -O2 -I. -I.. -I[...]/source-gcc/gcc/m2/gm2-libs -I[...]/source-gcc/gcc/m2/gm2-libs-iso -DBUILD_GM2_LIBS -I[...]/source-gcc/libgm2/libm2pim/../ -I[...]/source-gcc/libgm2/libm2pim/../libm2iso -mabi=ieeelongdouble [...]/source-gcc/libgm2/libm2pim/wrapc.cc -fPIC -DPIC -o .libs/wrapc.o cc1plus: warning: Using IEEE extended precision ‘long double’ [-Wpsabi] In file included from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/cmath:49, from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/math.h:36, from [...]/source-gcc/libgm2/libm2pim/wrapc.cc:35: [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/std_abs.h:137:3: error: redefinition of ‘constexpr long double std::abs(long double)’ 137 | abs(__float128 __x) | ^~~ [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/std_abs.h:79:3: note: ‘constexpr long double std::abs(long double)’ previously defined here 79 | abs(long double __x) | ^~~ In file included from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/stl_pair.h:60, from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:64, from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/specfun.h:43, from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/cmath:3699: [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/type_traits:514:12: error: redefinition of ‘struct std::__is_floating_point_helper<long double>’ 514 | struct __is_floating_point_helper<__float128> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/type_traits:479:12: note: previous definition of ‘struct std::__is_floating_point_helper<long double>’ 479 | struct __is_floating_point_helper<long double> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:1060:3: error: redefinition of ‘constexpr long long int std::__size_to_integer(long double)’ 1060 | __size_to_integer(__float128 __n) { return (long long)__n; } | ^~~~~~~~~~~~~~~~~ [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:1057:3: note: ‘constexpr long long int std::__size_to_integer(long double)’ previously defined here 1057 | __size_to_integer(long double __n) { return (long long)__n; } | ^~~~~~~~~~~~~~~~~ In file included from [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/bits/specfun.h:44: [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/limits:2089:12: error: redefinition of ‘struct std::numeric_limits<long double>’ 2089 | struct numeric_limits<__float128> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [...]/build-gcc/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/limits:1820:12: note: previous definition of ‘struct std::numeric_limits<long double>’ 1820 | struct numeric_limits<long double> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ make[5]: *** [wrapc.lo] Error 1 If I to revert commit r14-4149-g81d5ca0b9b8431f1bd7a5ec8a2c94f04bb0cf032 "PR 108143/modula2 LONGREAL and powerpc64le-linux" (..., which by now means resolving conflicts due to subsequent changes), then I get clean build and test results.
next prev parent reply other threads:[~2023-10-31 9:23 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-24 15:47 [Bug modula2/111956] New: " gaius at gcc dot gnu.org 2023-10-25 23:33 ` [Bug modula2/111956] " pinskia at gcc dot gnu.org 2023-10-31 9:23 ` tschwinge at gcc dot gnu.org [this message] 2023-11-01 13:52 ` egallager at gcc dot gnu.org 2023-11-04 19:11 ` gaius at gcc dot gnu.org 2023-11-04 20:24 ` macro at orcam dot me.uk 2023-11-07 14:12 ` gaius at gcc dot gnu.org 2023-11-07 14:15 ` gaius at gcc dot gnu.org 2023-11-07 14:18 ` gaius at gcc dot gnu.org 2023-11-09 2:29 ` macro at orcam dot me.uk 2023-11-09 7:27 ` tschwinge at gcc dot gnu.org 2023-11-09 10:27 ` tkoenig at gcc dot gnu.org 2023-11-14 16:38 ` gaius at gcc dot gnu.org 2024-01-15 7:36 ` [Bug modula2/111956] [14 Regression] " rguenth at gcc dot gnu.org 2024-01-16 1:05 ` gaius at gcc dot gnu.org 2024-01-16 7:40 ` rguenth at gcc dot gnu.org 2024-01-16 10:22 ` gaiusmod2 at gmail dot com 2024-01-16 14:09 ` rguenth at gcc dot gnu.org 2024-01-17 1:12 ` gaius at gcc dot gnu.org 2024-01-18 0:25 ` gaius at gcc dot gnu.org 2024-01-18 0:29 ` gaius at gcc dot gnu.org 2024-01-18 13:07 ` cvs-commit at gcc dot gnu.org 2024-01-18 16:42 ` gaius at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-111956-4-bkapACjXCE@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).