Add info message, if object cannot be placed by linker
This commit is contained in:
parent
ce5be92225
commit
431c5d3282
|
@ -21,6 +21,7 @@ enum ErrorID
|
|||
EINFO_EXPANDED = 1001,
|
||||
EINFO_ORIGINAL_DEFINITION = 1002,
|
||||
EINFO_CALLED_FROM = 1003,
|
||||
EINFO_SIZE = 1004,
|
||||
|
||||
EWARN_GENERIC = 2000,
|
||||
EWARN_CONSTANT_TRUNCATED,
|
||||
|
|
|
@ -802,7 +802,22 @@ void Linker::CopyObjects(bool inlays)
|
|||
else
|
||||
{
|
||||
if (!obj->mRegion)
|
||||
{
|
||||
mErrors->Error(obj->mLocation, ERRR_INSUFFICIENT_MEMORY, "Could not place object", obj->mIdent);
|
||||
|
||||
int avail = 0;
|
||||
for (int i = 0; i < mRegions.Size(); i++)
|
||||
{
|
||||
if (mRegions[i]->mSections.Contains(obj->mSection))
|
||||
{
|
||||
if (mRegions[i]->mEnd - mRegions[i]->mStart - mRegions[i]->mUsed > avail)
|
||||
avail = mRegions[i]->mEnd - mRegions[i]->mStart - mRegions[i]->mUsed;
|
||||
}
|
||||
}
|
||||
char buffer[200];
|
||||
sprintf_s(buffer, "Size %d Available %d in section", obj->mSize, avail);
|
||||
mErrors->Error(obj->mLocation, EINFO_SIZE, buffer, obj->mSection->mIdent);
|
||||
}
|
||||
else if (obj->mRegion->mInlayObject)
|
||||
;
|
||||
else if (obj->mRegion && obj->mRegion->mCartridgeBanks != 0)
|
||||
|
|
Loading…
Reference in New Issue