[libcxx-commits] [libcxx] ca177dc - [libc++][doc] Adds a Format library status page.

Mark de Wever via libcxx-commits libcxx-commits at lists.llvm.org
Sat Apr 24 07:38:37 PDT 2021


Author: Mark de Wever
Date: 2021-04-24T16:38:18+02:00
New Revision: ca177dcda301b98b73c67a2cbcbd4106dc80dec2

URL: https://github.com/llvm/llvm-project/commit/ca177dcda301b98b73c67a2cbcbd4106dc80dec2
DIFF: https://github.com/llvm/llvm-project/commit/ca177dcda301b98b73c67a2cbcbd4106dc80dec2.diff

LOG: [libc++][doc] Adds a Format library status page.

A status page for libc++'s Format library. The page is inspired by
@zoecarver's Ranges status page.

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

Added: 
    libcxx/docs/FormatIssuePaperStatus.csv
    libcxx/docs/FormatProposalStatus.csv
    libcxx/docs/FormatStatus.rst

Modified: 
    libcxx/docs/index.rst

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/FormatIssuePaperStatus.csv b/libcxx/docs/FormatIssuePaperStatus.csv
new file mode 100644
index 000000000000..428c0cf4ef0f
--- /dev/null
+++ b/libcxx/docs/FormatIssuePaperStatus.csv
@@ -0,0 +1,24 @@
+Number,Name,Assignee,Patch,Status,First released version
+`P0645 <https://wg21.link/P0645>`_,"Text Formatting",Mark de Wever,,|partial|,
+`P1652 <https://wg21.link/P1652>`_,"Printf corner cases in std::format",,,,
+`P1892 <https://wg21.link/P1892>`_,"Extended locale-specific presentation specifiers for std::format",,,,
+`P1862 <https://wg21.link/P1862>`_,"width: clarifying units of width and precision in std::format (Implements the unicode support.)",,,,
+`LWG-3218 <https://wg21.link/LWG3218>`_,"Modifier for %d parse flag does not match POSIX and format specification",,,,
+`LWG-3242 <https://wg21.link/LWG3242>`_,"std::format: missing rules for arg-id in width and precision",,,,
+`LWG-3243 <https://wg21.link/LWG3243>`_,"std::format and negative zeroes",,,,
+`LWG-3246 <https://wg21.link/LWG3246>`_,"What are the constraints on the template parameter of basic_format_arg?",,,,
+`LWG-3248 <https://wg21.link/LWG3248>`_,"std::format #b, #B, #o, #x , and #X presentation types misformat negative numbers",,,,
+`LWG-3250 <https://wg21.link/LWG3250>`_,"std::format: # (alternate form) for NaN and inf",,,,
+`LWG-3327 <https://wg21.link/LWG3327>`_,"Format alignment specifiers vs. text direction",,,,
+`LWG-3340 <https://wg21.link/LWG3340>`_,"Formatting functions should throw on argument/format string mismatch in [format.functions]",,,,
+`LWG-3371 <https://wg21.link/LWG3371>`_,"visit_format_arg and make_format_args are not hidden friends",Mark de Wever,`D93593 <https://llvm.org/D93593>`__,Review,
+`LWG-3372 <https://wg21.link/LWG3372>`_,"vformat_to should not try to deduce Out twice",,,,
+`LWG-3373 <https://wg21.link/LWG3373>`_,"{to,from}_chars_result and format_to_n_result need the 'we really mean what we say'",,,,
+
+`P1361 <https://wg21.link/P1361>`_,"Integration of chrono with text formatting",,,,
+`LWG-3230 <https://wg21.link/LWG3230>`_,"Format specifier %y/%Y is missing locale alternative versions",,,,
+`LWG-3241 <https://wg21.link/LWG3241>`_,"chrono-spec grammar ambiguity in [time.format]",,,,
+`LWG-3262 <https://wg21.link/LWG3262>`_,"Formatting of negative durations is not specified",,,,
+`LWG-3270 <https://wg21.link/LWG3270>`_,"Parsing and formatting %j with durations",,,,
+`LWG-3272 <https://wg21.link/LWG3272>`_,"%I%p should parse/format duration since midnight",,,,
+`LWG-3332 <https://wg21.link/LWG3332>`_,"Issue in [time.format]",,,,

