[llvm-bugs] [Bug 47598] New: Build failures when building on Windows 10 w/ MSVC 2019

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Sep 21 08:26:31 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=47598

            Bug ID: 47598
           Summary: Build failures when building on Windows 10 w/ MSVC
                    2019
           Product: new-bugs
           Version: 10.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: zelexi at gmail.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

There's a bunch of issues when trying to build LLVM from scratch on Win 10 w/
MSVC 2019 (or 2017 for that matter). These issues are blocking for me.


First there was an issue with llvm::is_trivially_copyable not being compatible
with std::is_trivially_copyable causing build failure

/// SmallVectorTemplateBase<TriviallyCopyable = false> - This is where we put
method
 /// implementations that are designed to work with non-POD-like T's.
-template <typename T, bool = is_trivially_copyable<T>::value>
+template <typename T, bool = std::is_trivially_copyable<T>::value>
 class SmallVectorTemplateBase : public SmallVectorTemplateCommon<T> {
 protected:
   SmallVectorTemplateBase(size_t Size) : SmallVectorTemplateCommon<T>(Size) {}


After fixing by using std:: then there is

X:\radgit\rad\jono\scripts\llvm-build\llvm-project\llvm\include\llvm/ADT/SmallVector.h(222,34):
error C2280: 'clang::OpaqueValueExpr::OpaqueValueExpr(const
clang::OpaqueValueExpr &)': attempting to reference a deleted function
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\clang\include\clang/AST/Expr.h(1146):
message : compiler has generated 'clang::OpaqueValueExpr::OpaqueValueExpr' here
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\clang\include\clang/AST/Expr.h(1146,1):
message : 'clang::OpaqueValueExpr::OpaqueValueExpr(const clang::OpaqueValueExpr
&)': function was implicitly deleted because a base class invokes a deleted or
inaccessible function 'clang::Expr::Expr(const clang::Expr &)'
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\clang\include\clang/AST/Expr.h(113,3):
message : 'clang::Expr::Expr(const clang::Expr &)': function was explicitly
deleted
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\llvm\include\llvm/ADT/SmallVector.h(219):
message : while compiling class template member function 'void
llvm::SmallVectorTemplateBase<T,false>::push_back(T &&)'
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
          with
          [
              T=clang::OpaqueValueExpr
          ]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\clang\lib\Sema\SemaExprCXX.cpp(4987):
message : see reference to function template instantiation 'void
llvm::SmallVectorTemplateBase<T,false>::push_back(T &&)' being compiled
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
          with
          [
              T=clang::OpaqueValueExpr
          ]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\llvm\include\llvm/ADT/SmallVector.h(316):
message : see reference to class template instantiation
'llvm::SmallVectorTemplateBase<T,false>' being compiled
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
          with
          [
              T=clang::OpaqueValueExpr
          ]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\llvm\include\llvm/ADT/SmallVector.h(838):
message : see reference to class template instantiation
'llvm::SmallVectorImpl<T>' being compiled
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]
          with
          [
              T=clang::OpaqueValueExpr
          ]
X:\radgit\rad\jono\scripts\llvm-build\llvm-project\clang\lib\Sema\SemaExprCXX.cpp(4980):
message : see reference to class template instantiation
'llvm::SmallVector<clang::OpaqueValueExpr,2>' being compiled
[X:\radgit\rad\jono\scripts\llvm-build\llvm-project\build\tools\clang\lib\Sema\obj.clangSema.vcxproj]

How are you guys building 10.0.1 over there? Looks like you guys need some kind
of prereq system config information or something.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200921/2b0a822e/attachment.html>


More information about the llvm-bugs mailing list