Fix crash with unnamed unions

This commit is contained in:
drmortalwombat 2024-09-16 16:45:51 +02:00
parent bfa1254eb7
commit 73dece7b58

View File

@ -1450,14 +1450,21 @@ const Ident* Declaration::MangleIdent(void)
if (mQualIdent) if (mQualIdent)
mMangleIdent = mQualIdent->PreMangle("struct "); mMangleIdent = mQualIdent->PreMangle("struct ");
else else
mMangleIdent = Ident::Unique("struct"); mMangleIdent = Ident::Unique("struct S", mUID);
}
else if (mType == DT_TYPE_UNION)
{
if (mQualIdent)
mMangleIdent = mQualIdent->PreMangle("union ");
else
mMangleIdent = Ident::Unique("union U", mUID);
} }
else if (mType == DT_TYPE_ENUM) else if (mType == DT_TYPE_ENUM)
{ {
if (mQualIdent) if (mQualIdent)
mMangleIdent = mQualIdent->PreMangle("enum "); mMangleIdent = mQualIdent->PreMangle("enum ");
else else
mMangleIdent = Ident::Unique("enum"); mMangleIdent = Ident::Unique("enum E", mUID);
} }
else if (mType == DT_TYPE_VOID) else if (mType == DT_TYPE_VOID)
{ {