diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2023-09-05 23:16:02 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2023-09-05 23:16:02 +0000 |
commit | b31ca559c4df8d0fea7515be8ca0161aad0f6c9d (patch) | |
tree | 6a27c31133738bede7bc1e2480c386baf175935c /sys/arch/octeon | |
parent | 219500d8b53cd336cc09088fbb4c88192f2d800d (diff) |
According to the C11 standard, char32_t and char16_t are not part
of the C language but are part of the C library and have to be
declared in <uchar.h> - see paragraph 7.28.2.
In stark contrast, according to the C++11 standard, char32_t and char16_t
are part of the C++ language, namely, keywords - see paragraph 2.12.1.
Consequently, they must not be declared in a header file.
To resolve this vile contradiction, use the predefined macro __cplusplus
to find out which language is in use for the current compilation unit -
see C11 paragraph 6.10.8.3 and C++11 paragraph 16.8.1.
Reminded of the problem by naddy@.
OK naddy@ who tested in make build / make release.
Looks reasonable to millert@.
Diffstat (limited to 'sys/arch/octeon')
0 files changed, 0 insertions, 0 deletions