Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FMT_USE_FLOAT128 set when using x86 qemu on x86_64 #2969

Closed
a16bitsysop opened this issue Jul 5, 2022 · 11 comments
Closed

FMT_USE_FLOAT128 set when using x86 qemu on x86_64 #2969

a16bitsysop opened this issue Jul 5, 2022 · 11 comments

Comments

@a16bitsysop
Copy link

When compiling locally using docker and qemu and the alpine CI two tests fail only on x86 (they pass on armhf and armv7)

https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/760512#L404

and

https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/760512#L497

They both look they are using 128bit on a 32bit platform because FMT_USE_FLOAT128 is being set to true in format.h

# define FMT_USE_FLOAT128 1

@nekopsykose
Copy link

They both look they are using 128bit on a 32bit platform because FMT_USE_FLOAT128 is being set to true in format.h

specifically, the #if checks if __SIZEOF_FLOAT128__ is defined, and it is defined as 16 on our (alpine) x86 toolchain- looking around this doesn't seem to be invalid at first glance (having 128-bit floats on 32-bit x86), but i don't really know for sure.

@xvitaly
Copy link
Contributor

xvitaly commented Jul 6, 2022

Same issue on Fedora 37. Tests fails on x86-32:

Test project /builddir/build/BUILD/fmt-9.0.0/redhat-linux-build
      Start  1: args-test
      Start  2: assert-test
      Start  3: chrono-test
      Start  4: color-test
      Start  5: core-test
      Start  6: gtest-extra-test
 1/20 Test  #1: args-test ........................   Passed    0.01 sec
      Start  7: format-test
 2/20 Test  #2: assert-test ......................   Passed    0.01 sec
      Start  8: format-impl-test
 3/20 Test  #4: color-test .......................   Passed    0.01 sec
      Start  9: ostream-test
 4/20 Test  #5: core-test ........................   Passed    0.01 sec
      Start 10: compile-test
 5/20 Test  #6: gtest-extra-test .................   Passed    0.01 sec
      Start 11: compile-fp-test
 6/20 Test  #9: ostream-test .....................   Passed    0.00 sec
      Start 12: printf-test
 7/20 Test #10: compile-test .....................   Passed    0.00 sec
      Start 13: ranges-test
 8/20 Test #11: compile-fp-test ..................   Passed    0.00 sec
      Start 14: scan-test
 9/20 Test #13: ranges-test ......................   Passed    0.00 sec
      Start 15: std-test
10/20 Test #12: printf-test ......................   Passed    0.01 sec
      Start 16: unicode-test
