[libcxx-commits] [PATCH] D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version.
Martijn Vels via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Feb 20 20:13:23 PST 2020
mvels added a comment.
Thanks for the Feedback Eric, personally I think this version or your alternative are close, and both are based on the same (solid) principle of 'make the ABI explicit'
I do like (and prefer) Luis preference of explicitly specifying (decoupling) the V1 and UNSTABLE template list.
While somewhat more verbose, it's cleaner, and easy to validate 'unstable' changes vs 'extend new c++ API in stable'
I also think we may have to consider a future where we may want to roll unstable into a new V2 stable version (and new V3 / unstable).
Having the tables separate makes this imo a cleaner cut. (And I had an interesting discussion with Titus this morning how we should actually consider any future Vn versions as a new llvm-project rather than introducing versions, alas, that's crazy talk).
Anyway, I don't think we are strongly married into one or the other, if we don't like it for whatever reason, the changes are mostly re-arranging the explicit template macros in __string and a handful of lines in string / string.cpp, likely less than the heavy lifting you already did for making the external templates explicit (again, thanks for that!) . From out chat I understand that you are ok with this version if there is a majority preference, let's meet up when you are back next week.
I am working on two documents, one outlining the motivation, consequences and options for tweaking the unstable ABI, and a separate doc summarizing the intended string optimizations (some in detail and general principles). Hopefully I have something worth sharing tomorrow, thanks!
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