public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double
@ 2021-01-12 22:09 meissner at gcc dot gnu.org
2021-01-12 22:12 ` [Bug c++/98645] " meissner at gcc dot gnu.org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2021-01-12 22:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Bug ID: 98645
Summary: C++ modules support does not work on PowerPC with IEEE
128-bit long double
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: meissner at gcc dot gnu.org
Target Milestone: ---
I am tuning up the final patches for providing support to enable the PowerPC
server compilers to change the default long double from using the IBM 128-bit
double double format to IEEE 128-bit.
When the default long double is IEEE 128-bit, the powerpc backend needs to
create a new type (__ibm128) to allow access to the old IBM 128-bit format. It
looks like the gcc/cp/module.cc code does not have a method of dealing with
target specific floating point types.
If you build a compiler with IEEE 128-bit long double default, the following
tests now fail:
$ make check-c++ RUNTESTFLAGS=modules.exp
Running /home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/modules.exp
...
FAIL: g++.dg/modules/binding-1_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/binding-1_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/binding-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/binding-1_a.H.gcm)
FAIL: g++.dg/modules/binding-1_b.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/binding-1_b.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/binding-1_b.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/binding-1_b.H.gcm)
FAIL: g++.dg/modules/binding-1_c.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/binding-1_c.C module-cmi hello (gcm.cache/hello.gcm)
FAIL: g++.dg/modules/binding-1_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/binding-1_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/binding-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/binding-1_a.H.gcm)
FAIL: g++.dg/modules/binding-1_b.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/binding-1_b.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/binding-1_b.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/binding-1_b.H.gcm)
FAIL: g++.dg/modules/binding-1_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/binding-1_c.C module-cmi hello (gcm.cache/hello.gcm)
FAIL: g++.dg/modules/hello-1_a.C -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/hello-1_a.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/hello-1_a.C module-cmi hello (gcm.cache/hello.gcm)
FAIL: g++.dg/modules/hello-1_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/hello-1_a.C -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/hello-1_a.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/hello-1_a.C module-cmi hello (gcm.cache/hello.gcm)
FAIL: g++.dg/modules/hello-1_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/iostream-1_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/iostream-1_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/iostream-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/iostream-1_a.H.gcm)
FAIL: g++.dg/modules/iostream-1_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/iostream-1_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/iostream-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/iostream-1_a.H.gcm)
FAIL: g++.dg/modules/iostream-1_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/string-1_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/string-1_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/string-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/string-1_a.H.gcm)
FAIL: g++.dg/modules/string-1_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/string-1_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/string-1_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/string-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/string-1_a.H.gcm)
FAIL: g++.dg/modules/string-1_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-1_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-1_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-1_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-1_c.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-1_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-1_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-1_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-1_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-2_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-2_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-2_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-2_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-2_c.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-2_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-2_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-2_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-2_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-2_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-3_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-3_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-3_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-3_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-3_c.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-3_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-3_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-3_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-3_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-3_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-4_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-4_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-4_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-4_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-4_c.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-4_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-4_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-4_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-4_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-4_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-5_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-5_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-5_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-5_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-5_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-6_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-header-6_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-6_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-header-6_a.H.gcm)
FAIL: g++.dg/modules/xtreme-header-6_b.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header-6_c.C -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-header_a.H -std=c++17 (internal compiler error)
FAIL: g++.dg/modules/xtreme-tr1_a.H -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-tr1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H.gcm)
FAIL: g++.dg/modules/xtreme-tr1_b.C -std=c++17 (test for excess errors)
FAIL: g++.dg/modules/xtreme-tr1_a.H -std=c++2a (internal compiler error)
FAIL: g++.dg/modules/xtreme-tr1_a.H -std=c++2a (test for excess errors)
FAIL: g++.dg/modules/xtreme-tr1_a.H module-cmi
(gcm.cache/home/meissner/fsf-src/trunk/gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H.gcm)
FAIL: g++.dg/modules/xtreme-tr1_b.C -std=c++2a (test for excess errors)
=== g++ Summary ===
# of expected passes 4083
# of unexpected failures 111
# of expected failures 6
# of unresolved testcases 8
It looks like it is failing at gcc/cp/module.cc in two places because the
switch statement did not have a case for REAL_TYPE: Line 8776 (in
trees_out::type_node) and line 9288 (in trees_in::type_node).
There are patches that will be needed for the full IEEE 128-bit long double
support (for built-ins and Decimal/IEEE support), but the current code will
show the problem.
To configure the compiler, you will need GLIBC 2.32 or newer. I use the
Advance Toolchain which provides GLIBC 2.32. I used the options:
--with-long-double-format=ieee
--with-native-system-header-dir=/opt/at14.0/include
--with-advance-toolchain=at14.0
--disable-bootstrap
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] C++ modules support does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
@ 2021-01-12 22:12 ` meissner at gcc dot gnu.org
2021-01-12 23:34 ` segher at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: meissner at gcc dot gnu.org @ 2021-01-12 22:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Michael Meissner <meissner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bergner at gcc dot gnu.org,
| |dje at gcc dot gnu.org,
| |meissner at gcc dot gnu.org,
| |nathan at gcc dot gnu.org,
| |segher at gcc dot gnu.org,
| |wschmidt at gcc dot gnu.org
Priority|P3 |P2
Build| |powerpc64le-gnu-linux
Severity|normal |major
Target| |powerpc64le-gnu-linux
Host| |powerpc64le-gnu-linux
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] C++ modules support does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
2021-01-12 22:12 ` [Bug c++/98645] " meissner at gcc dot gnu.org
@ 2021-01-12 23:34 ` segher at gcc dot gnu.org
2021-01-19 19:55 ` nathan at gcc dot gnu.org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: segher at gcc dot gnu.org @ 2021-01-12 23:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Michael Meissner from comment #0)
> I am tuning up the final patches for providing support to enable the PowerPC
> server compilers to change the default long double from using the IBM
> 128-bit double double format to IEEE 128-bit.
You mean "change the default for powerpc64le-*" I hope? Most other
configurations we cannot change, certainly not before we allow IEEE QP
float everywhere.
> When the default long double is IEEE 128-bit, the powerpc backend needs to
> create a new type (__ibm128) to allow access to the old IBM 128-bit format.
> It looks like the gcc/cp/module.cc code does not have a method of dealing
> with target specific floating point types.
If that is true, this should be a P1. Please figure out if it is true!
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] C++ modules support does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
2021-01-12 22:12 ` [Bug c++/98645] " meissner at gcc dot gnu.org
2021-01-12 23:34 ` segher at gcc dot gnu.org
@ 2021-01-19 19:55 ` nathan at gcc dot gnu.org
2022-01-18 22:42 ` [Bug c++/98645] [modules] " bergner at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: nathan at gcc dot gnu.org @ 2021-01-19 19:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Nathan Sidwell <nathan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2021-01-19
Ever confirmed|0 |1
Status|UNCONFIRMED |ASSIGNED
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (2 preceding siblings ...)
2021-01-19 19:55 ` nathan at gcc dot gnu.org
@ 2022-01-18 22:42 ` bergner at gcc dot gnu.org
2022-01-18 22:47 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: bergner at gcc dot gnu.org @ 2022-01-18 22:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
Mike, what is the status of this bug? Is this still broken?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (3 preceding siblings ...)
2022-01-18 22:42 ` [Bug c++/98645] [modules] " bergner at gcc dot gnu.org
@ 2022-01-18 22:47 ` jakub at gcc dot gnu.org
2022-01-18 22:49 ` jakub at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-01-18 22:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
*** Bug 104052 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (4 preceding siblings ...)
2022-01-18 22:47 ` jakub at gcc dot gnu.org
@ 2022-01-18 22:49 ` jakub at gcc dot gnu.org
2022-05-19 22:59 ` bergner at gcc dot gnu.org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-01-18 22:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
PR104052 has maybe more detailed analysis.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (5 preceding siblings ...)
2022-01-18 22:49 ` jakub at gcc dot gnu.org
@ 2022-05-19 22:59 ` bergner at gcc dot gnu.org
2022-05-20 3:43 ` jakub at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: bergner at gcc dot gnu.org @ 2022-05-19 22:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |redi at gcc dot gnu.org
--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> ---
With all of the patches Jonathan, Jakub, Mike, etc. put in to get IEEE128
working in C++/libstdc++, is this still a problem? I'm guessing these are
working and we can just mark this as FIXED.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (6 preceding siblings ...)
2022-05-19 22:59 ` bergner at gcc dot gnu.org
@ 2022-05-20 3:43 ` jakub at gcc dot gnu.org
2022-06-20 22:50 ` pinskia at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-05-20 3:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
No, this isn't fixed, it is still broken.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (7 preceding siblings ...)
2022-05-20 3:43 ` jakub at gcc dot gnu.org
@ 2022-06-20 22:50 ` pinskia at gcc dot gnu.org
2022-10-27 14:40 ` seurer at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2022-06-20 22:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |seurer at gcc dot gnu.org
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 106034 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (8 preceding siblings ...)
2022-06-20 22:50 ` pinskia at gcc dot gnu.org
@ 2022-10-27 14:40 ` seurer at gcc dot gnu.org
2024-03-12 13:42 ` cvs-commit at gcc dot gnu.org
2024-03-12 13:44 ` nshead at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: seurer at gcc dot gnu.org @ 2022-10-27 14:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
--- Comment #8 from seurer at gcc dot gnu.org ---
Here is the list of the current failures for trunk (they all fail with gcc 12
too). I did not include the xtreme-header ones as those are flakey and fail
elsewhere, too (there are several PRs open about them).
FAIL: g++.dg/modules/binding-1_a.H -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/binding-1_a.H -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/binding-1_a.H -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/binding-1_b.H -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/binding-1_b.H -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/binding-1_b.H -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/global-3_a.C -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/global-3_a.C -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/global-3_a.C -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/hello-1_a.C -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/hello-1_a.C -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/hello-1_a.C -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/iostream-1_a.H -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/iostream-1_a.H -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/iostream-1_a.H -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99023_b.X -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99023_b.X -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99023_b.X -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99166_a.X -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99166_a.X -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99166_a.X -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99425-2_a.X -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99425-2_a.X -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99425-2_a.X -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99425-2_b.X -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99425-2_b.X -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/pr99425-2_b.X -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/string-1_a.H -std=c++17 (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/string-1_a.H -std=c++2a (internal compiler error: in
type_node, at cp/module.cc:8878)
FAIL: g++.dg/modules/string-1_a.H -std=c++2b (internal compiler error: in
type_node, at cp/module.cc:8878)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (9 preceding siblings ...)
2022-10-27 14:40 ` seurer at gcc dot gnu.org
@ 2024-03-12 13:42 ` cvs-commit at gcc dot gnu.org
2024-03-12 13:44 ` nshead at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-12 13:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Nathaniel Shead <nshead@gcc.gnu.org>:
https://gcc.gnu.org/g:4aa87b856067d4911de8fb66b3a27659dc75ca6d
commit r14-9439-g4aa87b856067d4911de8fb66b3a27659dc75ca6d
Author: Nathaniel Shead <nathanieloshead@gmail.com>
Date: Sun Mar 10 22:06:18 2024 +1100
c++: Support target-specific nodes when streaming modules [PR111224]
Some targets make use of POLY_INT_CSTs and other custom builtin types,
which currently violate some assumptions when streaming. This patch adds
support for them, such as types like Aarch64 __fp16, PowerPC __ibm128,
and vector types thereof.
This patch doesn't provide "full" support of AArch64 SVE, however, since
for that we would need to support 'target' nodes (tracked in PR108080).
Adding the new builtin types means that on Aarch64 we now have 217
global trees created on initialisation (up from 191), so this patch also
slightly bumps the initial size of the fixed_trees allocation to 250.
PR c++/98645
PR c++/98688
PR c++/111224
gcc/cp/ChangeLog:
* module.cc (enum tree_tag): Add new tag for builtin types.
(trees_out::start): POLY_INT_CSTs can be emitted.
(trees_in::start): Likewise.
(trees_out::core_vals): Stream POLY_INT_CSTs.
(trees_in::core_vals): Likewise.
(trees_out::type_node): Handle vectors with multiple coeffs.
(trees_in::tree_node): Likewise.
(init_modules): Register target-specific builtin types. Bump
initial capacity slightly.
gcc/testsuite/ChangeLog:
* g++.dg/modules/target-aarch64-1_a.C: New test.
* g++.dg/modules/target-aarch64-1_b.C: New test.
* g++.dg/modules/target-powerpc-1_a.C: New test.
* g++.dg/modules/target-powerpc-1_b.C: New test.
* g++.dg/modules/target-powerpc-2_a.C: New test.
* g++.dg/modules/target-powerpc-2_b.C: New test.
Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Reviewed-by: Patrick Palka <ppalka@redhat.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/98645] [modules] does not work on PowerPC with IEEE 128-bit long double
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
` (10 preceding siblings ...)
2024-03-12 13:42 ` cvs-commit at gcc dot gnu.org
@ 2024-03-12 13:44 ` nshead at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: nshead at gcc dot gnu.org @ 2024-03-12 13:44 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98645
Nathaniel Shead <nshead at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
Assignee|nathan at gcc dot gnu.org |nshead at gcc dot gnu.org
Target Milestone|--- |14.0
CC| |nshead at gcc dot gnu.org
--- Comment #10 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Fixed for GCC 14.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-03-12 13:44 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-12 22:09 [Bug c++/98645] New: C++ modules support does not work on PowerPC with IEEE 128-bit long double meissner at gcc dot gnu.org
2021-01-12 22:12 ` [Bug c++/98645] " meissner at gcc dot gnu.org
2021-01-12 23:34 ` segher at gcc dot gnu.org
2021-01-19 19:55 ` nathan at gcc dot gnu.org
2022-01-18 22:42 ` [Bug c++/98645] [modules] " bergner at gcc dot gnu.org
2022-01-18 22:47 ` jakub at gcc dot gnu.org
2022-01-18 22:49 ` jakub at gcc dot gnu.org
2022-05-19 22:59 ` bergner at gcc dot gnu.org
2022-05-20 3:43 ` jakub at gcc dot gnu.org
2022-06-20 22:50 ` pinskia at gcc dot gnu.org
2022-10-27 14:40 ` seurer at gcc dot gnu.org
2024-03-12 13:42 ` cvs-commit at gcc dot gnu.org
2024-03-12 13:44 ` nshead at gcc dot gnu.org
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).