[libcxx-commits] [PATCH] D91311: Add new 'preferred_name' attribute.

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Nov 19 04:37:19 PST 2020


ldionne added a comment.

In D91311#2404098 <https://reviews.llvm.org/D91311#2404098>, @rsmith wrote:

> In D91311#2403805 <https://reviews.llvm.org/D91311#2403805>, @ldionne wrote:
>
>> We can stick with this design, but I'd like to understand why `#if _LIBCPP_HAS_NO_PREFERRED_NAME` is necessary in `<iosfwd>`, and also the CI is failing on MacOS.
>
> You mean the HWAddressSanitizer test failure? That appears to be a flake. Looking through recent failures I found more that look the same: https://reviews.llvm.org/B79364 https://reviews.llvm.org/B79363 https://reviews.llvm.org/B79358

I was talking about his issue in the libc++ CI. See https://buildkite.com/llvm-project/libcxx-ci/builds/422#8e9a6d80-32ff-429e-a3de-e7ecc111c2fb (gotta look at the raw log).

  /tmp/buildkite-agent/builds/libcxx-mbp-local-1/llvm-project/libcxx-ci/libcxx/include/iosfwd:190:34: error: redefinition of 'ios' as different kind of symbol
  
      class _LIBCPP_PREFERRED_NAME(ios) _LIBCPP_PREFERRED_NAME(wios) basic_ios;
  
                                   ^



================
Comment at: libcxx/include/iosfwd:188
 
+#ifdef _LIBCPP_PREFERRED_NAME
+template <class _CharT, class _Traits>
----------------
rsmith wrote:
> ldionne wrote:
> > rsmith wrote:
> > > aaron.ballman wrote:
> > > > We always define `_LIBCPP_PREFERRED_NAME` so is this actually needed?
> > > Thanks, I was trying to avoid the redundant redeclarations when the attribute is unavailable, but clearly this doesn't do that! Fixed.
> > Is that really needed? What's the issue with having redundant declarations?
> It's not necessary. I'm happy to remove it and redeclare the templates unconditionally if you prefer.
Yes, I'd prefer that, and removing `_LIBCPP_HAS_PREFERRED_NAME`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91311



More information about the libcxx-commits mailing list