11/20 Test  #7: format-test ......................***Failed    0.01 sec
[==========] Running 106 tests from 6 test suites.
[----------] Global test environment set-up.
[----------] 5 tests from uint128_test
[ RUN      ] uint128_test.ctor
[       OK ] uint128_test.ctor (0 ms)
[ RUN      ] uint128_test.shift
[       OK ] uint128_test.shift (0 ms)
[ RUN      ] uint128_test.minus
[       OK ] uint128_test.minus (0 ms)
[ RUN      ] uint128_test.plus_assign
[       OK ] uint128_test.plus_assign (0 ms)
[ RUN      ] uint128_test.multiply
[       OK ] uint128_test.multiply (0 ms)
[----------] 5 tests from uint128_test (0 ms total)
[----------] 2 tests from float_test
[ RUN      ] float_test.isfinite
[       OK ] float_test.isfinite (0 ms)
[ RUN      ] float_test.isnan
[       OK ] float_test.isnan (0 ms)
[----------] 2 tests from float_test (0 ms total)
[----------] 9 tests from util_test
[ RUN      ] util_test.bit_cast
[       OK ] util_test.bit_cast (0 ms)
[ RUN      ] util_test.increment
[       OK ] util_test.increment (0 ms)
[ RUN      ] util_test.parse_nonnegative_int
[       OK ] util_test.parse_nonnegative_int (0 ms)
[ RUN      ] util_test.utf8_to_utf16
[       OK ] util_test.utf8_to_utf16 (0 ms)
[ RUN      ] util_test.utf8_to_utf16_empty_string
[       OK ] util_test.utf8_to_utf16_empty_string (0 ms)
[ RUN      ] util_test.allocator_ref
[       OK ] util_test.allocator_ref (0 ms)
[ RUN      ] util_test.format_system_error
warning: std::allocator allocates 2147483647 chars[       OK ] util_test.format_system_error (0 ms)
[ RUN      ] util_test.system_error
[       OK ] util_test.system_error (0 ms)
[ RUN      ] util_test.report_system_error
[       OK ] util_test.report_system_error (0 ms)
[----------] 9 tests from util_test (0 ms total)
[----------] 9 tests from memory_buffer_test
[ RUN      ] memory_buffer_test.ctor
[       OK ] memory_buffer_test.ctor (0 ms)
[ RUN      ] memory_buffer_test.move_ctor_inline_buffer
[       OK ] memory_buffer_test.move_ctor_inline_buffer (0 ms)
[ RUN      ] memory_buffer_test.move_ctor_dynamic_buffer
[       OK ] memory_buffer_test.move_ctor_dynamic_buffer (0 ms)
[ RUN      ] memory_buffer_test.move_assignment
[       OK ] memory_buffer_test.move_assignment (0 ms)
[ RUN      ] memory_buffer_test.grow
[       OK ] memory_buffer_test.grow (0 ms)
[ RUN      ] memory_buffer_test.allocator
[       OK ] memory_buffer_test.allocator (0 ms)
[ RUN      ] memory_buffer_test.exception_in_deallocate
[       OK ] memory_buffer_test.exception_in_deallocate (0 ms)
[ RUN      ] memory_buffer_test.max_size_allocator
[       OK ] memory_buffer_test.max_size_allocator (0 ms)
[ RUN      ] memory_buffer_test.max_size_allocator_overflow
[       OK ] memory_buffer_test.max_size_allocator_overflow (0 ms)
[----------] 9 tests from memory_buffer_test (0 ms total)
[----------] 79 tests from format_test
[ RUN      ] format_test.escape
[       OK ] format_test.escape (0 ms)
[ RUN      ] format_test.unmatched_braces
[       OK ] format_test.unmatched_braces (0 ms)
[ RUN      ] format_test.no_args
[       OK ] format_test.no_args (0 ms)
[ RUN      ] format_test.args_in_different_positions
[       OK ] format_test.args_in_different_positions (0 ms)
[ RUN      ] format_test.arg_errors
[       OK ] format_test.arg_errors (0 ms)
[ RUN      ] format_test.many_args
[       OK ] format_test.many_args (0 ms)
[ RUN      ] format_test.named_arg
[       OK ] format_test.named_arg (0 ms)
[ RUN      ] format_test.auto_arg_index
[       OK ] format_test.auto_arg_index (0 ms)
[ RUN      ] format_test.empty_specs
[       OK ] format_test.empty_specs (0 ms)
[ RUN      ] format_test.left_align
[       OK ] format_test.left_align (0 ms)
[ RUN      ] format_test.right_align
[       OK ] format_test.right_align (0 ms)
[ RUN      ] format_test.center_align
[       OK ] format_test.center_align (0 ms)
[ RUN      ] format_test.fill
[       OK ] format_test.fill (0 ms)
[ RUN      ] format_test.plus_sign
[       OK ] format_test.plus_sign (0 ms)
[ RUN      ] format_test.minus_sign
[       OK ] format_test.minus_sign (0 ms)
[ RUN      ] format_test.space_sign
[       OK ] format_test.space_sign (0 ms)
[ RUN      ] format_test.hash_flag
[       OK ] format_test.hash_flag (0 ms)
[ RUN      ] format_test.zero_flag
[       OK ] format_test.zero_flag (0 ms)
[ RUN      ] format_test.width
[       OK ] format_test.width (0 ms)
[ RUN      ] format_test.runtime_width
[       OK ] format_test.runtime_width (0 ms)
[ RUN      ] format_test.precision
[       OK ] format_test.precision (0 ms)
[ RUN      ] format_test.runtime_precision
[       OK ] format_test.runtime_precision (0 ms)
[ RUN      ] format_test.format_bool
[       OK ] format_test.format_bool (0 ms)
[ RUN      ] format_test.format_short
[       OK ] format_test.format_short (0 ms)
[ RUN      ] format_test.format_int
[       OK ] format_test.format_int (1 ms)
[ RUN      ] format_test.format_bin
[       OK ] format_test.format_bin (0 ms)
[ RUN      ] format_test.format_dec
[       OK ] format_test.format_dec (0 ms)
[ RUN      ] format_test.format_hex
[       OK ] format_test.format_hex (0 ms)
[ RUN      ] format_test.format_oct
[       OK ] format_test.format_oct (0 ms)
[ RUN      ] format_test.format_int_locale
[       OK ] format_test.format_int_locale (0 ms)
[ RUN      ] format_test.format_float
[       OK ] format_test.format_float (0 ms)
[ RUN      ] format_test.format_double
[       OK ] format_test.format_double (1 ms)
[ RUN      ] format_test.precision_rounding
[       OK ] format_test.precision_rounding (0 ms)
[ RUN      ] format_test.prettify_float
[       OK ] format_test.prettify_float (0 ms)
[ RUN      ] format_test.format_nan
[       OK ] format_test.format_nan (0 ms)
[ RUN      ] format_test.format_infinity
[       OK ] format_test.format_infinity (0 ms)
[ RUN      ] format_test.format_long_double
[       OK ] format_test.format_long_double (0 ms)
[ RUN      ] format_test.format_char
[       OK ] format_test.format_char (1 ms)
[ RUN      ] format_test.format_volatile_char
[       OK ] format_test.format_volatile_char (0 ms)
[ RUN      ] format_test.format_unsigned_char
[       OK ] format_test.format_unsigned_char (0 ms)
[ RUN      ] format_test.format_cstring
[       OK ] format_test.format_cstring (1 ms)
[ RUN      ] format_test.format_pointer
[       OK ] format_test.format_pointer (1 ms)
[ RUN      ] format_test.write_uintptr_fallback
[       OK ] format_test.write_uintptr_fallback (0 ms)
[ RUN      ] format_test.format_enum_class
[       OK ] format_test.format_enum_class (0 ms)
[ RUN      ] format_test.format_string
[       OK ] format_test.format_string (0 ms)
[ RUN      ] format_test.format_string_view
[       OK ] format_test.format_string_view (0 ms)
[ RUN      ] format_test.format_convertible_to_anything
[       OK ] format_test.format_convertible_to_anything (0 ms)
[ RUN      ] format_test.format_custom
[       OK ] format_test.format_custom (0 ms)
[ RUN      ] format_test.format_to_custom
[       OK ] format_test.format_to_custom (0 ms)
[ RUN      ] format_test.format_string_from_speed_test
[       OK ] format_test.format_string_from_speed_test (0 ms)
[ RUN      ] format_test.format_examples
[       OK ] format_test.format_examples (0 ms)
[ RUN      ] format_test.print
[       OK ] format_test.print (0 ms)
[ RUN      ] format_test.variadic
[       OK ] format_test.variadic (0 ms)
[ RUN      ] format_test.dynamic
[       OK ] format_test.dynamic (0 ms)
[ RUN      ] format_test.bytes
[       OK ] format_test.bytes (0 ms)
[ RUN      ] format_test.group_digits_view
[       OK ] format_test.group_digits_view (0 ms)
[ RUN      ] format_test.join
[       OK ] format_test.join (0 ms)
[ RUN      ] format_test.format_message_example
[       OK ] format_test.format_message_example (0 ms)
[ RUN      ] format_test.unpacked_args
[       OK ] format_test.unpacked_args (0 ms)
[ RUN      ] format_test.compile_time_string
[       OK ] format_test.compile_time_string (0 ms)
[ RUN      ] format_test.custom_format_compile_time_string
[       OK ] format_test.custom_format_compile_time_string (0 ms)
[ RUN      ] format_test.named_arg_udl
[       OK ] format_test.named_arg_udl (0 ms)
[ RUN      ] format_test.enum
[       OK ] format_test.enum (0 ms)
[ RUN      ] format_test.formatter_not_specialized
[       OK ] format_test.formatter_not_specialized (0 ms)
[ RUN      ] format_test.non_null_terminated_format_string
[       OK ] format_test.non_null_terminated_format_string (0 ms)
[ RUN      ] format_test.dynamic_formatter
[       OK ] format_test.dynamic_formatter (0 ms)
[ RUN      ] format_test.to_string
/builddir/build/BUILD/fmt-9.0.0/test/format-test.cc:1991: Failure
Expected equality of these values:
  fmt::to_string(__float128(0.5))
    Which is: "5.5077973690462315819595188003364951136e-4928"
  "0.5"
