https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124554

            Bug ID: 124554
           Summary: [16 Regression] with newlib, libstdc++ build fails
                    with 'variable or field ‘longjmp’ declared void' since
                    r16-8118-gc362a260ca2032
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: redi at gcc dot gnu.org
  Target Milestone: ---
            Target: gcn, nvptx

Since r16-8118-gc362a260ca2032
  libstdc++: Add module initialization functions to the library [PR124268]
building GCC for nvptx and gcn with in-tree newlib (git version) fails with:

make[5]: Entering directory '..../nvptx-none/libstdc++-v3/src/c++23'

In file included from ..../nvptx-none/libstdc++-v3/include/csetjmp:47,
                 from
..../nvptx-none/libstdc++-v3/include/nvptx-none/bits/stdc++.h:36,
                 from std.cc:26:
..../repos/gcc/newlib/libc/include/setjmp.h:15:9: error: variable or field
‘longjmp’ declared void
   15 | void    longjmp (jmp_buf __jmpb, int __retval) __dead2;
      |         ^~~~~~~
..../repos/gcc/newlib/libc/include/setjmp.h:15:18: error: ‘jmp_buf’ was not
declared in this scope
   15 | void    longjmp (jmp_buf __jmpb, int __retval) __dead2;
      |                  ^~~~~~~

Newlib's setjmp.h is at
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/setjmp.h

Reply via email to