On 9/21/2014 3:14 PM, Dimitri van Heesch wrote:
> Hi David,
>
> Thanks for the reminder.
> I'm working on a different way to generate the tag files, i.e. using a 
> separate function rather than to generate it as the side-effect of writing 
> the documentation. That way the workaround with the 'tagDataWritten' flag is 
> no longer needed.
>
> Regards,
>    Dimitri
>
> On 20 Sep 2014, at 3:43 , David Thompson <david.thomp...@kitware.com> wrote:
>
>> Hi all,
>>
>> I just wanted to make sure that Jeffrey Melville's patch doesn't get 
>> dropped; I was having the same issue (no tag entry for a base class member 
>> when a subclass also documented it) and his patch got the tag file working 
>> for me.
>>
>>      Thanks,
>>      David
>>
>>> Below is a patch that fixed the problem on my codebase. I'm not sure if
>>> it breaks other cases where you actually want to suppress the tag data
>>> being generated multiple times. I can submit a Github pull request if
>>> you'd prefer.
>>>
>>> Cheers,
>>> Jeff
>>>
>>>  From b874223b33d4939c53b42df75ce62bcc4acea318 Mon Sep 17 00:00:00 2001
>>> From: Jeffrey Melville <jmelville@...>
>>> Date: Mon, 8 Sep 2014 13:16:29 -0400
>>> Subject: [PATCH] Fix for missing inherited class members in tag files.
>>>
>>> Signed-off-by: Jeffrey Melville <jmelville@...>
>>> ---
>>>   src/memberdef.cpp | 6 +++++-
>>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/memberdef.cpp b/src/memberdef.cpp
>>> index a25528a..8626e5e 100644
>>> --- a/src/memberdef.cpp
>>> +++ b/src/memberdef.cpp
>>> @@ -3550,7 +3550,11 @@ Specifier MemberDef::virtualness(int count) const
>>>   void MemberDef::_writeTagData(const DefType compoundType)
>>>   {
>>>     unsigned typeMask = 1 << compoundType;
>>> -  if ((m_impl->tagDataWritten) & typeMask) return; // member already 
>>> written for this type
>>> +
>>> +  // Return if member already written for this compoundType, except if
>>> +  // compoundType is a class. This function can be run multiple times for
>>> +  // classes in an inheritance hierarchy.
>>> +  if (compoundType != TypeClass && (m_impl->tagDataWritten) & typeMask) 
>>> return;
>>>     if (m_impl->mtype==MemberType_EnumValue && m_impl->enumScope &&
>>>         m_impl->enumScope->isStrong()) return; // enum value is part of enum
>>>     static bool generateTagFile = 
>>> !Config_getString("GENERATE_TAGFILE").isEmpty();
>>> --
>>> 1.9.1
>>
>> ------------------------------------------------------------------------------
>> Slashdot TV.  Video for Nerds.  Stuff that Matters.
>> http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
>> _______________________________________________
>> Doxygen-users mailing list
>> Doxygen-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/doxygen-users
>
>
> ------------------------------------------------------------------------------
> Slashdot TV.  Video for Nerds.  Stuff that Matters.
> http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
> _______________________________________________
> Doxygen-users mailing list
> Doxygen-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/doxygen-users
>

Dimitri,

Thanks for the update. Can you keep me in the loop on this feature?  I 
would be happy to test out any commits for you against my codebase. I'm 
going to continue using the workaround in the meantime.

Cheers,
Jeff

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to