<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </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 --- - Assertion failed: (EST != EST_Unevaluated && EST != EST_Uninstantiated) in MS ABI on innocuous code"
   href="http://llvm.org/bugs/show_bug.cgi?id=20671">20671</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Assertion failed: (EST != EST_Unevaluated && EST != EST_Uninstantiated) in MS ABI on innocuous code
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

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

        <tr>
          <th>OS</th>
          <td>All
          </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>C++
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>nicolasweber@gmx.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>(This is similar to the already-fixed issue 20351, and to the reported open
issues 20619 and 19190. But issue 20619 is about lambdas and this one isn't, so
maybe it's different. And 19190 isn't reduced, so it's easier to check if it's
fixed after this bug here is fixed.)

Nicos-MacBook-Pro:delta thakis$ cat repro.ii
struct DefaultTickClock {
  virtual ~DefaultTickClock();
};
template <class T> void foo(T t) { new DefaultTickClock; }
void bar() { foo(0); }

Nicos-MacBook-Pro:delta thakis$ ~/src/llvm-build/bin/clang-cl -m32 -w repro.ii
Assertion failed: (EST != EST_Unevaluated && EST != EST_Uninstantiated),
function isNothrow, file
/Users/thakis/src/llvm-rw/tools/clang/lib/AST/Type.cpp, line 1697.
0  clang-3.5                0x00000001048ba288
llvm::sys::PrintStackTrace(__sFILE*) + 40
1  clang-3.5                0x00000001048ba774 SignalHandler(int) + 564
2  libsystem_platform.dylib 0x00007fff95f865aa _sigtramp + 26
3  libsystem_platform.dylib 000000000000000000 _sigtramp + 1778883184
4  clang-3.5                0x00000001048ba526 abort + 22
5  clang-3.5                0x00000001048ba501 __assert_rtn + 81
6  clang-3.5                0x0000000105b812ad
clang::FunctionProtoType::isNothrow(clang::ASTContext const&, bool) const + 317
7  clang-3.5                0x0000000104d5f8b3
clang::CodeGen::CodeGenModule::ConstructAttributeList(clang::CodeGen::CGFunctionInfo
const&, clang::Decl const*, llvm::SmallVector<llvm::AttributeSet, 8u>&,
unsigned int&, bool) + 467
8  clang-3.5                0x0000000104e5d78a
clang::CodeGen::CodeGenModule::SetFunctionAttributes(clang::GlobalDecl,
llvm::Function*, bool) + 202
9  clang-3.5                0x0000000104e5f690
clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef,
llvm::Type*, clang::GlobalDecl, bool, bool, llvm::AttributeSet) + 448
10 clang-3.5                0x0000000104e61bdd
clang::CodeGen::CodeGenModule::GetAddrOfFunction(clang::GlobalDecl,
llvm::Type*, bool, bool) + 125
11 clang-3.5                0x0000000104e4af46
clang::CodeGen::CodeGenVTables::CreateVTableInitializer(clang::CXXRecordDecl
const*, clang::VTableComponent const*, unsigned int, std::__1::pair<unsigned
long long, clang::ThunkInfo> const*, unsigned int, llvm::Constant*) + 678
12 clang-3.5                0x0000000104eaedcf (anonymous
namespace)::MicrosoftCXXABI::emitVTableDefinitions(clang::CodeGen::CodeGenVTables&,
clang::CXXRecordDecl const*) + 1711
13 clang-3.5                0x0000000104e4ba8a
clang::CodeGen::CodeGenModule::EmitDeferredVTables() + 186
14 clang-3.5                0x0000000104e5abf6
clang::CodeGen::CodeGenModule::EmitDeferred() + 70
15 clang-3.5                0x0000000104e5a7e9
clang::CodeGen::CodeGenModule::Release() + 25</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>