[  FAILED  ] format_test.to_string (0 ms)
[ RUN      ] format_test.output_iterators
[       OK ] format_test.output_iterators (0 ms)
[ RUN      ] format_test.formatted_size
[       OK ] format_test.formatted_size (0 ms)
[ RUN      ] format_test.format_to_no_args
[       OK ] format_test.format_to_no_args (0 ms)
[ RUN      ] format_test.format_to
[       OK ] format_test.format_to (0 ms)
[ RUN      ] format_test.format_to_memory_buffer
[       OK ] format_test.format_to_memory_buffer (0 ms)
[ RUN      ] format_test.format_to_vector
[       OK ] format_test.format_to_vector (0 ms)
[ RUN      ] format_test.format_to_propagates_exceptions
[       OK ] format_test.format_to_propagates_exceptions (0 ms)
[ RUN      ] format_test.format_to_n
[       OK ] format_test.format_to_n (0 ms)
[ RUN      ] format_test.format_to_n_output_iterator
[       OK ] format_test.format_to_n_output_iterator (0 ms)
[ RUN      ] format_test.char_traits_is_not_ambiguous
[       OK ] format_test.char_traits_is_not_ambiguous (0 ms)
[ RUN      ] format_test.back_insert_slicing
[       OK ] format_test.back_insert_slicing (0 ms)
[ RUN      ] format_test.test_formatters_enabled
[       OK ] format_test.test_formatters_enabled (0 ms)
[----------] 79 tests from format_test (10 ms total)
[----------] 2 tests from format_int_test
[ RUN      ] format_int_test.data
[       OK ] format_int_test.data (0 ms)
[ RUN      ] format_int_test.format_int
[       OK ] format_int_test.format_int (0 ms)
[----------] 2 tests from format_int_test (0 ms total)
[----------] Global test environment tear-down
[==========] 106 tests from 6 test suites ran. (10 ms total)
[  PASSED  ] 105 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] format_test.to_string
 1 FAILED TEST
      Start 17: xchar-test
