Skip to content

Commit 4a6a4b6

Browse files
Fix null elements in DI (#3154)
1 parent 65f795b commit 4a6a4b6

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/coreclr/jit/llvmdebuginfo.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,7 @@ class TypeDebugInfoModule
328328
// Forward-declare our structure to handle inheritance.
329329
llvm::TempDIType declType = llvm::TempDIType(
330330
m_diBuilder.createReplaceableCompositeType(DW_TAG_structure_type, "", nullptr, nullptr, 0));
331-
unsigned debugElementsCount = (pInfo->BaseClass != NO_DEBUG_TYPE) + pInfo->InstanceFieldCount;
332-
llvm::SmallVector<Metadata*> debugElements(debugElementsCount);
331+
llvm::SmallVector<Metadata*, 32> debugElements;
333332
if (pInfo->BaseClass != NO_DEBUG_TYPE)
334333
{
335334
DIType* baseDebugType = GetEmittedType(pInfo->BaseClass);
@@ -355,12 +354,12 @@ class TypeDebugInfoModule
355354

356355
DIType* EmitEnumType(CORINFO_LLVM_ENUM_TYPE_DEBUG_INFO* pInfo)
357356
{
358-
llvm::SmallVector<Metadata*, 24> elements(static_cast<size_t>(pInfo->ElementCount));
357+
llvm::SmallVector<Metadata*, 32> elements(static_cast<size_t>(pInfo->ElementCount));
359358
for (size_t i = 0; i < pInfo->ElementCount; i++)
360359
{
361360
CORINFO_LLVM_ENUM_ELEMENT_DEBUG_INFO* pElementInfo = &pInfo->Elements[i];
362361
llvm::DIEnumerator* element = m_diBuilder.createEnumerator(pElementInfo->Name, pElementInfo->Value);
363-
elements.push_back(element);
362+
elements[i] = element;
364363
}
365364

366365
DINodeArray elementsArray = m_diBuilder.getOrCreateArray(elements);

0 commit comments

Comments
 (0)