May 06, 2014 Re: LDC - DMD sync strategy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | Tried again with default compiler options but same result for tested Release and ReleaseWithDebInfo configs. cmake.exe -G "Visual Studio 12 Win64" -DCMAKE_INSTALL_PREFIX=.../llvm/installed -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_APPEND_VC_REV=ON -DCMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO="/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF" -DCMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO="/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF" .. cmake.exe -G "Visual Studio 12 Win64" -DCMAKE_INSTALL_PREFIX=.../ldc -DLLVM_ROOT_DIR=.../llvm/installed -DLIBCONFIG++_INCLUDE_DIR=../libconfig-1.4.9/lib -DLIBCONFIG++_LIBRARY="../libconfig-1.4.9/x64/Release/libconfig++.lib" .. Generating src/core/atomic.obj Assertion failed: List && "Handle list is null?", file ..\..\..\lib\IR\Value.cpp, line 528 Generating std/algorithm-debug.obj Assertion failed: !N->getContext().pImpl->MDNodeSet.RemoveNode(N) && "Deleting a non-temporary uniqued node!", file ..\..\..\lib\IR\Metadata.cpp, line 296 |
May 07, 2014 Re: LDC - DMD sync strategy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trass3r | Hi Trass3r! On Tuesday, 6 May 2014 at 12:35:17 UTC, Trass3r wrote: > > Generating src/core/atomic.obj > Assertion failed: List && "Handle list is null?", file ..\..\..\lib\IR\Value.cpp, line 528 > Generating std/algorithm-debug.obj > Assertion failed: !N->getContext().pImpl->MDNodeSet.RemoveNode(N) && "Deleting a non-temporary uniqued node!", file ..\..\..\lib\IR\Metadata.cpp, line 296 Now I can trigger the second assertion failure. Seems to have something to do with recent changes in debug symbol generation. My configuration is: cmake -G "Visual Studio 11 Win64" -DCMAKE_INSTALL_PREFIX="D:/Program Files/LLVM-x64" -DCMAKE_BUILD_TYPE=Debug -DPYTHON_EXECUTABLE="C:/Program Files/Python/Python33/python.exe" -DLLVM_TARGETS_TO_BUILD="X86;ARM;PowerPC;Mips;Sparc;CppBackend" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_BUILD_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_ENABLE_ZLIB=OFF D:/OpenSource/LLVM/LLVM-git cmake -G "Visual Studio 11 Win64" -DCMAKE_INSTALL_PREFIX="D:\Program Files\LDC" -DCMAKE_BUILD_TYPE=Debug -DLLVM_ROOT_DIR="D:/Program Files/LLVM-x64" -DLIBCONFIG++_INCLUDE_DIR="D:/OpenSource/libconfig-1.4.9/lib" -DLIBCONFIG++_LIBRARY="D:/OpenSource/libconfig-1.4.9/x64/Debug/libconfig++.lib" ..\ldc Regards, Kai |
May 07, 2014 Re: LDC - DMD sync strategy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kai Nacke | On Wednesday, 7 May 2014 at 05:18:12 UTC, Kai Nacke wrote: > Now I can trigger the second assertion failure. Seems to have something to do with recent changes in debug symbol generation. > > My configuration is: > cmake -G "Visual Studio 11 Win64" -DCMAKE_INSTALL_PREFIX="D:/Program Files/LLVM-x64" -DCMAKE_BUILD_TYPE=Debug Yeah in debug mode only the second one triggers (which was indeed introduced recently). In release mode I get the other assertion: > ldc2.exe!llvm::ValueHandleBase::AddToExistingUseList(llvm::ValueHandleBase * * List=0x00000000001ff440) Line 531 C++ ldc2.exe!llvm::scc_iterator<llvm::CallGraph * __ptr64,llvm::GraphTraits<llvm::CallGraph * __ptr64> >::DFSVisitChildren() Line 158 C++ ldc2.exe!llvm::scc_iterator<llvm::CallGraph * __ptr64,llvm::GraphTraits<llvm::CallGraph * __ptr64> >::GetNextSCC() Line 179 C++ ldc2.exe!llvm::scc_begin<llvm::CallGraph * __ptr64>(llvm::CallGraph * const & G=0x00000000024f7e70) Line 225 C++ ldc2.exe!`anonymous namespace'::CGPassManager::runOnModule(llvm::Module & M={...}) Line 434 C++ ldc2.exe!`anonymous namespace'::MPPassManager::runOnModule(llvm::Module & M={...}) Line 1625 C++ ldc2.exe!llvm::legacy::PassManagerImpl::run(llvm::Module & M={...}) Line 1734 C++ ldc2.exe!ldc_optimize_module(llvm::Module * M=0x0000000000000023) Line 400 C++ ldc2.exe!writeModule(llvm::Module * m=0x0000000000000000, std::basic_string<char,std::char_traits<char>,std::allocator<char> > filename={...}) Line 133 C++ ldc2.exe!main(int argc=0, char * * argv=0x0000000000000000) Line 1279 C++ |
May 08, 2014 Re: LDC - DMD sync strategy | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trass3r | with /d2Zi+ the stack trace is better: llvm::ValueHandleBase::AddToExistingUseList(llvm::ValueHandleBase** List=0) Line 531 llvm::scc_iterator<llvm::CallGraph*,llvm::GraphTraits<llvm::CallGraph*> >::DFSVisitChildren() Line 158 llvm::scc_iterator<llvm::CallGraph*,llvm::GraphTraits<llvm::CallGraph*> >::GetNextSCC() Line 179 `anonymous namespace'::CGPassManager::runOnModule(llvm::Module & M=<struct at NULL>) Line 434 `anonymous namespace'::MPPassManager::runOnModule(llvm::Module & M={...}) Line 1625 llvm::legacy::PassManagerImpl::run(llvm::Module & M={...}) Line 1734 ldc_optimize_module(llvm::Module* M=0x00000000024a6d20) Line 400 But it still makes no sense. In MPPassManager::runOnModule M looks fine and then in CGPassManager::runOnModule it's allegedly null. |
Copyright © 1999-2021 by the D Language Foundation