After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670289 - Doxygen get's confused by angle brackets
Doxygen get's confused by angle brackets
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.7.6.1
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2012-02-17 14:59 UTC by Martin Sauerhoff
Modified: 2012-02-25 15:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Files for reproducing the bug (19.68 KB, application/octet-stream)
2012-02-17 14:59 UTC, Martin Sauerhoff
Details

Description Martin Sauerhoff 2012-02-17 14:59:34 UTC
Created attachment 207856 [details]
Files for reproducing the bug

In the example below, doxygen omits the documentation of
all class members of class B. It correctly includes the documentation, if
1) either a space is inserted between the two right double brackets
   of type definition StrangeType; or
2) the (single) member of class A is commented out.

Thus, the parser somehow get's confused by multiple angle brackets.
Note that the two consecutive right angle brackets here are allowed 
according to C++11. The dependence on the unrelated definition
of class A is strange, anyway.


//! \file myclass.h

#pragma once

// -----------------------------------------------------------------------------
// Class A
//
//! \brief First class.
// -----------------------------------------------------------------------------

class A
{
	static const size_t LargeValue = ~static_cast<size_t>(0);
};

// -----------------------------------------------------------------------------
// Class B
//
//! \brief Second class.
// -----------------------------------------------------------------------------

class B 
{
public:
	//! Template type with double right angle brackets.
	typedef TemplateType1<TemplateType2<T, U>> StrangeType;

	//! Member that doxygen refuses to document.
	B();

	//! Member that doxygen refuses to document.
	void undocumentedMemberFunctioncompare();
};
Comment 1 Dimitri van Heesch 2012-02-18 13:19:34 UTC
Confirmed. Should be fixed in the next subversion update.
Comment 2 Dimitri van Heesch 2012-02-25 15:37:20 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.0. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.