12/20 Test #15: std-test .........................   Passed    0.01 sec
      Start 18: enforce-checks-test
13/20 Test #16: unicode-test .....................   Passed    0.01 sec
      Start 19: posix-mock-test
14/20 Test #14: scan-test ........................   Passed    0.01 sec
      Start 20: os-test
15/20 Test  #8: format-impl-test .................***Failed    0.02 sec
[==========] Running 24 tests from 4 test suites.
[----------] Global test environment set-up.
[----------] 1 test from header_only_test
[ RUN      ] header_only_test.format
[       OK ] header_only_test.format (0 ms)
[----------] 1 test from header_only_test (0 ms total)
[----------] 10 tests from bigint_test
[ RUN      ] bigint_test.construct
[       OK ] bigint_test.construct (0 ms)
[ RUN      ] bigint_test.compare
[       OK ] bigint_test.compare (0 ms)
[ RUN      ] bigint_test.add_compare
[       OK ] bigint_test.add_compare (0 ms)
[ RUN      ] bigint_test.shift_left
[       OK ] bigint_test.shift_left (0 ms)
[ RUN      ] bigint_test.multiply
[       OK ] bigint_test.multiply (0 ms)
[ RUN      ] bigint_test.square
[       OK ] bigint_test.square (0 ms)
[ RUN      ] bigint_test.divmod_assign_zero_divisor
[       OK ] bigint_test.divmod_assign_zero_divisor (0 ms)
[ RUN      ] bigint_test.divmod_assign_self
[       OK ] bigint_test.divmod_assign_self (0 ms)
[ RUN      ] bigint_test.divmod_assign_unaligned
[       OK ] bigint_test.divmod_assign_unaligned (0 ms)
[ RUN      ] bigint_test.divmod_assign
[       OK ] bigint_test.divmod_assign (0 ms)
[----------] 10 tests from bigint_test (0 ms total)
[----------] 8 tests from fp_test
[ RUN      ] fp_test.double_tests
[       OK ] fp_test.double_tests (0 ms)
[ RUN      ] fp_test.normalize
[       OK ] fp_test.normalize (0 ms)
[ RUN      ] fp_test.multiply
[       OK ] fp_test.multiply (0 ms)
[ RUN      ] fp_test.get_cached_power
[       OK ] fp_test.get_cached_power (14 ms)
[ RUN      ] fp_test.dragonbox_max_k
[       OK ] fp_test.dragonbox_max_k (0 ms)
[ RUN      ] fp_test.get_round_direction
[       OK ] fp_test.get_round_direction (0 ms)
[ RUN      ] fp_test.fixed_handler
[       OK ] fp_test.fixed_handler (0 ms)
[ RUN      ] fp_test.grisu_format_compiles_with_on_ieee_double
[       OK ] fp_test.grisu_format_compiles_with_on_ieee_double (0 ms)
[----------] 8 tests from fp_test (14 ms total)
[----------] 5 tests from format_impl_test
[ RUN      ] format_impl_test.format_error_code
[       OK ] format_impl_test.format_error_code (0 ms)
[ RUN      ] format_impl_test.compute_width
[       OK ] format_impl_test.compute_width (0 ms)
[ RUN      ] format_impl_test.count_digits
[       OK ] format_impl_test.count_digits (0 ms)
[ RUN      ] format_impl_test.write_float128
/builddir/build/BUILD/fmt-9.0.0/test/format-impl-test.cc:360: Failure
Expected equality of these values:
  s
    Which is: "5.5099196966553210909853471157086794699e-4928"
  "42"
