[PATCH] D11740: ABI versioning macros for libc++

Evgeniy Stepanov via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 27 15:49:45 PDT 2015


eugenis added a comment.

In http://reviews.llvm.org/D11740#234610, @EricWF wrote:

> In http://reviews.llvm.org/D11740#234575, @eugenis wrote:
>
> > Yes, not being able to use headers in the libcxx source tree is quite unpleasant. It can be fixed by providing a __config_version in libcxx/include with the default version values. Or, in the approach of http://reviews.llvm.org/D11963, do something smart in __config to default to the right version numbers.
>
>
> I'm not sure what you mean by "smart" because IMO http://reviews.llvm.org/D11963 is pretty dumb, but I would like to see `__config` have a default value for `_LIBCPP_ABI_VERSION` wrapped in a `#ifndef _LIBCPP_ABI_VERSION`.


Yes, that.

> 

> 

> > Why do we need _LIBCPP_ABI_UNSTABLE at all? How is it different from setting LIBCPP_ABI_MAJOR_VERSION to the current default version + 1?

> 

> 

> Interesting question. I'm think trying to draw a distinction between the stable ABI versions and unversioned ABI changes that are currently being staged for the next release. My main concern is that using default version + 1 to stage future changes is that it could look like that is a "stable" ABI configuration.


OK. Then _LIBCPP_ABI_UNSTABLE won't bump the ABI version (as seen in library soname and header path)?


http://reviews.llvm.org/D11740





More information about the cfe-commits mailing list