<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Build failures when building on Windows 10 w/ MSVC 2019"
   href="https://bugs.llvm.org/show_bug.cgi?id=47598">47598</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Build failures when building on Windows 10 w/ MSVC 2019
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>10.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>zelexi@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>