-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Open
Description
Describe the issue
charN_t are cast to char32_t before being displayed using the U+xxxx notation.
This is incorrect for values that do not represent valid codepoints, such as lone surrogates, char8_t values outside the basic Latin1 range, etc.
This was found by a Clang warning to detect incorrect conversions between charN_t that we are rolling out,
Steps to reproduce the problem
https://compiler-explorer.com/z/xE56jbK5M
#include <gtest/gtest-printers.h>
#include <iostream>
int main() {
testing::internal::PrintTo(char8_t(0x80),
&std::cout);
}What version of GoogleTest are you using?
trunk
What operating system and version are you using?
What compiler and version are you using?
clang trunk
What build system are you using?
Additional context
No response
eustas and aobolensk
Metadata
Metadata
Assignees
Labels
No labels