diff  --git a/libcxx/docs/FormatProposalStatus.csv b/libcxx/docs/FormatProposalStatus.csv
new file mode 100644
index 000000000000..fe7dd7118b8b
--- /dev/null
+++ b/libcxx/docs/FormatProposalStatus.csv
@@ -0,0 +1,48 @@
+Section,Description,Dependencies,Assignee,Patch,Status,First released version
+[charconv.to.chars],"Fix integral conformance",,Mark de Wever,`D97705 <https://llvm.org/D97705>`__,In progress,
+[charconv.to.chars],"Add floating-point conversion",`D97705 <https://llvm.org/D97705>`__,"Mark de Wever (Code provided by Stephan T. Lavavej of Microsoft)",`D70631 <https://llvm.org/D70631>`__,In progress,
+[format.error],"Class format_error",,Mark de Wever,`D92214 <https://llvm.org/D92214>`__,|Complete|,Clang 13
+[format.parse.ctx],"Class template basic_format_parse_context",,Mark de Wever,`D93166 <https://llvm.org/D93166>`__,|Complete|,Clang 13
+[format.context],"Class template basic_format_context",,Mark de Wever,`D93593 <https://llvm.org/D93593>`__,Review,
+[format.args],"Class template basic_format_args",,Mark de Wever,`D93593 <https://llvm.org/D93593>`__,Review,
+[format.arg],"Class template basic_format_arg",,Mark de Wever,`D93593 <https://llvm.org/D93593>`__,Review,
+[format.arg],"Class template basic_format_arg - handle",,,,,,
+[format.arg],"Class template basic_format_arg - pointers",,,,,,
+[format.arg.store],"Class template format-arg-store",,Mark de Wever,`D93593 <https://llvm.org/D93593>`__,Review,
+[format.formatter.spec],"Formatter specializations - character types",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.formatter.spec],"Formatter specializations - string types",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.formatter.spec],"Formatter specializations - boolean type",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.formatter.spec],"Formatter specializations - integral types",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.formatter.spec],"Formatter specializations - floating-point types",`D70631 <https://llvm.org/D70631>`__,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.formatter.spec],"Formatter specializations - pointer types",,,,,,
+[format.string.std],"Standard format specifiers - character types",,Mark de Wever,,,,
+[format.string.std],"Standard format specifiers - string types",,Mark de Wever,,,,
+[format.string.std],"Standard format specifiers - boolean type",,Mark de Wever,,,,
+[format.string.std],"Standard format specifiers - integral types",,Mark de Wever,,,,
+[format.string.std],"Standard format specifiers - floating-point types",,Mark de Wever,,,,
+[format.string.std],"Standard format specifiers - pointer types",,Mark de Wever,,,,
+[format.functions],"Format functions - format(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat(string_view fmt, format_args args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat(wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat(const locale& loc, string_view fmt, format_args args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat(const locale& loc, wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format_to(Out out, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format_to(Out out, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat_to(Out out, string_view fmt, format_args_t<type_identity_t<Out>, char> args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat_to(Out out, wstring_view fmt, format_args_t<type_identity_t<Out>, char> args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat_to(Out out, const locale& loc, string_view fmt, format_args_t<type_identity_t<Out>, char> args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - vformat_to(Out out, const locale& loc, wstring_view fmt,format_args_t<type_identity_t<Out>, wchar_t> args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format_to_n(Out out, iter_
diff erence_t<Out> n, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format_to_n(Out out, iter_
diff erence_t<Out> n, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format_to_n_result<Out> format_to_n(Out out, iter_
diff erence_t<Out> n, const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - format_to_n_result<Out> format_to_n(Out out, iter_
diff erence_t<Out> n, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - formatted_size(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - formatted_size(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - formatted_size(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - formatted_size(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 <https://llvm.org/D96664>`__,Review,
+[format.functions],"Format functions - Implement locale support",,,,,,
+[format.functions],"Format functions - Improve performance format_to_n",,Mark de Wever,,,,
+[format.functions],"Format functions - Improve performance formatted size",,Mark de Wever,,,,

diff  --git a/libcxx/docs/FormatStatus.rst b/libcxx/docs/FormatStatus.rst
new file mode 100644
index 000000000000..b627de81fb9b
--- /dev/null
+++ b/libcxx/docs/FormatStatus.rst
@@ -0,0 +1,53 @@
+.. ranges-status:
+
+================================
+libc++ Format Status
+================================
+
+.. include:: Helpers/Styles.rst
+
+.. contents::
+   :local:
+
+
+Overview
+========
+
+This document contains the status of the C++20 Format library in libc++. It is used to
+track both the status of the sub-projects of the Format library and who is assigned to
+these sub-projects. This is imperative to effective implementation so that work is not
+duplicated and implementors are not blocked by each other.
+
+
+If you are interested in contributing to the libc++ Format library, please send
+a message to the #libcxx channel in the LLVM discord. Please *do not* start
+working on any of the assigned items below.
+
+
+Sub-Projects in the Format library
+==================================
+
+.. csv-table::
+   :file: FormatProposalStatus.csv
+   :header-rows: 1
+   :widths: auto
+
+
+Misc. Items and TODOs
+=====================
+
+(Please mark all Format-related TODO comments with the string ``TODO FMT``, so we
+can find them easily.)
+
+    * C++23 may break the ABI with `P2216 <https://wg21.link/P2216>`_.
+      This ABI break may be backported to C++20. Therefore the library will not
+      be available on platforms where the ABI break is an issue.
+
+
+Paper and Issue Status
+======================
+
+.. csv-table::
+   :file: FormatIssuePaperStatus.csv
+   :header-rows: 1
+   :widths: auto

diff  --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst
index d866d82b8a98..3b8417eb2c71 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -44,6 +44,7 @@ Getting Started with libc++
    Cxx2aStatus
    Cxx2bStatus
    RangesStatus
+   FormatStatus
 
 
 .. toctree::


        


More information about the libcxx-commits mailing list