-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[libc++] does not define __cpp_lib_format #77773
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
Comments
Currently both |
Ah, that is unfortunate... is there a timeline for adding this? |
|
@mordante Could you give us a status update? I'm working with Edit: Ok, I misunderstood your comment. So, this will be fixed with LLVM-19 and not backported to LLVM-18, correct? |
This comment was marked as outdated.
This comment was marked as outdated.
cppreference is not the authoritative source for the status, https://libcxx.llvm.org/Status/Cxx20.html is the authoritative source. (Still I try to keep the status up-to-date on the parts I work on.) I disagree with @frederick-vs-ja. I think it might be possible to get all chrono parts required for the initial version of So it might be possible to get it in before LLVM-19, but it will be tight. It will not be backported to LLVM-18. |
Thank you. |
In order to define the format __cpp_lib_format to its initial value (201907) these papers need to be completed: - P0645R10 Text Formatting - P1652R1 Printf corner cases in std::format - 1361R2 Integration of chrono with text formatting The first two have been implemented for a while the latter is almost done. The next value (202106) requires: - P2216R3 std::format improvements which has been implemented The next value (202110) requires: - P2418R2 Add support for std::generator-like types to std::format - P2372R3 Fixing locale handling in chrono formatters The first one has been implemented for a while the latter is almost done. The latter paper is a DR against 1361R2 and both are implemented at the same time. We've had user feedback that the missing of the __cpp_lib_format makes their lives harder (llvm#77773). The missing papers 1361R2 and P2372R3 are very close to completion and might completed before LLVM-19, but it will be a close call. This has been discussed in the monthly libc++ meeting and we decided to set the __cpp_lib_format so it will be set in LLVM-19. Based on the discussion and the implementation status the __cpp_lib_format is set to 202110
We've decided to define the macro regardless whether the missing |
In order to define the format __cpp_lib_format to its initial value (201907) these papers need to be completed: - P0645R10 Text Formatting - P1652R1 Printf corner cases in std::format - 1361R2 Integration of chrono with text formatting The first two have been implemented for a while the latter is almost done. The next value (202106) requires: - P2216R3 std::format improvements which has been implemented The next value (202110) requires: - P2418R2 Add support for std::generator-like types to std::format - P2372R3 Fixing locale handling in chrono formatters The first one has been implemented for a while the latter is almost done. The latter paper is a DR against 1361R2 and both are implemented at the same time. We've had user feedback that the missing of the __cpp_lib_format makes their lives harder (llvm#77773). The missing papers 1361R2 and P2372R3 are very close to completion and might completed before LLVM-19, but it will be a close call. This has been discussed in the monthly libc++ meeting and we decided to set the __cpp_lib_format so it will be set in LLVM-19. Based on the discussion and the implementation status the __cpp_lib_format is set to 202110. Fixes llvm#77773
In order to define the format __cpp_lib_format to its initial value (201907) these papers need to be completed: - P0645R10 Text Formatting - P1652R1 Printf corner cases in std::format - 1361R2 Integration of chrono with text formatting The first two have been implemented for a while the latter is almost done. The next value (202106) requires: - P2216R3 std::format improvements which has been implemented The next value (202110) requires: - P2418R2 Add support for std::generator-like types to std::format - P2372R3 Fixing locale handling in chrono formatters The first one has been implemented for a while the latter is almost done. The latter paper is a DR against 1361R2 and both are implemented at the same time. We've had user feedback that the missing of the __cpp_lib_format makes their lives harder (llvm#77773). The missing papers 1361R2 and P2372R3 are very close to completion and might completed before LLVM-19, but it will be a close call. This has been discussed in the monthly libc++ meeting and we decided to set the __cpp_lib_format so it will be set in LLVM-19. Based on the discussion and the implementation status the __cpp_lib_format is set to 202110. Fixes llvm#77773
In order to define the format __cpp_lib_format to its initial value (201907) these papers need to be completed: - P0645R10 Text Formatting - P1652R1 Printf corner cases in std::format - 1361R2 Integration of chrono with text formatting The first two have been implemented for a while the latter is almost done. The next value (202106) requires: - P2216R3 std::format improvements which has been implemented The next value (202110) requires: - P2418R2 Add support for std::generator-like types to std::format - P2372R3 Fixing locale handling in chrono formatters The first one has been implemented for a while the latter is almost done. The latter paper is a DR against 1361R2 and both are implemented at the same time. We've had user feedback that the missing of the __cpp_lib_format makes their lives harder (llvm/llvm-project#77773). The missing papers 1361R2 and P2372R3 are very close to completion and might completed before LLVM-19, but it will be a close call. This has been discussed in the monthly libc++ meeting and we decided to set the __cpp_lib_format so it will be set in LLVM-19. Based on the discussion and the implementation status the __cpp_lib_format is set to 202110. Fixes #77773 NOKEYCHECK=True GitOrigin-RevId: deeb936863f26e124cc870319148b0576266f11c
dff62f5
states that
Which specializations are that? I think it is unfortunate that the header is available for a while, but conforming code that relies on the macro cannot use it. Furthermore,
__cpp_lib_format_ranges
and__cpp_lib_format_uchar
are set, which is weird, because they are features that build on__cpp_lib_format
so implementations might even think that checking one of the former is sufficient, even though in this situation it is not?The text was updated successfully, but these errors were encountered: