[llvm-bugs] [Bug 31444] New: Assertion failed: VTableUses should be empty before it is discarded
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Dec 21 04:03:25 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=31444
Bug ID: 31444
Summary: Assertion failed: VTableUses should be empty before it
is discarded
Product: clang
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: trass3r at gmail.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
$ clang.exe -v
clang version 4.0.0 (trunk 290182)
Target: x86_64-pc-windows-msvc
typedef unsigned uint64_t;
namespace {
class File
{
virtual bool isOpen() ;
};
}
namespace {
class FileWriter: File
{
};
}
namespace fileaccesslayer
{
class QtFileWriter: FileWriter
{
};
}
namespace {
class {
uint64_t close()
{
close<uint32_t>;
}
template <typename T>
void close()
{
new fileaccesslayer::QtFileWriter;
}
}
}
$ clang.exe "-cc1" "-triple" "x86_64-pc-windows-msvc19.0.0" "-emit-obj"
"-mincremental-linker-compatible" "-disable-free" "-main-file-name"
"Rcd30ProcessingChainFactoryHelper.cpp" "-mrelocation-model" "pic" "-pic-level"
"2" "-mthread-model" "posix" "-relaxed-aliasing" "-fmath-errno" "-masm-verbose"
"-mconstructor-aliases" "-munwind-tables" "-target-cpu" "x86-64"
"--dependent-lib=msvcrt" "--dependent-lib=oldnames" "-stack-protector" "2"
"-gcodeview" "-fcxx-exceptions" "-fexceptions" "-fms-volatile"
"-fdefault-calling-conv=cdecl" "-fdiagnostics-format" "msvc"
"-momit-leaf-frame-pointer" "-gcodeview" "-debug-info-kind=limited"
"-debugger-tuning=gdb" "-ffunction-sections" "-O2" "-fdeprecated-macro"
"-ferror-limit" "1" "-fmessage-length" "0" "-fms-extensions"
"-fms-compatibility" "-fms-compatibility-version=19.0" "-std=c++14"
"-fdelayed-template-parsing" "-fdiagnostics-show-option" "-vectorize-loops"
"-vectorize-slp" "-fopenmp" -w R.cpp
R.cpp(23,7): error: unknown type name 'uint32_t'; did you mean 'uint64_t'?
close<uint32_t>;
^~~~~~~~
uint64_t
R.cpp(1,18): note: 'uint64_t' declared here
typedef unsigned uint64_t;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Assertion failed: S.VTableUses.empty() && "VTableUses should be empty before it
is discarded.", file tools\clang\include\clang/Sema/Sema.h, line 7180
#4 _wassert d:\th\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp:404:0
#5
clang::Sema::SavePendingInstantiationsAndVTableUsesRAII::~SavePendingInstantiationsAndVTableUsesRAII(void)
tools\clang\include\clang\sema\sema.h:7181:0
#6 clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation,class
clang::FunctionDecl *,bool,bool,bool)
tools\clang\lib\sema\sematemplateinstantiatedecl.cpp:3749:0
#7 clang::Sema::PerformPendingInstantiations(bool)
tools\clang\lib\sema\sematemplateinstantiatedecl.cpp:4930:0
#8 clang::Sema::ActOnEndOfTranslationUnit(void)
tools\clang\lib\sema\sema.cpp:728:0
#9 clang::Parser::ParseTopLevelDecl(class clang::OpaquePtr<class
clang::DeclGroupRef> &) tools\clang\lib\parse\parser.cpp:618:0
#10 clang::ParseAST(class clang::Sema &,bool,bool)
tools\clang\lib\parse\parseast.cpp:147:0
--
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/20161221/6d5f470d/attachment-0001.html>
More information about the llvm-bugs
mailing list