<div dir="ltr">Hi guys,<div><br></div><div>I'm having an issue with clang/llvm since I upgraded my compiler from VS2013 to VS2015. I'm invoking clang programmatically to compile C++ source files and up till now it has worked fine but since the upgrade and recompiling all the clang/llvm libraries I'm getting some errors deep inside the clang/llvm source without having changed any code on my end. The problem I'm facing right now is an assertion being triggered in an llvm class:</div><div><br></div><div><div>Assertion failed: HasHungOffUses && "alloc must have hung off uses", file F:\Cla</div><div>nggit\llvm\lib\IR\User.cpp, line 44</div><div><br></div><div>Here is the complete call stack up till the assertion: </div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>ucrtbased.dll!___threadid ()<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>ucrtbased.dll!___acrt_report_runtime_error ()<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>ucrtbased.dll!_abort ()<span class="gmail-Apple-tab-span" style="white-space:pre">       </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>ucrtbased.dll!__crt_char_traits<char>::tcsncat_s<char * &,unsigned int const &,char const * const &,unsigned int const >(char * &,unsigned int const &,char const * const &,unsigned int const &&)<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>ucrtbased.dll!__get_wide_winmain_command_line ()<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>ucrtbased.dll!__get_wide_winmain_command_line ()<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>ucrtbased.dll!__wassert ()<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>Unknown</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>Plugin_Clang_d.dll!llvm::User::allocHungoffUses(unsigned int N, bool IsPhi) Line 44<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div>><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>Plugin_Clang_d.dll!llvm::Function::allocHungoffUselist() Line 1234<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!llvm::Function::setHungoffOperand<0>(llvm::Constant * C) Line 1247<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!llvm::Function::setPersonalityFn(llvm::Constant * Fn) Line 1205<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::getInvokeDestImpl() Line 722<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::getInvokeDest() Line 1412<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitCall(const clang::CodeGen::CGFunctionInfo & CallInfo, const clang::CodeGen::CGCallee & Callee, clang::CodeGen::ReturnValueSlot ReturnValue, const clang::CodeGen::CallArgList & CallArgs, llvm::Instruction * * callOrInvoke) Line 4090<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorCall(const clang::CXXMethodDecl * MD, const clang::CodeGen::CGCallee & Callee, clang::CodeGen::ReturnValueSlot ReturnValue, llvm::Value * This, llvm::Value * ImplicitParam, clang::QualType ImplicitParamTy, const clang::CallExpr * CE, clang::CodeGen::CallArgList * RtlArgs) Line 91<span class="gmail-Apple-tab-span" style="white-space:pre">       </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(const clang::CallExpr * CE, const clang::CXXMethodDecl * MD, clang::CodeGen::ReturnValueSlot ReturnValue, bool HasQualifier, clang::NestedNameSpecifier * Qualifier, bool IsArrow, const clang::Expr * Base) Line 385<span class="gmail-Apple-tab-span" style="white-space:pre">       </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(const clang::CXXMemberCallExpr * CE, clang::CodeGen::ReturnValueSlot ReturnValue) Line 188<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitCallExpr(const clang::CallExpr * E, clang::CodeGen::ReturnValueSlot ReturnValue) Line 3870<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!`anonymous namespace'::ScalarExprEmitter::VisitCallExpr(const clang::CallExpr * E) Line 405<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::StmtVisitorBase<clang::make_ptr,`anonymous namespace'::ScalarExprEmitter,llvm::Value *>::VisitCXXMemberCallExpr(clang::CXXMemberCallExpr * S) Line 339<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::StmtVisitorBase<clang::make_ptr,`anonymous namespace'::ScalarExprEmitter,llvm::Value *>::Visit(clang::Stmt * S) Line 339<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!`anonymous namespace'::ScalarExprEmitter::Visit(clang::Expr * E) Line 260<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!`anonymous namespace'::ScalarExprEmitter::VisitCastExpr(clang::CastExpr * CE) Line 1501<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::StmtVisitorBase<clang::make_ptr,`anonymous namespace'::ScalarExprEmitter,llvm::Value *>::VisitImplicitCastExpr(clang::ImplicitCastExpr * S) Line 423<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::StmtVisitorBase<clang::make_ptr,`anonymous namespace'::ScalarExprEmitter,llvm::Value *>::Visit(clang::Stmt * S) Line 423<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!`anonymous namespace'::ScalarExprEmitter::Visit(clang::Expr * E) Line 260<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitScalarExpr(const clang::Expr * E, bool IgnoreResultAssign) Line 3621<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EvaluateExprAsBool(const clang::Expr * E) Line 123<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(const clang::Expr * Cond, llvm::BasicBlock * TrueBlock, llvm::BasicBlock * FalseBlock, unsigned __int64 TrueCount) Line 1508<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(const clang::Expr * Cond, llvm::BasicBlock * TrueBlock, llvm::BasicBlock * FalseBlock, unsigned __int64 TrueCount) Line 1430<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitIfStmt(const clang::IfStmt & S) Line 656<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitStmt(const clang::Stmt * S) Line 134<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(const clang::CompoundStmt & S, bool GetLast, clang::CodeGen::AggValueSlot AggSlot) Line 381<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::CodeGen::FunctionArgList & Args, const clang::Stmt * Body) Line 990<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl GD, llvm::Function * Fn, const clang::CodeGen::CGFunctionInfo & FnInfo) Line 1161<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl GD, llvm::GlobalValue * GV) Line 3052<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl GD, llvm::GlobalValue * GV) Line 1888<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenModule::EmitDeferred() Line 1360<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGen::CodeGenModule::Release() Line 377<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!`anonymous namespace'::CodeGeneratorImpl::HandleTranslationUnit(clang::ASTContext & Ctx) Line 261<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext & C) Line 205<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::ParseAST(clang::Sema & S, bool PrintStats, bool SkipFunctionBodies) Line 159<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::ASTFrontendAction::ExecuteAction() Line 567<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CodeGenAction::ExecuteAction() Line 991<span class="gmail-Apple-tab-span" style="white-space:pre">     </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::FrontendAction::Execute() Line 468<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::CompilerInstance::ExecuteAction(clang::FrontendAction & Act) Line 951<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!clang::ExecuteCompilerInvocation(clang::CompilerInstance * Clang) Line 249<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!Compiler::compile(const char * * ArgBegin, const char * * ArgEnd, const char * Argv0, ASTVisitor & visitor) Line 536<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>Plugin_Clang_d.dll!Compiler::compile(const char * srcFilePath, const char * outputFilePath, Scripta::result & result, const char * * args, unsigned int argsSize) Line 287<span class="gmail-Apple-tab-span" style="white-space:pre">        </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>scripta-example.exe!ScriptaPlatform::compile(const char * filePath, const char * outputFile) Line 233<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>scripta-example.exe!ScriptaPlatform::load(const char * filename) Line 395<span class="gmail-Apple-tab-span" style="white-space:pre">     </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>scripta-example.exe!main() Line 380<span class="gmail-Apple-tab-span" style="white-space:pre">   </span>C++</div><div> <span class="gmail-Apple-tab-span" style="white-space:pre">  </span>[External Code]<span class="gmail-Apple-tab-span" style="white-space:pre">       </span></div></div><div><span class="gmail-Apple-tab-span" style="white-space:pre"><br></span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre"><br></span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">Here's hoping someone here can give me some guidance on resolving this issue.</span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre"><br></span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">Thanks a lot for your time.</span></div><div><span class="gmail-Apple-tab-span" style="white-space:pre"><br></span></div><div><br></div></div>