[libcxx-commits] [PATCH] D128928: [libc++] Treat incomplete features just like other experimental features

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 15 09:55:30 PDT 2022


ldionne marked 3 inline comments as done.
ldionne added a subscriber: jwakely.
ldionne added a comment.

In D128928#3655204 <https://reviews.llvm.org/D128928#3655204>, @Mordante wrote:

> In general I'm happy, but I see a lot of bootstrap CI failures. Are they due to this patch or unrelated.

They are unrelated, and in fact they have been fixed in trunk (by reverting a Clang change).



================
Comment at: libcxx/benchmarks/CMakeLists.txt:126
   endif()
-  if (TARGET cxx_experimental)
-    target_link_libraries(${libcxx_target} PRIVATE cxx_experimental)
-  endif()
-  target_link_libraries(${libcxx_target} PRIVATE -lbenchmark)
+  target_link_libraries(${libcxx_target} PRIVATE cxx_experimental -lbenchmark)
   if (LLVM_USE_SANITIZER)
----------------
Mordante wrote:
> Is this change really needed, should we instead set `-fexperimental-libray` unconditionally.
> 
> Drive-by why `-lbenchmark` instead of `benchmark`?
Not all compilers support `-fexperimental-library`, so I think we're better off linking against `cxx_experimental` directly. It also ensures that we're using the `libc++experimental.a` that we just built, as opposed to some other experimental library that might be supported by the compiler.


================
Comment at: libcxx/docs/Status/Cxx20.rst:37
 .. csv-table::
    :file: Cxx20Papers.csv
    :header-rows: 1
----------------
Mordante wrote:
> ldionne wrote:
> > TODO: Add a release note explaining what `-funstable` does.
> This is still open.
I will actually do that in D121141, since this patch now has no mentions of `-fexperimental-library`. I wanted to make sure that both changes make sense in isolation, which is why I've removed all references to a compiler flag in this patch (and I'm using `-D_LIBCPP_ENABLE_EXPERIMENTAL` instead.


================
Comment at: libcxx/src/CMakeLists.txt:336
 cxx_add_common_build_flags(cxx_experimental)
+target_compile_options(cxx_experimental PUBLIC -D_LIBCPP_ENABLE_EXPERIMENTAL) # TODO: Replace this by a proper compiler option once supported
 
----------------
Mordante wrote:
> If possible I'd like to see this solved before landing since D121141 has been approved.
I think the TODO actually shouldn't exist. Indeed, after discussing with @jwakely on Discourse, it seems like this is going to be required for GCC users.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D128928/new/

https://reviews.llvm.org/D128928



More information about the libcxx-commits mailing list