summaryrefslogtreecommitdiff
path: root/include/libc-symbols.h
diff options
context:
space:
mode:
authorMarcus Hähnel <marcus.haehnel@kernkonzept.com>2023-10-22 21:44:45 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2023-11-02 09:52:24 +0100
commit8166707a3350ce1fdaf669fb3836810727379342 (patch)
treed368e52e7543a17dc238b733918cdade9022306f /include/libc-symbols.h
parentbdbe7da9dbedc66a0b27432e6ae0004a17c5dd65 (diff)
setjmp.h: Fix C++ build and avoid duplicate throw declaration
Commit 21cbb6fe ("unistd.h: put getppid under XOPEN2K8") introduced a new __THROWNL specification for non-leaf throws. It also made use of these in the setjmp.h header. The functions that use this specification (longjmp and siglongjmp) have their extern __libc__* equivalent definition prototype specified using __typeof__ for the internal function signatures. For C++ this copies the throw() specifier, since this is part of the type for C++. The attribute in C is not. This commit explicitly types out the signature for the two functions to be compatible between the C++ and C worlds. An alternative would be to keep the __typeof__ declaration and use the copy attribute. Then the __THROWNL part could be thrown out since the C attribute would be copied and the C++ exception specifier would be part of the signature from __type__. However, since the copy attribute is not supported for all compilers supported by uclibc-ng this is not viable at this time.
Diffstat (limited to 'include/libc-symbols.h')
0 files changed, 0 insertions, 0 deletions