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).