[  FAILED  ] format_impl_test.write_float128 (0 ms)
[ RUN      ] format_impl_test.write_double_double
[       OK ] format_impl_test.write_double_double (0 ms)
[----------] 5 tests from format_impl_test (0 ms total)
[----------] Global test environment tear-down
[==========] 24 tests from 4 test suites ran. (14 ms total)
[  PASSED  ] 23 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] format_impl_test.write_float128
 1 FAILED TEST
16/20 Test #17: xchar-test .......................   Passed    0.00 sec
17/20 Test #18: enforce-checks-test ..............   Passed    0.00 sec
18/20 Test #19: posix-mock-test ..................   Passed    0.00 sec
19/20 Test #20: os-test ..........................   Passed    0.00 sec
20/20 Test  #3: chrono-test ......................   Passed    0.10 sec
90% tests passed, 2 tests failed out of 20

@xvitaly
Copy link
Contributor

xvitaly commented Jul 6, 2022

Regression introduced by 0419d23 commit.

@sergiud
Copy link
Contributor

sergiud commented Jul 6, 2022

On a related note: is there a specific reason why these two checks

#ifdef __SIZEOF_FLOAT128__

#ifdef __SIZEOF_FLOAT128__

use __SIZEOF_FLOAT128__ directly instead of FMT_USE_FLOAT128?

The reason I'm asking is that I have a Clang based musl toolchain claiming to provide __float128 support but fails during linking with undefined references, e.g., to __trunctfdf2 and other symbols. While this is likely not an fmt issue, it is currently impossible to override __float128 detection.

Interestingly enough, the linker issues occur only with x86_64 version of the Clang musl toolchain, but not arm64-v8a.

@vitaut
Copy link
Contributor

vitaut commented Jul 7, 2022

Additionally there is a FP-related chrono-test failure on Debian: #2975:

./test/chrono-test.cc:560: Failure
Expected equality of these values:
  "44.000000000000"
  fmt::format("{:%S}", std::chrono::duration<float, std::pico>( 1.54213895E+26))
    Which is: "16.437500000000"
[  FAILED  ] chrono_test.special_durations (0 ms)

