[PATCH] D74384: Use std::foo_t rather than std::foo in LLVM.

Justin Lebar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 12 08:14:27 PST 2020


jlebar added a comment.

In D74384#1872246 <https://reviews.llvm.org/D74384#1872246>, @thakis wrote:

> Looks like this broke building on windows with clang-cl as host compiler in some situations: http://45.33.8.238/win/8160/step_4.txt


I'm testing out the following fix, which we verified works for Nico.

No idea why this only affects clang-cl.  SFINAE is hard.

  commit 10cf8de244df1402c2b87205f427440fb4c0d7b9
  Author: Justin Lebar <jlebar at google.com>
  Date:   Wed Feb 12 08:05:00 2020 -0800
  
      Fix compilation of Any.h header.
      
      In a previous patch I changed `std::decay<T>::type` to `std::decay<T>`
      rather than `std::decay_t<T>`.  This seems to have broken the build
      *only for clang-cl*.  I don't know why.
  
  diff --git a/llvm/include/llvm/ADT/Any.h b/llvm/include/llvm/ADT/Any.h
  index 9d819841e3f..0aded628cda 100644
  --- a/llvm/include/llvm/ADT/Any.h
  +++ b/llvm/include/llvm/ADT/Any.h
  @@ -74,7 +74,7 @@ public:
                       // adopting it to work-around usage of `Any` with types that
                       // need to be implicitly convertible from an `Any`.
                       llvm::negation<std::is_convertible<Any, std::decay_t<T>>>,
  -                    std::is_copy_constructible<std::decay<T>>>::value,
  +                    std::is_copy_constructible<std::decay_t<T>>>::value,
                   int> = 0>
     Any(T &&Value) {
       Storage =


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74384





More information about the llvm-commits mailing list