<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), function isNothrow" on innocuous code"
   href="http://llvm.org/bugs/show_bug.cgi?id=20351">20351</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>"Assertion failed: (EST != EST_Unevaluated && EST != EST_Uninstantiated), function isNothrow" 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>$ cat tmp.cc
struct Event { virtual ~Event(); };
struct KeyEvent : public Event { };
void CopyEvent(Event* event) { new Event(*event); }

$ ../../llvm-build/bin/clang-cl /c tmp.cc 
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                0x000000010440b998
llvm::sys::PrintStackTrace(__sFILE*) + 40
1  clang-3.5                0x000000010440be84 SignalHandler(int) + 564
2  libsystem_platform.dylib 0x00007fff8f74e5aa _sigtramp + 26
3  libsystem_platform.dylib 000000000000000000 _sigtramp + 1888164464
4  clang-3.5                0x000000010440bc36 abort + 22
5  clang-3.5                0x000000010440bc11 __assert_rtn + 81
6  clang-3.5                0x000000010559f15d
clang::FunctionProtoType::isNothrow(clang::ASTContext const&, bool) const + 317
7  clang-3.5                0x000000010489376d
clang::CodeGen::CodeGenModule::ConstructAttributeList(clang::CodeGen::CGFunctionInfo
const&, clang::Decl const*, llvm::SmallVector<llvm::AttributeSet, 8u>&,
unsigned int&, bool) + 445
8  clang-3.5                0x0000000104983746
clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributes(clang::Decl const*,
clang::CodeGen::CGFunctionInfo const&, llvm::Function*) + 86
9  clang-3.5                0x0000000104983f77
clang::CodeGen::CodeGenModule::SetFunctionAttributes(clang::GlobalDecl,
llvm::Function*, bool) + 151
10 clang-3.5                0x0000000104985dd0
clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef,
llvm::Type*, clang::GlobalDecl, bool, bool, llvm::AttributeSet) + 448
11 clang-3.5                0x000000010498821d
clang::CodeGen::CodeGenModule::GetAddrOfFunction(clang::GlobalDecl,
llvm::Type*, bool, bool) + 125
12 clang-3.5                0x00000001049721d8
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*) + 904
13 clang-3.5                0x00000001049cf1c0 (anonymous
namespace)::MicrosoftCXXABI::emitVTableDefinitions(clang::CodeGen::CodeGenVTables&,
clang::CXXRecordDecl const*) + 1456
14 clang-3.5                0x0000000104972a5b
clang::CodeGen::CodeGenModule::EmitDeferredVTables() + 155
15 clang-3.5                0x0000000104981576
clang::CodeGen::CodeGenModule::EmitDeferred() + 70
16 clang-3.5                0x0000000104981119
clang::CodeGen::CodeGenModule::Release() + 25
17 clang-3.5                0x00000001049762c4
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 100
18 clang-3.5                0x0000000104c74fe4 clang::ParseAST(clang::Sema&,
bool, bool) + 452
19 clang-3.5                0x0000000104974e9b
clang::CodeGenAction::ExecuteAction() + 123
20 clang-3.5                0x00000001045f9883 clang::FrontendAction::Execute()
+ 67
21 clang-3.5                0x00000001045ce303
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 931
22 clang-3.5                0x0000000104633940
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 4256
23 clang-3.5                0x000000010371c397 cc1_main(char const**, char
const**, char const*, void*) + 903
24 clang-3.5                0x000000010371aa1d main + 8653
25 libdyld.dylib            0x00007fff8d1e75fd start + 1</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>