@vitaut
Copy link
Contributor

vitaut commented Jul 10, 2022

Should be fixed in 2a1b3ac. Thanks for reporting.

@vitaut vitaut closed this as completed Jul 10, 2022
@vitaut
Copy link
Contributor

vitaut commented Jul 10, 2022

is there a specific reason why these two checks ... use SIZEOF_FLOAT128 directly instead of FMT_USE_FLOAT128?

Good catch, thanks. Fixed in 05be7a0.

@zhsj
Copy link
Contributor

zhsj commented Jul 10, 2022

Additionally there is a FP-related chrono-test failure on Debian: #2975:

./test/chrono-test.cc:560: Failure
Expected equality of these values:
  "44.000000000000"
  fmt::format("{:%S}", std::chrono::duration<float, std::pico>( 1.54213895E+26))
    Which is: "16.437500000000"
[  FAILED  ] chrono_test.special_durations (0 ms)

The failure still exists with 2a1b3ac.

https://buildd.debian.org/status/fetch.php?pkg=fmtlib&arch=i386&ver=9.0.0%2Bds1-2&stamp=1657481678&raw=0

@xvitaly
Copy link
Contributor

xvitaly commented Jul 10, 2022

Fixed on Fedora i686. Thanks.

Test project /builddir/build/BUILD/fmt-9.0.0/redhat-linux-build
      Start  1: args-test
      Start  2: assert-test
      Start  3: chrono-test
      Start  4: color-test
      Start  5: core-test
      Start  6: gtest-extra-test
      Start  7: format-test
      Start  8: format-impl-test
      Start  9: ostream-test
      Start 10: compile-test
      Start 11: compile-fp-test
      Start 12: printf-test
      Start 13: ranges-test
      Start 14: scan-test
      Start 15: std-test
      Start 16: unicode-test
      Start 17: xchar-test
      Start 18: enforce-checks-test
      Start 19: posix-mock-test
      Start 20: os-test
 1/20 Test  #1: args-test ........................   Passed    0.02 sec
 2/20 Test  #2: assert-test ......................   Passed    0.02 sec
 3/20 Test  #4: color-test .......................   Passed    0.02 sec
 4/20 Test  #5: core-test ........................   Passed    0.02 sec
 5/20 Test  #6: gtest-extra-test .................   Passed    0.02 sec
 6/20 Test  #9: ostream-test .....................   Passed    0.01 sec
 7/20 Test #10: compile-test .....................   Passed    0.01 sec
 8/20 Test #11: compile-fp-test ..................   Passed    0.01 sec
 9/20 Test #12: printf-test ......................   Passed    0.01 sec
10/20 Test #13: ranges-test ......................   Passed    0.01 sec
11/20 Test #14: scan-test ........................   Passed    0.01 sec
12/20 Test #15: std-test .........................   Passed    0.01 sec
13/20 Test #16: unicode-test .....................   Passed    0.01 sec
14/20 Test #18: enforce-checks-test ..............   Passed    0.01 sec
15/20 Test  #7: format-test ......................   Passed    0.02 sec
16/20 Test #17: xchar-test .......................   Passed    0.01 sec
17/20 Test #19: posix-mock-test ..................   Passed    0.01 sec
18/20 Test #20: os-test ..........................   Passed    0.01 sec
19/20 Test  #8: format-impl-test .................   Passed    0.02 sec
20/20 Test  #3: chrono-test ......................   Passed    0.12 sec
100% tests passed, 0 tests failed out of 20
Total Test time (real) =   0.13 sec

@a16bitsysop
Copy link
Author

Fixed on alpine x86 as well:

