[all-commits] [llvm/llvm-project] 3f7868: [libc++] Implements 128-bit support in to_chars.

mordante via All-commits all-commits at lists.llvm.org
Thu Jul 7 08:32:43 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3f78683353e272224e9bcc223f7ba05ab374a8c2
      https://github.com/llvm/llvm-project/commit/3f78683353e272224e9bcc223f7ba05ab374a8c2
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-07-07 (Thu, 07 Jul 2022)

  Changed paths:
    M libcxx/include/__bits
    M libcxx/include/__charconv/tables.h
    M libcxx/include/__charconv/to_chars_base_10.h
    M libcxx/include/charconv
    M libcxx/test/std/utilities/charconv/charconv.from.chars/integral.pass.cpp
    M libcxx/test/std/utilities/charconv/charconv.to.chars/integral.pass.cpp
    M libcxx/test/support/charconv_test_helpers.h

  Log Message:
  -----------
  [libc++] Implements 128-bit support in to_chars.

This is required by the Standard and makes it possible to add full
128-bit support to format.

The patch also fixes 128-bit from_chars "support". One unit test
required a too large value, this failed on 128-bit; the fix was to add
more characters to the input.

Note only base 10 has been optimized. Other bases can be optimized.

Note the 128-bit lookup table could be made smaller. This will be done later. I
really want to get 128-bit working in to_chars and format in the upcomming
LLVM 15 release, these optimizations aren't critical.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D128929




More information about the All-commits mailing list