Fix compilation of iconv tests with libcxx 19 - #182
Open
al3xtjames wants to merge 1 commit into
Open
Conversation
[libcxx 18 deprecated the `std::basic_string` template specializations for `int16_t` and `int32_t`][1], which are currently used by the iconv tests. [The template specializations were removed altogether in libcxx 19][2], which breaks compilation of the iconv tests. Replace `int16_t` and `int32_t` with `char16_t` and `char32_t` to fix compilation with libcxx 19. I added the `static_assert` for checking the sizes of `char16_t` and `char32_t` as [the standard allows them to contain padding bytes][3]. [1]: https://reviews.llvm.org/D138307 [2]: https://reviews.llvm.org/D157058 [3]: https://en.cppreference.com/w/cpp/language/types#char16_t
mojie126
added a commit
to mojie126/Aegisub
that referenced
this pull request
Feb 28, 2026
- 适配上游提交 0b40de8:C++20标准、Boost移除、std::filesystem替换 - 修复编译错误:agi::make_unique→std::make_unique、fs_fwd.h→filesystem - 修复链接错误:统一函数签名为string_view - 修复thesaurus透明比较器、dispatch DoInvoke签名、mkv_wrap string_view适配 - 保留自定义功能:压缩字幕支持(mkv_wrap)、DirectWrite字体(font_file_lister_gdi) - .gitignore:排除docs/*.md和docs/*.txt临时文件
mojie126
added a commit
to mojie126/Aegisub
that referenced
this pull request
Mar 19, 2026
- 适配上游提交 10843b9:C++20标准、Boost移除、std::filesystem替换 - 修复编译错误:agi::make_unique→std::make_unique、fs_fwd.h→filesystem - 修复链接错误:统一函数签名为string_view - 修复thesaurus透明比较器、dispatch DoInvoke签名、mkv_wrap string_view适配 - 保留自定义功能:压缩字幕支持(mkv_wrap)、DirectWrite字体(font_file_lister_gdi) - .gitignore:排除docs/*.md和docs/*.txt临时文件
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
libcxx 18 deprecated the
std::basic_stringtemplate specializations forint16_tandint32_t, which are currently used by the iconv tests. The template specializations were removed altogether in libcxx 19, which breaks compilation of the iconv tests. Replaceint16_tandint32_twithchar16_tandchar32_tto fix compilation with libcxx 19.I added the
static_assertfor checking the sizes ofchar16_tandchar32_tas the standard allows them to contain padding bytes.Fixes #181.