Test project /builds/a16bitsysop/aports/community/fmt/src/fmt-9.0.0
[193](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L193)      Start  1: args-test
[194](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L194) 1/20 Test  #1: args-test ........................   Passed    0.01 sec
[195](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L195)      Start  2: assert-test
[196](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L196) 2/20 Test  #2: assert-test ......................   Passed    0.01 sec
[197](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L197)      Start  3: chrono-test
[198](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L198) 3/20 Test  #3: chrono-test ......................   Passed    0.28 sec
[199](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L199)      Start  4: color-test
[200](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L200) 4/20 Test  #4: color-test .......................   Passed    0.00 sec
[201](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L201)      Start  5: core-test
[202](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L202) 5/20 Test  #5: core-test ........................   Passed    0.01 sec
[203](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L203)      Start  6: gtest-extra-test
[204](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L204) 6/20 Test  #6: gtest-extra-test .................   Passed    0.01 sec
[205](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L205)      Start  7: format-test
[206](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L206) 7/20 Test  #7: format-test ......................   Passed    0.04 sec
[207](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L207)      Start  8: format-impl-test
[208](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L208) 8/20 Test  #8: format-impl-test .................   Passed    0.05 sec
[209](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L209)      Start  9: ostream-test
[210](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L210) 9/20 Test  #9: ostream-test .....................   Passed    0.01 sec
[211](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L211)      Start 10: compile-test
[212](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L212)10/20 Test #10: compile-test .....................   Passed    0.00 sec
[213](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L213)      Start 11: compile-fp-test
[214](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L214)11/20 Test #11: compile-fp-test ..................   Passed    0.00 sec
[215](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L215)      Start 12: printf-test
[216](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L216)12/20 Test #12: printf-test ......................   Passed    0.01 sec
[217](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L217)      Start 13: ranges-test
[218](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L218)13/20 Test #13: ranges-test ......................   Passed    0.00 sec
[219](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L219)      Start 14: scan-test
[220](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L220)14/20 Test #14: scan-test ........................   Passed    0.01 sec
[221](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L221)      Start 15: std-test
[222](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L222)15/20 Test #15: std-test .........................   Passed    0.00 sec
[223](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L223)      Start 16: unicode-test
[224](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L224)16/20 Test #16: unicode-test .....................   Passed    0.01 sec
[225](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L225)      Start 17: xchar-test
[226](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L226)17/20 Test #17: xchar-test .......................   Passed    0.01 sec
[227](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L227)      Start 18: enforce-checks-test
[228](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L228)18/20 Test #18: enforce-checks-test ..............   Passed    0.00 sec
[229](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L229)      Start 19: posix-mock-test
[230](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L230)19/20 Test #19: posix-mock-test ..................   Passed    0.01 sec
[231](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L231)      Start 20: os-test
[232](https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/765477#L232)20/20 Test #20: os-test ..........................   Passed    0.01 sec

@vitaut
Copy link
Contributor

vitaut commented Jul 10, 2022

Thanks everyone for testing. I'll reopen #2975 to track the chrono-test failure which turned out to be unrelated.

mtremer referenced this issue in ipfire/ipfire-2.x Nov 28, 2022
- Update from version 9.0.0 to 9.1.0
- Update of rootfile
- Changelog
    9.1.0 - 2022-08-27
	* ``fmt::formatted_size`` now works at compile time
		  `#3026 <https://github.com/fmtlib/fmt/pull/3026>`_
			  For example (`godbolt <https://godbolt.org/z/1MW5rMdf8>`__):
			   .. code:: c++
			     #include <fmt/compile.h>
			     int main() {
			       using namespace fmt::literals;
			       constexpr size_t n = fmt::formatted_size("{}"_cf, 42);
			       fmt::print("{}\n", n); // prints 2
			     }
	* Fixed handling of invalid UTF-8
		  `#3038 <https://github.com/fmtlib/fmt/pull/3038>`_,
		  `#3044 <https://github.com/fmtlib/fmt/pull/3044>`_,
		  `#3056 <https://github.com/fmtlib/fmt/pull/3056>`_
	* Improved Unicode support in ``ostream`` overloads of ``print``
		  `#2994 <https://github.com/fmtlib/fmt/pull/2994>`_,
		  `#3001 <https://github.com/fmtlib/fmt/pull/3001>`_,
		  `#3025 <https://github.com/fmtlib/fmt/pull/3025>`_
	* Fixed handling of the sign specifier in localized formatting on systems with
	   32-bit ``wchar_t``
		  `#3041 <https://github.com/fmtlib/fmt/issues/3041>`_).
	* Added support for wide streams to ``fmt::streamed``
		  `#2994 <https://github.com/fmtlib/fmt/pull/2994>`_
	* Added the ``n`` specifier that disables the output of delimiters when
	   formatting ranges
		  `#2981 <https://github.com/fmtlib/fmt/pull/2981>`_,
		  `#2983 <https://github.com/fmtlib/fmt/pull/2983>`_
			  For example (`godbolt <https://godbolt.org/z/roKqGdj8c>`__):
			   .. code:: c++
			     #include <fmt/ranges.h>
			     #include <vector>
			     int main() {
			       auto v = std::vector{1, 2, 3};
			       fmt::print("{:n}\n", v); // prints 1, 2, 3
			     }
	* Worked around problematic ``std::string_view`` constructors introduced in C++23
		  `#3030 <https://github.com/fmtlib/fmt/issues/3030>`_,
		  `#3050 <https://github.com/fmtlib/fmt/issues/3050>`_
	* Improve handling (exclusion) of recursive ranges
		  `#2968 <https://github.com/fmtlib/fmt/issues/2968>`_,
		  `#2974 <https://github.com/fmtlib/fmt/pull/2974>`_
	* Improved error reporting in format string compilation
		  `#3055 <https://github.com/fmtlib/fmt/issues/3055>`_
	* Improved the implementation of
		  `Dragonbox <https://github.com/jk-jeon/dragonbox>`_, the algorithm used for
		   the default floating-point formatting
		  `#2984 <https://github.com/fmtlib/fmt/pull/2984>`_
	* Fixed issues with floating-point formatting on exotic platforms.
	* Improved the implementation of chrono formatting
		  `#3010 <https://github.com/fmtlib/fmt/pull/3010>`_
	* Improved documentation
		  `#2966 <https://github.com/fmtlib/fmt/pull/2966>`_,
		  `#3009 <https://github.com/fmtlib/fmt/pull/3009>`_,
		  `#3020 <https://github.com/fmtlib/fmt/issues/3020>`_,
		  `#3037 <https://github.com/fmtlib/fmt/pull/3037>`_
	* Improved build configuration
		  `#2991 <https://github.com/fmtlib/fmt/pull/2991>`_,
		  `#2995 <https://github.com/fmtlib/fmt/pull/2995>`_,
		  `#3004 <https://github.com/fmtlib/fmt/issues/3004>`_,
		  `#3007 <https://github.com/fmtlib/fmt/pull/3007>`_,
		  `#3040 <https://github.com/fmtlib/fmt/pull/3040>`_
	* Fixed various warnings and compilation issues
		  `#2969 <https://github.com/fmtlib/fmt/issues/2969>`_,
		  `#2971 <https://github.com/fmtlib/fmt/pull/2971>`_,
		  `#2975 <https://github.com/fmtlib/fmt/issues/2975>`_,
		  `#2982 <https://github.com/fmtlib/fmt/pull/2982>`_,
		  `#2985 <https://github.com/fmtlib/fmt/pull/2985>`_,
		  `#2988 <https://github.com/fmtlib/fmt/issues/2988>`_,
		  `#3000 <https://github.com/fmtlib/fmt/issues/3000>`_,
		  `#3006 <https://github.com/fmtlib/fmt/issues/3006>`_,
		  `#3014 <https://github.com/fmtlib/fmt/issues/3014>`_,
		  `#3015 <https://github.com/fmtlib/fmt/issues/3015>`_,
		  `#3021 <https://github.com/fmtlib/fmt/pull/3021>`_,
		  `#3023 <https://github.com/fmtlib/fmt/issues/3023>`_,
		  `#3024 <https://github.com/fmtlib/fmt/pull/3024>`_,
		  `#3029 <https://github.com/fmtlib/fmt/pull/3029>`_,
		  `#3043 <https://github.com/fmtlib/fmt/pull/3043>`_,
		  `#3052 <https://github.com/fmtlib/fmt/issues/3052>`_,
		  `#3053 <https://github.com/fmtlib/fmt/pull/3053>`_,
		  `#3054 <https://github.com/fmtlib/fmt/pull/3054>`_

Signed-off-by: Adolf Belka <[email protected]>
Reviewed-by: Michael Tremer <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants