diff --git a/IDEHelper/Compiler/BfIRCodeGen.cpp b/IDEHelper/Compiler/BfIRCodeGen.cpp index 9b08751e..866cc814 100644 --- a/IDEHelper/Compiler/BfIRCodeGen.cpp +++ b/IDEHelper/Compiler/BfIRCodeGen.cpp @@ -4063,6 +4063,8 @@ void BfIRCodeGen::HandleNextCmd() CMD_PARAM(int, column); CMD_PARAM(llvm::MDNode*, diScope); CMD_PARAM(llvm::MDNode*, diInlinedAt); + if (line == 0) + column = 0; mDebugLoc = llvm::DILocation::get(*mLLVMContext, line, column, diScope, diInlinedAt); } break; @@ -4766,6 +4768,8 @@ void BfIRCodeGen::HandleNextCmd() CMD_PARAM(llvm::MDNode*, file); CMD_PARAM(int, lineNum); CMD_PARAM(int, col); + if (lineNum == 0) + col = 0; BF_ASSERT(file != NULL); SetResult(curId, mDIBuilder->createLexicalBlock((llvm::DIScope*)scope, (llvm::DIFile*)file, (unsigned)lineNum, (unsigned)col)); } diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 15120d27..ceed1462 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -2677,6 +2677,7 @@ void BfModule::UpdateSrcPos(BfAstNode* astNode, BfSrcPosFlags flags, int debugLo { mCurFilePosition.mFileInstance = bfFileInstance; mCurFilePosition.mCurLine = 0; + mCurFilePosition.mCurColumn = 0; mCurFilePosition.mCurSrcPos = 0; } } @@ -2700,7 +2701,7 @@ void BfModule::UpdateSrcPos(BfAstNode* astNode, BfSrcPosFlags flags, int debugLo mCurFilePosition.mCurColumn = 0; } else - { + { mCurFilePosition.mCurColumn++; }