summaryrefslogtreecommitdiffstats
path: root/src/perlmodgen.cpp
diff options
context:
space:
mode:
authorDGA45 <59612603+DGA45@users.noreply.github.com>2020-10-30 12:48:55 (GMT)
committerDGA45 <59612603+DGA45@users.noreply.github.com>2020-10-30 12:48:55 (GMT)
commitfd636709110d3242c7e25000274c45b7150a95a6 (patch)
treec7463b82bda801748e53a5a8fac5d5258629bd31 /src/perlmodgen.cpp
parentf246dd2f1c58eea39ea3f50c108019e4d4137bd5 (diff)
parent7bd775a7d8c4d74ce075ba3bb399c5dbff08b325 (diff)
downloadDoxygen-fd636709110d3242c7e25000274c45b7150a95a6.zip
Doxygen-fd636709110d3242c7e25000274c45b7150a95a6.tar.gz
Doxygen-fd636709110d3242c7e25000274c45b7150a95a6.tar.bz2
Merge remote-tracking branch 'origin/issue7556' into Rel_1_8_20_DGA
Diffstat (limited to 'src/perlmodgen.cpp')
-rw-r--r--src/perlmodgen.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index a6e9f22..eceff59 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -1569,6 +1569,7 @@ void PerlModGenerator::generatePerlModForMember(const MemberDef *md,const Defini
// (templateArguments(), definitionTemplateParameterLists())
QCString memType;
+ QCString name;
bool isFunc=FALSE;
switch (md->memberType())
{
@@ -1590,9 +1591,13 @@ void PerlModGenerator::generatePerlModForMember(const MemberDef *md,const Defini
case MemberType_Dictionary: memType="dictionary"; break;
}
+ /* DGA fix #7556 ANSI-C anonymous (unnamed) struct/unions have duplicated names (__unnamed__) */
+ name = md->name();
+ if (md->isAnonymous()) name = "__unnamed__" + name.right(name.length() - 1); /* DGA: ensure unique name */
+
m_output.openHash()
.addFieldQuotedString("kind", memType)
- .addFieldQuotedString("name", md->name())
+ .addFieldQuotedString("name", name)
.addFieldQuotedString("virtualness", getVirtualnessName(md->virtualness()))
.addFieldQuotedString("protection", getProtectionName(md->protection()))
.addFieldBoolean("static", md->isStatic());