[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