Dimitri,

On 8/28/2014 2:03 PM, Dimitri van Heesch wrote:
> Hi Jeffrey,
>
> On 27 Aug 2014, at 17:59 , Jeffrey Melville <jmelvi...@mitre.org> wrote:
>
>> All,
>>
>> I'm working on two closely related source trees that generate Doxygen
>> separately. To cross-link the Doxygen HTML, we just started using
>> GENERATE_TAGFILE and TAGFILES for ProjectA and Project B respectively.
>>
>> I noticed that some functions are missing from the tag file in 1.8.6,
>> 1.8.8, and the current git head. The tag file is complete when I
>> generate it with 1.8.2. The was a similar thread
>> (http://doxygen.10944.n7.nabble.com/Tag-files-and-linking-to-variables-td5788.html)
>> that referenced this bug:
>> (https://bugzilla.gnome.org/show_bug.cgi?id=694376). The bug was
>> supposed to be fixed in 1.8.4 but I am still seeing my issue.
>>
>> It seems to involve hierarchies similar to the one below. In the actual
>> codebase, all members are documented but I ommitted the documentation
>> here for brevity.
>>
>> The tag file only includes private members of class A (i.e. foo is not
>> listed). In one case,
>> the tag file for a B-style class even includes the function ~A().
>>
>> This is problematic because the ProjectB documentation for class C does
>> not properly link to the overridden function in ProjectA.
>>
>> If I generate the tag file for ProjectA using Doxygen 1.8.2, then build
>> the Doxygen for ProjectB with Doxygen 1.8.6 using that tag file,
>> everything is fine. We have some compatibility issues with the rest of
>> the Doxyfile with 1.8.2.
>>
>> Unfortunately, I haven't been able to replicate the problem with a
>> simple test case like this one. It only occurs with the full codebase,
>> which I am unable to provide.
>>
>> Is this enough for anyone to have an idea? I'm not opposed to hacking on
>> the Doxygen source code to find a patch but I could use a tip on where
>> to start looking.
>
> I'm afraid it is not enough to directly pinpoint the problem.
> Some questions:
> - does the issue occur with just one tag file, and one project using it, or 
> is there
>    a chain of tag files, where also projectA imports tag files?

No, ProjectA does not import any tag files. It does declare 
BUILTIN_STL_SUPPORT. ProjectB is the only consumer of ProjectA's tag 
file. It only imports the single tag file.

> - is a symbol with the same name as the one that is not correctly appearing
>    in projectA's tag file (i.e. foo), also in some other tag file?

No, since project A does not import any other tag flies.
I don't know if this matters, but another source file forward declares 
one of the affected classes.

>
> If you want to see places in the code where information is written to the tag 
> file,
> look for "Doxygen::tagFile" in the source code. For member information look in
> src/memberdef.cpp

Ok. I'll poke around. Have there been any significant changes since 
1.8.2 in the way tag files are generated?

>
> Regards,
>    Dimitri
>

Thanks,
Jeff

P.S. Sorry for the double send, I forgot to include the list.

>>
>> Cheers,
>> Jeff
>>
>>
>> // Class A and B are in ProjectA
>> class A
>> {
>> public:
>>     virtual ~A() {}
>>     virtual void foo() {}
>> protected:
>>     A() {}
>> private:
>>     int a_private;
>> };
>>
>> class B : public A
>> {
>> public:
>>      virtual ~B() {}
>>      virtual void bar() = 0;
>> protected:
>>      B() {}
>> private:
>>      int b_private;
>> };
>>
>> // Class C is in ProjectB
>> class C : public B
>> {
>> public:
>>      void foo() { /* Do something */ }
>>      void bar() { /* Do something */ }
>> };
>>
>> ------------------------------------------------------------------------------
>> Slashdot TV.
>> Video for Nerds.  Stuff that matters.
>> http://tv.slashdot.org/
>> _______________________________________________
>> 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://tv.slashdot.org/
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to