Arsen Arsenović <ar...@aarsen.me> writes:

> This commit replaces the ad-hoc logic in <version> with an AutoGen
> database that (mostly) declaratively generates a version.h bit which
> combines all of the FTM logic across all headers together.
>
> This generated header defines macros of the form __glibcxx_foo,
> equivalent to their __cpp_lib_foo variants, according to rules specified
> in version.def and, optionally, if __glibcxx_want_foo or
> __glibcxx_want_all are defined, also defines __cpp_lib_foo forms with
> the same definition.
>
> libstdc++-v3/ChangeLog:
>
>       * include/Makefile.am (bits_freestanding): Add version.h.
>       (allcreated): Add version.h.
>       (${bits_srcdir}/version.h): New rule.  Regenerates
>       version.h out of version.{def,tpl}.
>       * include/Makefile.in: Regenerate.
>       * include/bits/version.def: New file.  Declares a list of
>       all feature test macros, their values and their preconditions.
>       * include/bits/version.tpl: New file.  Turns version.def
>       into a sequence of #if blocks.
>       * include/bits/version.h: New file.  Generated from
>       version.def.
>       * include/std/version: Replace with a __glibcxx_want_all define
>       and bits/version.h include.
> ---
> This patchset is a rebase of
> https://inbox.sourceware.org/libstdc++/20230429101640.1697750-1-ar...@aarsen.me/
>
> ... passing the same two checks (difall / vercmp) I wrote for the first
> pass.  Testsuite runs are still pending.
>
> Changes in this revision:
> - Replace the ${bits_srcdir}/version.h rule with a update-version phony,
> - Add the new __cpp_lib_chrono value,
> - Add __cpp_lib_{ranges_{contains,find_last,fold,iota}},
> - Add comments to various replaced conditions which summarize their
>   condition,
> - Correct a few minor errors spotted in review
>
> OK for trunk (if those testsuite runs end up clean)?

Same tests as the first time around passed on x86_64-pc-linux-gnu (that
is, regression testing + a large libstdc++ harness).
-- 
Arsen Arsenović

Attachment: signature.asc
Description: PGP signature

Reply via email to