This is an archive of the discontinued LLVM Phabricator instance.

[libc++][doc] Improve contributor documentation.
ClosedPublic

Authored by Mordante on Aug 5 2021, 12:37 PM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Commits
rG6f85d9e104ca: [libc++][doc] Improve contributor documentation.
Summary

Shorty before branching LLVM 13 a new CMake option was added. This
option LIBCXX_ENABLE_INCOMPLETE_FEATURES lacks the contributor
documentation. This patch rectifies that issue.

Diff Detail

Event Timeline

Mordante requested review of this revision.Aug 5 2021, 12:37 PM
Mordante created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptAug 5 2021, 12:37 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne accepted this revision.Aug 9 2021, 5:54 AM

LGTM with a few suggestions!

libcxx/docs/Contributing.rst
73–74
75
84
This revision is now accepted and ready to land.Aug 9 2021, 5:54 AM
Mordante marked 3 inline comments as done.Aug 9 2021, 9:24 AM

Thanks for the review.

libcxx/docs/Contributing.rst
73–74

I only change a C++ Standard to the a C++ Standard. In the view of ISO there's only one standard.

This revision was automatically updated to reflect the committed changes.
Mordante marked an inline comment as done.
Quuxplusone added inline comments.
libcxx/docs/Contributing.rst
73–74

There is only one Standard, but there have been many Standards over the past few years. If we're going to split hairs, there's no such thing as "a Standard that has not yet been ratified," because before it's been ratified it's not a Standard yet — merely a draft. ;)

Anyway, I'd take Louis's wording with one minor tweak to the grammatical placement of yet. Also I'm ambivalent as to whether the indicated word should be or or nor:

Libc++ makes no guarantees about the implementation status [n]or the ABI stability
of features that have not yet been ratified in a C++ Standard. After the C++ Standard
is ratified, libc++ promises a conforming and ABI-stable implementation.
101
``libcxx/include/foo``: The file should include ``<version>`` and then guard the feature with an ``ifdef``.

Throughout, I recommend giving full paths. You currently say libcxx/include/__config_site.in (full path) but only include/foo (partial path); which means I'm not sure whether CMakeLists.txt on line 89 is a full path or not.
I also recommend using punctuation: somefile: Do something., not somefile do something.

109

// Make sure all feature-test macros are available.

111

// Enable the contents of the header only when libc++ was built with LIBCXX_ENABLE_INCOMPLETE_FEATURES.

Mordante marked 4 inline comments as done.Aug 11 2021, 8:36 AM
libcxx/docs/Contributing.rst
73–74

I still like the better, so I keep that.
I have a slight preference for the or over the nor.
I moved the yet as you suggested.

101

Seems libcxx/include/__config_site.in is the only full path, the others are all relative. I changed them all to full paths.

109

Since this document describes the current implementation, I applied this change here and in <format> and <ranges>.

111

Since this document describes the current implementation, I applied this change here and in <format> and <ranges>.