[libcxx-commits] [PATCH] D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version.

Eric Fiselier via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Feb 23 16:46:11 PST 2020


EricWF added a comment.

In D74870#1884581 <https://reviews.llvm.org/D74870#1884581>, @ldionne wrote:

> In D74870#1883765 <https://reviews.llvm.org/D74870#1883765>, @EricWF wrote:
>
> > My personal preference is to not split the lists, my rational is:
> >
> > - It encourages unstable to deviate from stable more. I would like us to keep the code and instantiations between the two as similar as possible. The more they differ, the more it is to maintain and the more likely it is that one contains bugs or starts to rot.
>
>
> I actually think that acknowledging that they are different instantiation lists makes everything clearer and easier to maintain. We don't "pretend" that they are close when they are really two different things. As we embrace changes in the unstable version of the ABI, I don't see why we'd strive to keep it close to the stable ABI. We should simply setup testers for both ABIs, since both seem to be in use.


Ideally we'll keep the unstable and stable ABI lists as close as possible, with the goal of moving all unstable instantiations into stable.

> 
> 
>> 
>> 
>> - It's useful to see the difference between stable and unstable at a glance. Having two lists makes it much harder.
> 
> Do you really expect to need to see that difference often? If so, we could sort the lists and then `diff` would show you the differences easily.
> 
> My primary concern is that I find it harder to maintain a list strung together via macro expansions than a manually laid-out list like in this patch. It also allows us to have an invariant, which is that the stable list should never change (except with extreme care).




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74870





More information about the libcxx-commits mailing list