Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix build when compiling against libc++ (#5284)
When using libc++, the build fails with errors like: error: incomplete type 'clang::DeclContext::udir_iterator' used in type trait expression : public integral_constant<bool, __is_base_of(_Bp, _Dp)> {}; ^ note: while substituting deduced template arguments into function template 'iterator_adaptor_base' [with U = const llvm::iterator_adaptor_base<clang::DeclContext::udir_iterator, clang::DeclContextLookupResult::iterator, std::random_access_iterator_tag, clang::UsingDirectiveDecl *> &] class iterator_adaptor_base This was fixed in upstream LLVM in this CL: llvm/llvm-project@e78e32a (also see original review: https://reviews.llvm.org/D22951#change-zKJSAlLXXy11) Unfortunately, the CL does not explain why this change was made, so I can only assume that it was failing a libc++ build as well. I also added the static_assert that was later added in this CL: llvm/llvm-project@0aecae3 This restores the build failure that would occur if U is not a base of DerivedT.
- Loading branch information