[libc++][format] Fixes default string alignment.

Fixes https://llvm.org/PR58315

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D137017
This commit is contained in:
Mark de Wever 2022-10-29 12:50:26 +02:00
parent 45f81e904f
commit 84cdfbcd55
4 changed files with 6 additions and 6 deletions

View File

@ -52,7 +52,7 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr void set_debug_format() { __parser_.__type_ = __format_spec::__type::__debug; }
# endif
__format_spec::__parser<_CharT> __parser_;
__format_spec::__parser<_CharT> __parser_{.__alignment_ = __format_spec::__alignment::__left};
};
// Formatter const char*.

View File

@ -321,7 +321,7 @@ void test_format_functions(TestFunction check) {
check(SV("\"hello\u0308\"***"), SV("{:*<{}?}"), SV("hello\u0308"), sizeof(CharT) == 1 ? 12 : 11);
// *** width ***
check(SV(R"( "hello")"), SV("{:10?}"), SV("hello"));
check(SV(R"("hello" )"), SV("{:10?}"), SV("hello"));
// *** precision ***
check(SV(R"("hell)"), SV("{:.5?}"), SV("hello"));

View File

@ -391,9 +391,9 @@ void test_format_functions(TestFunction check) {
check(SV(R"("hello 🤷🏻\u{200d}\u{fe0f}"***)"), SV("{:*<30?}"), SV("hello 🤷🏻‍♂️"));
// *** width ***
check(SV(R"( "hellö")"), SV("{:10?}"), SV("hellö"));
check(SV(R"( "hello\u{308}")"), SV("{:17?}"), SV("hello\u0308"));
check(SV(R"( "hello 🤷🏻\u{200d}\u{fe0f}")"), SV("{:30?}"), SV("hello 🤷🏻‍♂️"));
check(SV(R"("hellö" )"), SV("{:10?}"), SV("hellö"));
check(SV(R"("hello\u{308}" )"), SV("{:17?}"), SV("hello\u0308"));
check(SV(R"("hello 🤷🏻\u{200d}\u{fe0f}" )"), SV("{:30?}"), SV("hello 🤷🏻‍♂️"));
// *** precision ***
check(SV(R"("hell)"), SV("{:.5?}"), SV("hellö"));

View File

@ -201,6 +201,7 @@ void format_test_string(const W& world, const U& universe, TestFunction check, E
check(SV("hello universe and world"), SV("hello {1} and {0}"), world, universe);
check(SV("hello world"), SV("hello {:_>}"), world);
check(SV("hello world "), SV("hello {:8}"), world);
check(SV("hello world"), SV("hello {:>8}"), world);
check(SV("hello ___world"), SV("hello {:_>8}"), world);
check(SV("hello _world__"), SV("hello {:_^8}"), world);
@ -883,7 +884,6 @@ void format_test_char(TestFunction check, ExceptionTest check_exception) {
// ***** Char type *****
// *** align-fill & width ***
check(SV("answer is '* '"), SV("answer is '{:6}'"), CharT('*'));
check(SV("answer is ' *'"), SV("answer is '{:>6}'"), CharT('*'));
check(SV("answer is '* '"), SV("answer is '{:<6}'"), CharT('*'));
check(SV("answer is ' * '"), SV("answer is '{:^6}'"), CharT('*'));