#
ee970480 |
| 05-Sep-2023 |
schwarze <schwarze@openbsd.org> |
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, acco
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@.
show more ...
|
#
46c354aa |
| 20-Aug-2023 |
schwarze <schwarze@openbsd.org> |
Provide C11 <uchar.h>. OK millert@. Tested by naddy@ in a bulk and by matthieu@ in the new foot(1) port. I originally wrote the code in 2022 at the prodding of espie@. Using one improvement to a manu
Provide C11 <uchar.h>. OK millert@. Tested by naddy@ in a bulk and by matthieu@ in the new foot(1) port. I originally wrote the code in 2022 at the prodding of espie@. Using one improvement to a manual page from jmc@.
show more ...
|