<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 - Crash in code generation or optimizer"
   href="https://bugs.llvm.org/show_bug.cgi?id=45341">45341</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Crash in code generation or optimizer
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>7.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>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>-New Bugs
          </td>
        </tr>

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

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

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=23284" name="attach_23284" title="Reproduction.zip">attachment 23284</a> <a href="attachment.cgi?id=23284&action=edit" title="Reproduction.zip">[details]</a></span>
Reproduction.zip

When compiling with -fsyntax-only, I don't get the problem.
When compiling with LLVM 9.0.0, I also don't get a crash.

However, I'm unable to upgrade this project as the compilers have been fixed on
release. Some understanding of why this is happening would be useful to work
around these crashes. (Note that some manipulations can fix the crash on this
production without doing this on the original)


// C:\LLVM_7_0_0\bin\clang-cl.exe /c /EHsc -w /std:c++17 t.cpp
// See reproduction.zip for preprocessed code + .sh
#include <string>
#include <variant>
#include <vector>

struct A {
  std::basic_string<wchar_t> m;
};

struct B {
  B(A a);

  std::variant<A> m;
};
struct C : B {
  using B::B;
};

void f() {
  std::vector<C> c{};
  auto a = A{};
  auto b = C{std::move(a)};
  c.push_back(C{A{}});
}</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>