[libcxx-commits] [PATCH] D117811: [libc++] Remove _VSTD

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jan 21 03:48:59 PST 2022


philnik added a comment.

In D117811#3260819 <https://reviews.llvm.org/D117811#3260819>, @lebedev.ri wrote:

> How can there be no practical difference if one is a configurable 'macro' and other isn't?
>
> In D55517#1326179 <https://reviews.llvm.org/D55517#1326179>, @__simt__ wrote:
>
>> Hello Eric, everyone else,
>>
>> We have projects that are getting great mileage from this macro right now, we'd be sad to see it go. 😰
>>
>> If you look at https://github.com/ogiroux/freestanding you'll get the gist of what we're doing with it: //we don't just change the inline namespace name, we also change the// `std::` //namespace name using the macro//. This was never the intended use, I realize, but it allows us to make progress with e.g. side-by-side co-existence for a large & important subset. In other words, the presence of this macro helped make libc++ adaptable the way needed it to be, and may slowly transform us into contributors even (hence netting you great mileage too).
>>
>> So our view is that we would not like to see this change made. Sorry.
>>
>> Olivier

`_VSTD` was never intended to be changed other than by changing `_LIBCPP_ABI_NAMESPACE`. The question I'm basically asking here is if there are projects that rely on the macro that don't seem to be abandoned and if there is a way around it for these projects. For example I think in the project linked it should be possible to change `_LIBCPP_BEGIN_NAMESPACE_STD` and using `std` in the headers should still work (https://godbolt.org/z/c7TTb1f9Y). Note that changing `_LIBCPP_BEGIN_NAMESPACE_STD` is just as unsupported as changing `_VSTD`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D117811



More information about the libcxx-commits mailing list