diff --git a/IDEHelper/Compiler/BfIRBuilder.cpp b/IDEHelper/Compiler/BfIRBuilder.cpp index 9525dc71..633669da 100644 --- a/IDEHelper/Compiler/BfIRBuilder.cpp +++ b/IDEHelper/Compiler/BfIRBuilder.cpp @@ -1887,9 +1887,10 @@ void BfIRBuilder::CreateTypeDeclaration(BfType* type, bool forceDbgDefine) // Types that don't have a proper 'defining module' need to be defined in every module they are used bool wantsDIForwardDecl = (type->GetModule() != mModule) && (!type->IsFunction()); - // Forward declarations of valuetypes doesn't work in LLVM backend for Win32..... -// if ((!mIsBeefBackend) && (type->IsValueType())) -// wantsDIForwardDecl = false; + // Forward declarations of valuetypes don't work in LLVM backend for Win32..... + //TODO: Why was this commented out? + if ((!mIsBeefBackend) && (type->IsValueType())) + wantsDIForwardDecl = false; if (mModule->mExtensionCount != 0) wantsDIForwardDecl = true; if (forceDbgDefine) diff --git a/IDEHelper/DbgModule.cpp b/IDEHelper/DbgModule.cpp index 4a319d9b..e4a4e3a2 100644 --- a/IDEHelper/DbgModule.cpp +++ b/IDEHelper/DbgModule.cpp @@ -1663,8 +1663,7 @@ void DbgType::ToString(StringImpl& str, DbgLanguage language, bool allowDirectBf } return; } - - char* nameP = (char*)mTypeName; + //String combName; /*if (mTemplateParams != NULL) { @@ -1677,6 +1676,7 @@ void DbgType::ToString(StringImpl& str, DbgLanguage language, bool allowDirectBf { FixName(); } + char* nameP = (char*)mTypeName; if (parent == NULL) { @@ -2285,7 +2285,17 @@ void DbgModule::Fail(const StringImpl& error) *mFailMsgPtr = error; } - mDebugger->OutputRawMessage("error " + error + "\n"); + String errorStr = "error "; + if (!mFilePath.IsEmpty()) + { + errorStr += "Error in "; + errorStr += mFilePath; + errorStr += ": "; + } + errorStr += error; + errorStr += "\n"; + + mDebugger->OutputRawMessage(errorStr); mFailed = true; } diff --git a/IDEHelper/Debugger.cpp b/IDEHelper/Debugger.cpp index f50a69de..727bbd99 100644 --- a/IDEHelper/Debugger.cpp +++ b/IDEHelper/Debugger.cpp @@ -5,7 +5,7 @@ USING_NS_BF; DbgModuleMemoryCache::DbgModuleMemoryCache(uintptr addr, int size) -{ +{ mAddr = addr; mSize = size;