commit | c6fd07cdecce8fc3a517258d5145e89cd2781a9b | [log] [tgz] |
---|---|---|
author | Joshua Root <jmr@macports.org> | Fri Nov 22 21:44:57 2019 +1100 |
committer | Jeff Genovy <29107334+jefgen@users.noreply.github.com> | Wed Dec 11 18:41:27 2019 -0800 |
tree | df821d6faa4ced426469e231d5933b3cf9f0a8ed | |
parent | 619648e24ebd41cfbd67c22ae0b8893ee84be03b [diff] |
ICU-20904 Don't use char16_t with C++98/03 When C code includes the ICU headers, the UChar type is defined to be uint16_t. But when C++ code includes the headers, UChar is char16_t even when U_SHOW_CPLUSPLUS_API has been set to 0. Apart from arguably being an inconsistency in the API, this means that C++98 or C++03 code can't use the C API even though C99 code can. So, change unicode/umachine.h to check not just whether __cplusplus is defined but the value of U_CPLUSPLUS_VERSION when deciding how to typedef UChar.
This is the repository for the International Components for Unicode. The ICU project is under the stewardship of The Unicode Consortium.
Build | Status |
---|---|
TravisCI | |
Azure Pipelines | |
Azure Pipelines (Exhaustive Tests) | |
AppVeyor | |
Fuzzing |
icu4c/
ICU for C/C++icu4j/
ICU for Javatools/
Toolsvendor/
Vendor dependenciesPlease see ./icu4c/LICENSE (C and J are under an identical license file.)
Copyright © 2016 and later Unicode, Inc. and others. All Rights Reserved. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. Terms of Use and License