Coder Social home page Coder Social logo

doxygen / doxygen Goto Github PK

View Code? Open in Web Editor NEW
5.4K 147.0 1.2K 72.75 MB

Official doxygen git repository

Home Page: https://www.doxygen.org

License: GNU General Public License v2.0

C++ 70.78% C 0.20% Python 11.20% JavaScript 0.59% CSS 0.44% HTML 0.03% PHP 0.09% TeX 1.73% Objective-C 0.01% Java 0.01% CMake 0.73% Lex 13.81% Yacc 0.06% Roff 0.01% C# 0.01% Fortran 0.24% Shell 0.01% Raku 0.07% Dockerfile 0.01%
doxygen doxygen-documentation

doxygen's Introduction

Doxygen

Donate

Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, and to some extent D. Doxygen also supports the hardware description language VHDL.

Doxygen can help you in three ways:

  1. It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in LaTeX) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, DocBook and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code.
  2. You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. Doxygen can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically.
  3. You can also use doxygen for creating normal documentation (as I did for the doxygen user manual and doxygen web-site).

Download

The latest binaries and source of Doxygen can be downloaded from:

Developers

Issues, bugs, requests, ideas

Use the issue tracker to report bugs.

Comms

Mailing Lists

There are three mailing lists:

Source Code

In May 2013, Doxygen moved from subversion to git hosted at GitHub

Enjoy,

Dimitri van Heesch (doxygen at gmail.com)

doxygen's People

Contributors

abathur avatar albert-github avatar apolukhin avatar arm-in avatar artur-kink avatar c-lipka avatar cheoljoo avatar cmorty avatar croydon avatar dependabot[bot] avatar derdakon avatar dhebbeker avatar doxygen avatar ellert avatar ferdymercury avatar fjtc avatar groleo avatar hansec avatar joenio avatar johanbertrand avatar jsoref avatar maddox11 avatar mehw avatar mosra avatar mtc-mlx avatar pepr avatar sebhub avatar tititiou36 avatar wtschueller avatar zchrissirhcz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doxygen's Issues

suggestions to improve spanish translation (Origin: bugzilla #122140)

status VERIFIED severity minor in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-12 17:23:56 +0000, Jose M. Moya wrote:

Please, change the value returned by latexLanguageSupportCommand() in file
translator_es.h into:

virtual QCString latexLanguageSupportCommand()
{
  return "\\usepackage[spanish]{babel}\n"
   "\\usepackage[latin1]{inputenc}\n"
   "\\usepackage[T1]{fontenc}\n";
}

And, please, change all the occurrences of "jerarquía de la clase" por
"jerarquía de clases".

I will try to send you a better translation asap.

On 2003-09-12 19:17:28 +0000, Dimitri van Heesch wrote:

Could you please change the translator_es.h file and send me the
result instead of reporting the changes as a bug?

the \~langId switches do not work as expected (Origin: bugzilla #120367)

status RESOLVED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-21 06:10:13 +0000, [email protected] wrote:

Hi Dimitri,

Here is the example of the ~english and ~czech documented source for
which Doxygen does not produce expected results. The first function
comment was created by Miroslav Sommer, the second comment was created by
myself. The Doxyfile.cz (# Doxyfile 1.3.3-20030808) and Doxyfile.en
differs only in the language (English/Czech). Notice that the brief
comment for the first function contains both English and Czech texts. The
second problem can be observed for the exception part of the second
function. The English version still contains "~english". The Czech
version says the same as English plus the Czech string.

/*! \file test.h */

/**

  • ~english
  • \brief EN String representation of object at index \a index
  • \param EN a index of object
  • \exception EN Invalid index, must be greather than 0
  • \return EN string
  • ~czech
  • \brief CZ Textovy popis objektu na indexu \a index
  • \param a CZ index objektu
  • \exception CZ Chybny index, musi byt vetsi nez 0
  • \return CZ retezec
  • ~
  • \version 1.0
    */
    string toString(const int index);

/**

  • \brief ~english EN String representation of object at index \a index
  •    \~czech CZ Textovy popis objektu na indexu \a index
    
  •    \~
    
  • \param a ~english EN index of object ~czech index objektu ~
  • \exception ~english EN Invalid index, must be greather than 0
  •        \~czech CZ Chybny index, musi byt vetsi nez 0
    
  •        \~
    
  • \return ~english EN string ~czech CZ retezec ~
  • \version 1.0
    */
    string toString2(const int index);

By the way, is it possible to attach zip with the example to the bug
report?

Regards,
Petr

On 2004-12-26 20:45:44 +0000, Dimitri van Heesch wrote:

This should work in the next release (sorry it took so long).

On 2005-01-01 11:56:06 +0000, Dimitri van Heesch wrote:

Please verify that this is fixed in release 1.4.0 and if so please close this bug.

doxygen doesn't match "void f(int * const)" to "void f(int *)" (Origin: bugzilla #120389)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-08-21 13:13:42 +0000, Braden wrote:

The function definition

void f(int * const i) {}

matches the declaration

void f(int * i);

Doxygen doesn't realize this; so when it sees a doc-comment by the
definition, it incorrectly infers that a function is undocumented based
on the declaration, and issues a spurious warning.

On 2003-08-21 13:14:47 +0000, Braden wrote:

Created attachment 19410
Test case

On 2003-08-21 18:48:50 +0000, Dimitri van Heesch wrote:

This problem should already have been fixed in the current CVS release.
Could you confirm or deny this?

On 2003-08-22 13:33:03 +0000, Braden wrote:

The initially given test case now succeeds, but the problem persists
for const types; const int *, for instance. I'll attach a second test
case that still fails.

On 2003-08-22 13:34:14 +0000, Braden wrote:

Created attachment 19447
Test case

On 2003-08-23 06:25:34 +0000, Dimitri van Heesch wrote:

Yes, this is indeed still wrong

On 2003-08-25 05:04:42 +0000, Braden wrote:

With the latest CVS, this now seems to be fixed.

Caveat: there may be some lingering problems with enumerants. I have
not been able to easily reproduce what I'm seeing in a simplified test
case; however, the "problem" function is included in the test case
I've attached to bug 120637.

On 2004-01-01 00:11:46 +0000, Braden wrote:

Reopening. As of release 1.3.5, the second test case (attachment
19447) is still broken.

On 2004-05-23 10:13:58 +0000, Dimitri van Heesch wrote:

From what I see with attachment 19447 using release 1.3.7, the problem is now
solved.

On 2004-05-25 05:31:40 +0000, Braden wrote:

I don't think so. When processing attachment 19447, doxygen 1.3.7-20040517
issues the warning:

/home/braden/src/doxytest.const/doxytest.cpp:5: Warning: Member f(const int *i)
of file doxytest.cpp is not documented.

This function is, in fact, documented.

On 2004-08-04 13:38:10 +0000, Dimitri van Heesch wrote:

We do you see the documentation block for this function then? The block in front
is a comment for the file as a whole.

On 2004-08-04 13:59:38 +0000, Braden wrote:

There is no such function in the example as "f(const int *i)". There is only
"f(int * i)"; and it is documented with a comment block immediately preceding
its definition.

On 2004-12-26 21:02:30 +0000, Dimitri van Heesch wrote:

I don't see the problems any more in the latest CVS release, so I'm closing this
again. Feel free to reopen the bug if you still have problems.

RCS keywords no longer shown (Origin: bugzilla #119750)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-13 03:42:16 +0000, Victor A. Wagner Jr. wrote:

Before 1.3.3 RCS keyword expansions showed up in the documentation for each
file (nicely bolded, also). Now that information isn't showing up any
longer. I was just getting around to start looking for why it couldn't be
tabularized better too

Victor A. Wagner Jr.
[email protected]

On 2003-08-13 03:53:41 +0000, Victor A. Wagner Jr. wrote:

Oops
It appears it was because someone had changed the config file to
MULTILINE_CPP_IS_BRIEF = YES

apologies for the false alarm (tho I still think that could be
"tabbed" better (or put in a table)... I'll look at the source one of
these days.

unexpected token TK_HTMLTAG after @c (Origin: bugzilla #119868)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-14 11:22:36 +0000, [email protected] wrote:

if a word formatted with @c (other one word commands not tested) is
immediately followed by an HTML-tag the the warning
Unexpected token TK_HTMLTAG
is thrown.

Example:

  • one listitem
  • second @c listitem

On 2003-08-15 18:28:56 +0000, Dimitri van Heesch wrote:

This has been improved in the latest CVS release, but doxygen still
produces a warning, so I'll leave this bug open.

On 2004-12-26 18:16:45 +0000, Dimitri van Heesch wrote:

Should be fixed in the next release.

On 2005-01-01 11:55:43 +0000, Dimitri van Heesch wrote:

Please verify that this is fixed in release 1.4.0 and if so please close this bug.

No documentation generated for special types class member functions (Origin: bugzilla #123031)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-23 13:18:46 +0000, Martin Lubich wrote:

using
doxygen 1.3.4
Linux ( 2.4.22, glibc 2.3 )

if you use e.g. the following example code doxygen will issue a warning and
the meber function will not be documented:

------ snip --------
class myclass
{
public:
void func(const char);
};

/*!
\class myclass
*/

/*!
Documentation for class myclass
*/
void myclass::func(const char cc)
{
return;
}

----- snip --------

doxygen will issue the following warning
test.cpp:15: Warning: no matching class member found for
void myclass::func(const char cc)
Possible candidates:
void myclass::func(const char)

This problem seems to be related to the following constellation:
inside the class declaration only the parameter type is given
the parameter type must be a type itself and must not be a pointer or
reference to that type.
As soon as I change the declaration in the above example to
void myclass::func(const char* cc)
the documentation will be generated as expected.

On 2003-09-24 18:54:09 +0000, Dimitri van Heesch wrote:

Is indeed a bug I introduced :-(
Fix is simple: change line 1033 of src/util.cpp to:
else if (c=='t' && csp==5 && !(isId(s.at(i+1)) || s.at(i+1)==' '))

On 2003-11-21 14:30:25 +0000, Dimitri van Heesch wrote:

This should be fixed in 1.3.5

PHP bug namespaces as return values (Origin: bugzilla #795953)

status RESOLVED severity normal in component documentation for ---
Reported in version 1.8.14 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2018-05-08 21:21:50 +0000, Magnus wrote:

Created attachment 371819
Direct SS from the doxygen file.

When I try to return a value that is part of a Namespace, say Namespace\Class Doxygen doesn't show it in the documentation page.

I'll attach an image of a function that is supposed to return such a type or null (PHP 7.1 feature).

Please note that this is a report for this bug only, the fact that some stuff isn't correctly linked to other namespaces will be matter for a future one.

You can write this sample and try to document the project.

Snippet:

On 2018-05-09 08:01:43 +0000, albert wrote:

I tried to reproduce your problem, but my picture looks a little bit different.

In the picture you have 3 boxes and I only see the last one in my output. Furthermore I see also some general differences in the outpt regarding the layout.

  • Can you please attach a, small, self contained example (source+config file in a tar or zip) that allows us to reproduce the problem?

Furthermore doxygen gives some warnings:
.../aa.php:15: warning: argument 'int' of command @param is not found in the argument list of mainNamespace\testClass::testFunc(int $int)
.../aa.php:17: warning: Found unknown command \testNamespace' .../aa.php:17: warning: Found unknown command \Class2'
.../aa.php:19: warning: The following parameters of mainNamespace\testClass\testFunc(int $int) are not documented:
parameter '$int'

The problem with the parameter is that you specified the type (int) instead if the variable ($int), so the line should read:

  • @param $int Integer documentation.

Regarding the 'unknown commands', doxygen sees the the \testNamespace and \Class2 as doxygen commands.
When using:
@return \testNamespace::Class2 Class2Documentation (it shows up).
or
@return \testNamespace#Class2 Class2Documentation (it shows up).
the links will show up.

(your first '' will be outside the link and your second '`' will be shown as '::')

On 2018-05-09 11:41:56 +0000, Magnus wrote:

Created attachment 371837
doxygen config file and .php file.

On 2018-05-09 11:42:14 +0000, Magnus wrote:

Hi Albert, thanks for the quick answer.
Ah yes, I forgot to add the $int on the line:
"* @param int Integer documentation."

It should now be, as you said:
"* @param int $int Integer documentation."

I've always used the '@param TYPE $var' style, it works like this in doxygen too.

I'm now attaching the Config file I was using for doxygen, as well as the .php file.
P.S: on the filepath, I added a "FILEPATH" text, so try to search&replace that for your computer's path to the file.

But my main problem really is with the 'unknown commands'. Do you think I can add a input filter to solve this?
As for, in PHP, when resolving namespaces, you need to use the '' to reach a class.

On 2018-05-09 12:04:43 +0000, albert wrote:

Regarding the real problem:
Do you mean that you need for another form of documentation that in the (doxygen) documentation part you need the ''? In the code itself it is not a problem (I set SOURCE_BROWSER to YES)?
In case it is needed I think you can do something with a, complex, INPUT_FILTER (you only want to change the references in the documentation part) but it will be very hard.

Some side remarks.

  • regarding TESTPATH I just removed the complete INPUT (as for test cases the file is anyway here) and I also unset the RECURSIVE
  • the OUTPUT_DIRECTORY gave some problems too (unset it as well).

On 2018-05-09 13:14:08 +0000, Magnus wrote:

Yes! I had to replace all '' for '::' so that Doxy would refer correctly to all the classes in any namespace.
P.S: I believe that Doxygen doesn't support sub-namespaces as of now.
For example:
'testNamespace::subNamespace::Class2' doesn't reference anything (even if it shows up).

But the main problem was solved. I've made it by using a quite simple PHP input_filter:

It worked for all my files on this lib now.
P.S2: Be aware for possible errors this may cause on one's code, though.

Hope it can help someone else!

Thanks a lot Albert.
Best regards.

On 2018-05-09 13:15:59 +0000, Magnus wrote:

@edit I forgot to mark this as Solved, and to add the echo for the input_filter:

On 2018-05-09 13:18:54 +0000, albert wrote:

Can you give an example file with the 'testNamespace::subNamespace::Class2' so I can have a quick look?

On 2018-05-09 13:43:29 +0000, Magnus wrote:

Created attachment 371842
File containing a input filter, a .php file and a doxy config.

Ok, I've reproduced the subNamespaces error in this files.

Along with it, I've found a "bug" that happens when I use the Input_filter I suggested earlier:

When you have a class property (@var) and its type is a class of another namespace say, for example, '\outerNamespace\class' (this is how you access it on PHP), that input filter will convert it to '::outerNamespace::class', and this will cause the variable to be named incorrectly as 'pad0'.

This error is also shown on this attachment.

On 2018-05-09 14:00:59 +0000, albert wrote:

The problem with the pad0 is in my opinion the wrong usage of @var, this should be:
* @var $foo
* ::mainNamespace::testClass checking pad0
or (as it is directly above the variable:
* ::mainNamespace::testClass checking pad0

Regarding the problem with the subnamespace, I see this as well, have to investigate and therefore set the issue again to new / reopened

On 2018-05-09 14:31:56 +0000, Magnus wrote:

Actually, something very weird happened, it suddenly started working, even with the class name like it was. (I'm testing on my project files, but I've noticed there's some wrong things on the testing ones, too).

Oh, and if it's needed, I've added one more regxp in my input_filter, so these '::' before the namespace name can disappear. You just have to place this on top of the one I mentioned earlier.

// removes preceding '' or '::' for the use of namespaces.
$regexp = '/ \\/';
$replace = ' ';
$source = preg_replace($regexp, $replace, $source);

Alright, glad I could help.

On 2018-05-09 14:38:33 +0000, albert wrote:

According to the documentation I found is the declaration of the subnamespace incorrect (see http://php.net/manual/en/language.namespaces.nested.php), this should be:
namespace testNamespace\subNamespace;

Note: during my tests I manually convert the '' in the documentation to '::', so I'm not depending on a filter (even though the filter is necessary for non doxygen types of documentation generation).

Regarding the filter:

  • does the filter rely on the fact that the doxygen commands in the documentation are all written with a '@'?
  • is the source code correct (SOURCE_BROWSER = YES)?

On 2018-05-09 15:04:13 +0000, Magnus wrote:

Created attachment 371853
.php, config and input filter files.

Yes, you're correct.
The referencing to any namespace has to be made directly (as in, doesn't matter where or how it is nested, you just have to reference the name of it, ignoring its 'parents').

About the filter:

  • Yes, as is a commonly used way to document code in general, I made it so that all the commands (var, param, return, etc.) should be started with the '@' instead of the '' command. But this can easily be tweaked on the regexp to accept any of them (or both).
  • Yes, the source code shows correctly.

I'll attach the final version of the code/filter/config of the testing. (this one has source_browser = yes)

On 2018-05-09 15:43:02 +0000, albert wrote:

So the conclusion is all issues are solved and the replacement has to be done by a script / INPUT_FILTER.

On 2018-05-09 15:50:21 +0000, Magnus wrote:

Yes, all correlated problems were solved and a search&replace regex is enough to solve the problem.

I'm marking this as solved.

Thanks a lot for the help.

Generation of wrong name tag. (Origin: bugzilla #120440)

status VERIFIED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-22 02:21:33 +0000, Carlo Wood wrote:

On a page with many functions, an external link
to one of the functions results in the browser
to put a different function at the top.

For example, one could click on a reference to
the object 'libcw_do' in the libcwd documentation,
and that will bring you to the function 'mem_size'
instead of libcw_do. 'mem_size' is on the same
page as 'libcw_do', but the tag (ie #a1) is wrongly
generated or set, or duplicated.

Example case:

Go to

http://libcwd.sourceforge.net/reference-manual/group__group__debug__object.html

and click on the link "libcw_do" under 'Detailed description'.
This will bring you to
http://libcwd.sourceforge.net/reference-manual/namespacelibcw_1_1debug.html#a1

which (with my browser) is 'mem_size'.

You can reproduce this by downloading libcwd
from http://sourceforge.net/project/showfiles.php?group_id=47536
configuring with --enable-maintainer-mode and
running

rm -rf reference-manual
doxygen doxygen.config

inside documentation/.
(Possibly you first have to compile the library).

This happens with all doxygen versions I tried
(reported with a few years ago already imho).
Last version I tried: 1.2.18

On 2004-05-22 19:52:26 +0000, Dimitri van Heesch wrote:

This problem does not seem to appear in 1.3.7. Could you verify this and close
the bug if it is indeed fixed?

On 2004-05-23 02:59:42 +0000, Carlo Wood wrote:

The bug still exists with 1.3.4. I don't have 1.3.7 installed because there is
no rpm for it. If you didn't debug 1.3.4 and actually found the reason for it
and fixed it - then it is reasonable to assume that it is still in 1.3.7 too.
Even if in THIS particular example the bug wouldn't show - then it is still there:
bugs don't go away by themselfs, you have to understand and fix them.

On 2004-07-13 15:24:40 +0000, Carlo Wood wrote:

This seems to be fixed in 1.3.6.
I'll open a new bug if I run into it again.

Pseudo-IDL (*.pidl) files are not parsed (Origin: bugzilla #119902)

status RESOLVED severity enhancement in component documentation for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-08-14 17:56:16 +0000, �ric Malenfant wrote:

It is common (well, with TAO (http://www.cs.wustl.edu/~schmidt/TAO.html))
to use the "pidl" file extension to indicate a "pseudo-idl" corba
interface definition file. The syntax of those files is identical
to "real" IDL files, so Doxygen sould have no problem handling them.

The patch I made was to simply add ".pidl" where ".idl" was used. Seems
to work OK.

On 2003-08-14 18:02:11 +0000, �ric Malenfant wrote:

Created attachment 19222
Modified source files to enable support for CORBA pidl files

On 2003-08-15 17:01:19 +0000, Dimitri van Heesch wrote:

What did you attach to the bug report and how? If I download it
I get all (modified) sources concatenated, which is not very convenient.

On 2003-08-15 18:10:36 +0000, �ric Malenfant wrote:

Created attachment 19243
Patch take2: Now in diff format

On 2003-08-15 18:11:21 +0000, �ric Malenfant wrote:

I used Winzip to zip the modified files together.
Don't know what happened. Maybe a consequence of WinXP's "zip-files-
as-folders" "feature"?

Anyway, sorry for the inconvenience. I attached a diff instead. Hope
this will be OK.

minor bug in \ingroup parsing (Origin: bugzilla #121588)

status RESOLVED severity minor in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-09-06 07:07:51 +0000, [email protected] wrote:

Hi,

I'm grouping my header files as a whole using the \ingroup command, with a @{ and }@ following it. The header looks as following:

/*
Underworld Adventures - an Ultima Underworld hacking project
{GPL HEADER}
/
/
! \file screen.hpp

\brief user interface base classes

base class for user interface screens, e.g. main game screen, conversation screen, map screen etc.
*/
//! \ingroup userinterface
//@{

// include guard
#ifndef include_guard
#define include_guard

{header stuff}

#endif

//@}

The whole file produces two warnings:

  • Command @{ not allowed in single-line C++ comment! Ignoring. (at start of the file)
  • Warning: end of group without matching begin. (at the end of the file)

When I add an empty line between the \ingroup comment and the following //@{ the warnings go away. The documentation for the header file is generated in each case.

bye
Michael

On 2003-09-06 07:09:23 +0000, [email protected] wrote:

Created attachment 19779
example file where the warning is generated for me

On 2004-08-12 16:21:19 +0000, Dimitri van Heesch wrote:

Sorry it took so long, but I'm not sure what you are trying to accomplish with
the \ingroup. You have to \ingroup something, but here nothing relevant is
grouped (and is the group defined somewhere?).

On 2004-08-24 21:46:23 +0000, [email protected] wrote:

Sorry, the example didn't contain any real code that should be grouped together. What I want to do is group classes, structs, typedefs, enums and the like into one module. Some good examples for what I want to do is here:
http://cvs.sourceforge.net/viewcvs.py/uwadv/uwadv/source/renderer/renderer.hpp?view=markup
http://cvs.sourceforge.net/viewcvs.py/uwadv/uwadv/source/base/utils.hpp?rev=1.11&view=auto
The defgroup resides in some other file, e.g. here:
http://cvs.sourceforge.net/viewcvs.py/uwadv/uwadv/source/base/settings.hpp?rev=1.6&view=auto

On 2006-07-03 17:04:02 +0000, Christian Kirbach wrote:

Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!

"constFoo()" is interpreted as "const Foo()" (Origin: bugzilla #120696)

status RESOLVED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-25 20:07:05 +0000, Guillaume Terrissol wrote:

Hi,

I downloaded and compiled the last CVS tarball (1.3.3-20030824) and ran
it onto my project.
It handled badly a method the name of which began by const (the complete
name is "construct", so there is no trouble with any upcase letter).
With default Doxyfile, parsing this piece of code

// --- begin ---
/*! Just a class.
/
class C
{
public:
void constfoo(); //!< A simple public method.
};
/
! This method does nothing.
*/
void C::constfoo() { }
// --- end ---

with doxygen generates the following :

[/]$ Warning: documented function `void C::const foo' was not defined.

There wasn't such a problem with the previous doxygen version
(1.3.3-20030808).

On 2003-09-14 08:38:02 +0000, Dimitri van Heesch wrote:

This is fixed again in the latest CVS release.

bug with @todo? (Origin: bugzilla #119877)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-14 13:11:12 +0000, Jirka 'Eagle' Novak wrote:

I've noticed that if there is a "@todo" statement in the function body,
doxygen, "@params" (which I put int *.h) are completely ignored as well as
long description. I'm writing in C. I can show anybody example of this
but... well, it's in Czech. :-)

On 2003-11-02 12:30:23 +0000, Dimitri van Heesch wrote:

*** This bug has been marked as a duplicate of 119778 ***

global object interpreted as function (Origin: bugzilla #122135)

status VERIFIED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-12 16:20:09 +0000, Jose M. Moya wrote:

This instantiation of the object "proto"

static InitSerializer::exemplar proto("serializer");

is interpreted as a function

On 2004-08-12 16:44:51 +0000, Dimitri van Heesch wrote:

If doxygen knows that Init is a class then it should be able to determine that
proto is an object and not a function (at least with recent versions).

Can you confirm that:

template class Init { };
static InitSerializer::exemplar proto("serializer");

does indeed work.

On 2005-01-02 13:57:18 +0000, Dimitri van Heesch wrote:

Did hear anything so I'm closing this bug.

Bug with todo, could be related to 119877 (Origin: bugzilla #120810)

status RESOLVED severity normal in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-08-27 06:01:03 +0000, Atul Varma wrote:

This is an odd bug, and basically it seems as though in a todo, if I have
a \code \endcode block, certain references (usually namespace references)
after the block that used to be hyperlinked before and during the block
are no longer hyperlinked (i.e., doxygen isn't recognizing them as class
names and/or function names).

I am attaching a file, test.h, which you should be able to reproduce the
bug with. I am using Doxygen version 1.3.3 on Windows 2000 (I just
downloaded it off the official site a few days ago) and it is consistently
reproducible. Just copy test.h to a new directory and run 'doxygen -g' to
generate a default config file, and then 'doxygen Doxyfile' to generate
the documentation, and it should reproduce the error.

I'll also attach the rendered output that doxygen html file, todo.html, to
show the output doxygen generated for me. Hope it helps!

On 2003-08-27 06:03:13 +0000, Atul Varma wrote:

Created attachment 19536
tar archive containing source file test.h to reproduce the bug and output todo.html html file showing bug output.

On 2004-05-23 10:06:44 +0000, Dimitri van Heesch wrote:

You cannot link to a class using A(), you should use A::A() instead. As for the
missing link, that should be fixed in the next CVS update.

On 2004-07-25 19:58:17 +0000, Dimitri van Heesch wrote:

Fixed in 1.3.8

enhancement: C++: INLINE_INHERITED_MEMB and private inheritance (Origin: bugzilla #120610)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-24 18:11:44 +0000, Yuri Goldfeld wrote:

Version 1.3.3 (all configurations)

Here's a nice feature you may consider putting on your TODO list --
INLINE_INHERITED_MEMB = YES will list even the inherited methods of a
superclass from which we're deriving using private inheritance (in C++),
as if they're public methods. That doesn't make much sense, since such
methods aren't actually publicly accessible. One solution would be to list
the fact that they're privately inherited (i.e., inaccessible) --
e.g., "[inline, privately inherited]". And, of course, there could be some
options controlling the behavior around this feature.

Great product, by the way!

On 2006-10-04 03:41:36 +0000, [email protected] wrote:

Shouldn't these methods/members just be listed in the 'private' section? I don't even see a need for options to control it -- if using private inheritance, then the methods/members of that class become private within the subclass.

As such, I would also reclassify this as a bug report, not an enhancement/feature request... it's incorrect to have private members listed in the public section.

On 2006-10-04 15:41:10 +0000, Yuri Goldfeld wrote:

The above comment makes sense. Reclassifying as a Normal severity defect.

They should absolutely be listed in the private section (if INLINE_INHERITED_MEMB is on, otherwise they shouldn't be listed at all). Any potential options would merely control the [text] near the member. I agree that such options may be unnecessary.

While we're at it, this bug applies to protected inheritance, as well.

On 2007-04-19 19:39:03 +0000, Dimitri van Heesch wrote:

I've rechecked this with doxygen 1.5.2, and it behaves as suggested. Privately inherited members are hidden, protected inheritance turns public methods of a base class into protected ones, etc... Please reopen if you still see issues.

GENERATE_TREEVIEW not consistent if HTML_HEADER is used (Origin: bugzilla #122773)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-19 21:12:27 +0000, [email protected] wrote:

If GENERATE_TREEVIEW is YES and HTML_HEADER is a valid html header file,
the tree view still has the default names given to the different sections.
The renamed sections appear at the top of the normal html page.

For example,
Instead of Main Page, my html header has "Introduction". At the top of the
generated html main page, it has Introduction, but in the tree view it has
Main Page.

Here is my header:

<title>Carbon C API: File Index</title>

On 2004-08-12 17:10:17 +0000, Dimitri van Heesch wrote:

You can change the title of the main page using the \mainpage command, i.e:

/** \mainpage Introduction

  • Blah blah
    */

Warning parsing initialiser list. (Origin: bugzilla #121364)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-03 13:53:20 +0000, John Scott wrote:

I get the following warning while parsing a structure member variable
definition that is a pointer to a function. I get the following error:

C:/Temp/dg_bug/dg_bug.cpp(8): Warning: Found ';' while parsing
initializer list! (doxygen could be confused by a macro call without
semicolon)

The code snippet is:

struct DoxygenBug
{
static void defaultOut(const int &log);

static void (*sink)(const int &);

};

// The next line generates the error.
void (*DoxygenBug::sink)(const int &log) = DoxygenBug::defaultOut;

void DoxygenBug::
defaultOut(const int &log)
{

}

On 2003-11-21 14:40:37 +0000, Dimitri van Heesch wrote:

This should be fixed in 1.3.5

Having: "'"''"'" somewhere in your code stops doxygen from processing (Origin: bugzilla #120708)

status VERIFIED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-25 23:21:15 +0000, Jesse Janzer wrote:

I found this issue when trying to get doxygen to parse my php page, finding
that it would parse everything up until I got to a line like this:

$foo = "TABLE.field='".$bar['var']."'";

which boils down to "'"''"'"
READ:
double-quote,single-quote,double-quote,single-quote,single-quote,double-quote,single-quote

All data is processed normally until it hits one of these strings, at which
point it seems to bail out of processing with no warning. This happens on
any type of file, I verified it by creating a sample C file with the same
string, it produced the what I expected.

I am using doxygen 1.3.2
sid/debian linux 2.4.20, intel P3

Below is a full sample of the how to recreate the bug (producing only html
information for main() and not foo()):
/*! \file test.c
** \brief foobar
**
*/

/*!
**
** test
*/
int main(){
return 2;
}

/*!
** foo is a function
*/
int foo(){
return 3;
}

On 2003-08-25 23:23:50 +0000, Jesse Janzer wrote:

correction main() is supposed to look like this (sorry):
int main(){
"'"''"'"
return 2;
}

On 2003-09-04 20:02:37 +0000, Dimitri van Heesch wrote:

Could you check if this bug is still present in the latest CVS
update?

On 2003-09-14 18:08:54 +0000, Jesse Janzer wrote:

I updated to the latest cvs version last night (09-13-03), and the bug
is still reproducible.
Version: 1.3.3-20030904

On 2003-09-14 21:13:55 +0000, Dimitri van Heesch wrote:

The example with the main() function indeed leads to parse problems,
but this is not a valid C/C++ file so that is ok. The original PHP
fragment does seem to get through doxygen without problems. Maybe you
can construct a piece of valid C/C++/PHP code that still does not
work?

On 2004-12-29 10:53:21 +0000, Dimitri van Heesch wrote:

I've recently fixed some '"' related issues. This should probably fix this bug
as well, so I'm closing it. Feel free to reopen it if this is not the case.

typedef interpretation bug (Origin: bugzilla #120990)

status RESOLVED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-29 12:49:50 +0000, [email protected] wrote:

typedef void (MyClass::*typeProc)(const string&)

is interpreted/outputted as:

typedef void(MyClass::* typeProc)(const string&)

i.e. in the typedefs section we find "typedef void(MyClass::*" in the first
column and "typeReadLineProc )(const string &)" in the second, where it
should be "typedef void" in the first and "(MyClass::*typeProc)(const
string&)" in the other.

NOTE: i tried different configurations and versions so i think this bug
will not depend on any of them. If you do however need a full example let
me know and i will make one up.

On 2004-02-18 10:36:01 +0000, [email protected] wrote:

actually the "correct" output should probably be

typedef void (MyClass::*)(const string&) typeProc

given that typeProc is the name of the type being defined (as a
pointer-to-member-function-of-MyClass).

On 2007-10-15 19:40:30 +0000, Dimitri van Heesch wrote:

This bug's version was set to "latest". Since this is a moving target, I changed it to 1.5.3-SVN. If you believe this has already been fixed, then please change the status accordingly.

On 2009-07-24 13:22:41 +0000, Tomas wrote:

I've encountered a similar problem. I've written a library that is cross-platform Windows/Linux. In the beginning of my header file I have

#if defined(_MSC_VER) // Microsoft Visual C++ (only on Windows)
#define OPTRIMA_CALLCONV _stdcall
#ifdef Optrima_EXPORTS
#define LIBAPI __declspec(dllexport) OPTRIMA_CALLCONV
#else
#define LIBAPI __declspec(dllimport) OPTRIMA_CALLCONV
#endif
#elif defined(GNUC)
#define OPTRIMA_CALLCONV
#define LIBAPI attribute ((visibility("default")))
#else
#error Unknown compiler/platform
#endif

A bit further I have the typedef:

typedef void (OPTRIMA_CALLCONV *optrima_event_handler) ();

Because the OPTRIMA_CALLCONV define is in there, it is parsed by Doxygen 1.5.9 as a function with return type "typedef" (left column) and name "void" (the word void becomes the hyperlink).

On 2009-07-25 20:14:49 +0000, Dimitri van Heesch wrote:

Tomas, this is not the same issue.
The fix for this issue is documented here:
http://www.doxygen.org/preprocessing.html

As for the orginal problem: I think that is best to align typeProc with the other (none function pointer) typedef names as doxygen currently does.

On 2009-07-27 07:37:14 +0000, Tomas wrote:

Sorry I used the wrong topic for this, but thank you for the solution! MACRO_EXPANSION solved my problem :)

Unable to document template function arguments (Origin: bugzilla #121580)

status NEW severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-06 03:06:31 +0000, Ivan Godard wrote:

A template function will not let you document the template arguments (as
opposed to the function arguments).

Thus:

/**   A template.
      \param  T   a type
      */
template<typename T>
void Foo(T t){}

gets you:
Warning: argument `T' of command @param is not found in the argument list of
Foo(T t)

On 2018-03-23 18:37:21 +0000, albert wrote:

This is in my opinion not a bug but usage. The "data type" is T and the
argument is (lowercase) t. With the \param the argument is documented.

make fails on RedHat 9 (Origin: bugzilla #120070)

status RESOLVED severity normal in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-08-17 14:20:36 +0000, Murray Cumming wrote:

make fails near the start:

gmake[1]: Entering directory `/home/murrayc/downloads/doxygen-1.3.3/qtools'
env TMAKEPATH=/home/murrayc/downloads/doxygen-1.3.3/tmake/lib/linux-g++
/usr/bin/perl /home/murrayc/downloads/doxygen-1.3.3/tmake/bin/tmake
qtools.pro >Makefile.qtools
tmake error: qtools.pro:70: Syntax error
gmake[1]: *** [Makefile.qtools] Error 1

As per some advice on the mailing list,
export LANG=
before configure fixes this, but should not be necessary. This might be
some RedHat 9 perl bug, but it isn't clear to me.

On 2003-08-17 15:20:09 +0000, Dimitri van Heesch wrote:

This is a confirmed bug in Red Hat 9 and the problems it causes
are not limited to doxygen.
See http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=87682
for the report

On 2003-08-17 15:23:11 +0000, Murray Cumming wrote:

Thanks. Let's keep this open so we can verify it when RedHat/perl fix
it, and so that people see the solution to a known problem.

On 2003-11-30 13:31:51 +0000, Frédéric BIDON wrote:

I could work around this problem by removing win32:xxx entries in
*.pro.in files before running ./configure.
unix:xxx entries have to be changed as well by removing the "unix:"
prefix.
Those entries cause the tmake perl script to fail.

Stumbled into a problem with UTF characters while doxygen main
module was compiling(warnings during build).
I am currently investigating which perl feature makes the script
fail (a regexp behaviour change?).

Don't worry : a LOT of products fail to install proper on RH9,
including packages provided by software vendors.

On 2004-02-04 10:00:28 +0000, [email protected] wrote:

Created attachment 24045
Small workaround patch to tmake

On 2004-02-12 21:24:38 +0000, Dimitri van Heesch wrote:

Should be fixed in 1.3.6

package list misses packages (Origin: bugzilla #121628)

status RESOLVED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-09-06 18:33:51 +0000, Konstantin Sobolev wrote:

Both 1.3.2 and doxygen-1.3.3-20030904 snapshot build incomplete packages
list for our java project. I can see a bunch of the messages like this:

/usr/home/kos/work/sw2/java/projects/functionalities/src/com/supportwizard/functionalities/SWFunctionalitiesConstants.java:1
8: Warning: Internal inconsistency: scope for class
com::supportwizard::functionalities::SWFunctionalitiesConstants not foun
d!

even on the CVS version, although 1.3.3 release notes says this issue has
been fixed.

I can send example sources if needed.

On 2003-09-06 18:37:07 +0000, Dimitri van Heesch wrote:

I've noticed this on a large project as well, but not on a small one.
So please send any examples you have.

On 2003-09-10 16:09:30 +0000, Konstantin Sobolev wrote:

Created attachment 19844
example

On 2003-09-10 16:58:10 +0000, Dimitri van Heesch wrote:

Could you check if yesterday's CVS release (20030909) is fixing your
problem?

On 2003-09-11 12:23:13 +0000, Konstantin Sobolev wrote:

"Internal inconsistency" warnings have gone, but most of packages are
still not present in the package tree. For the above example it
generates only one entry.

On 2003-09-11 19:58:57 +0000, Dimitri van Heesch wrote:

In your example the package that is present is also the only one
that is documented (by accident, since the copyright comment starts
with /** ... /). So doxygen is not to blame for this!
The best way to solve this is to put a special file (.dox or so) in
each package with a comment block containing a /
* \package name */
block.

On 2003-09-11 20:08:19 +0000, Konstantin Sobolev wrote:

OK, I see, this looks like doxygen-specific behaviour. I was expecting
to see javadoc imitiation, that builds packages list including all
packages that have any classes inside, regardless of documentation
presence.

Thanks

On 2004-08-12 16:23:59 +0000, Dimitri van Heesch wrote:

I'm setting this to fixed as this was not really a bug.

Wrong argument name detection (Origin: bugzilla #120838)

status VERIFIED severity normal in component documentation for ---
Reported in version unspecified on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-27 14:26:31 +0000, Marwijn Hessel (ICT Embedded BV) wrote:

Doxygen reports a warning (during documentation generation) as shown below:

Warning: argument `line' of command @param is not found in the argument
list of NmeaMsg::NmeaMsgParser(const void *const, NmeaTable *nmeaType,
const void **nmeaMsgCollection)

This is not correct because the function declaration is like:

NmeaMsg::NmeaMsgParser(const void *const line, NmeaTable *nmeaType, const
void **nmeaMsgCollection)

The missing argument is from type �const void* const� with name �line�.
Doxygen thinks that the argument name is �const�.

On 2003-08-27 18:45:56 +0000, Dimitri van Heesch wrote:

This should have been fixed in the latest CVS release.
Can you verify this for me. If the problem persists
please add a small example as an attachment so I can.
reproduce the problem.

On 2004-08-04 15:26:03 +0000, Dimitri van Heesch wrote:

I didn't hear anything so I'm closing this bug.

A template declaration loses its doc (Origin: bugzilla #121582)

status NEW severity enhancement in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-06 03:26:49 +0000, Ivan Godard wrote:

A declaration:

/// A template
template<typename T>
class Foo;

doesn't get included in the output. However, subsequent specializations:

///  a specialization
class Foo<int> {...};

do get included.

It is common in metaprogramming to have templates without general
implementations, only a few specializations, and you want to be able to
document the template itself as distinct to its specializations

On 2005-01-02 13:50:42 +0000, Dimitri van Heesch wrote:

Doxygen indeed does not support documenting template class declarations,
only
definitions. I'll mark this as an enhancement. As a workaround you could
use:

/// A template
template<typename T>
class Foo DECL_ONLY;

///  a specialization
class Foo<int> {};

in combination with the following configuration settings (and #defining
DECL_ONLY as empty in the code).

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
PREDEFINED             = DECL_ONLY={}

Class member documentation appears in group (module) documentation (Origin: bugzilla #119828)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-13 22:37:40 +0000, [email protected] wrote:

Situation:

Class interface in .h file, class definition in .cpp.
Both files included in group (module).

Bug:

Doxygen places class members detailed description on group documentation
pages, not on class page.

The exception are members defined only in .h files (inline functions and
member variables) and members having only brief description. Those docs
placed ok.

On 2003-08-14 07:36:41 +0000, Dimitri van Heesch wrote:

This is not a bug. If you group members of a class then
their detailed description will not appear in the class only in
the module. Maybe you should only group the class, not its members?

No docu after function head followed by preproc instruction (Origin: bugzilla #121436)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-09-04 11:16:26 +0000, Hannes Heyder wrote:

Doxygen omits documentation after code constructs similar to the following:

#ifdef X
function()
#endif
{}

After the closing bracket of function waits for something else than #...

ENABLE_PREPROCESSING is set to NO.

To use @latexonly #endif @endlatexonly won't work either.

On 2003-09-13 17:32:39 +0000, Dimitri van Heesch wrote:

Is the #ifdef construct inside or outside a comment block?

On 2003-09-14 08:57:28 +0000, Hannes Heyder wrote:

Created attachment 19920
Small C program as an example the bug.

On 2003-09-14 08:58:28 +0000, Hannes Heyder wrote:

It is outside the comment block.

There is a small example file attached, let doxygen generate
a documentation (ENABLE_PREPROCESSING=NO) and take a look at
the function header of main()...

On 2004-01-27 11:00:28 +0000, [email protected] wrote:

Created attachment 23795
This is a c++ example. ENABLE_PREPROCESSING = NO seems to work only if inside {}

On 2006-01-07 17:49:27 +0000, Dimitri van Heesch wrote:

I cannot reproduce the problem anymore given the example, so it seems to be fixed. Please verify this and reopen the bug if this is not the case.

Link documentation with external html help problem in a .chm file (Origin: bugzilla #122095)

status VERIFIED severity major in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-12 09:17:30 +0000, [email protected] wrote:

Hi

I use doxygen for generate document for a C sources project. The project
is composed with some sources independant moduls. For Each modul I generate
a doxygen help. In final, for project application, i try to generate a full
help, with reference to tag files, and html help location.
no link a generated, and i see in the warning log this

->Error opening map file .map for inclusion in the docs!

How can i set the mp file name, cause it's seems the problem

Thanks for your help

On 2003-09-12 09:50:16 +0000, [email protected] wrote:

Sorry for this alert, i have download the source code, and find that
error string returned by the dot.ccp modul, and seems not dependent of
the external html documentation.

Additional information, the external link documentation is done with
the html help. But in the compressed help, the links are present, but
the page is not included in the compressed help file.

I have verify a link on external document, the result is the external
html page may be in the compressed file, but not present.

May i have done a bad configuration ?

Can you help me

Thanks for all

On 2004-08-12 16:28:41 +0000, Dimitri van Heesch wrote:

Is this still a problem in recent versions, or can I close this bug?

On 2005-01-02 13:55:01 +0000, Dimitri van Heesch wrote:

Didn't hear anything so I'm assuming I can close the bug.

test (Origin: bugzilla #118410)

status RESOLVED severity normal in component general for ---
Reported in version unspecified on platform Other
Assigned to: Dimitri van Heesch

On 2003-07-27 08:18:05 +0000, Murray Cumming wrote:

test

On 2003-07-27 09:17:22 +0000, Dimitri van Heesch wrote:

Seems to work but I can only reply via the web form, not via e-mail.

On 2003-07-27 09:56:59 +0000, Murray Cumming wrote:

That's hardly the end of the world. You might email gnome-
[email protected] to find out about that.

On 2003-08-08 13:57:39 +0000, Murray Cumming wrote:

Reopening so I can play with the experimental bugzilla-email thing.

On 2003-08-08 14:00:07 +0000, Murray Cumming wrote:

Closing via email worked. Reopening again to try to find a way to add
a comment.

On 2003-08-11 09:21:09 +0000, Dimitri van Heesch wrote:

This is test adding a comment from lynx, the text based web browser,
which is a nice compromised between mail and a full fletched browser.

Not able to parse desc of namespace functions from the definitions of the function. (Origin: bugzilla #121465)

status VERIFIED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-04 16:06:29 +0000, [email protected] wrote:

Doxygen is not capable of parsing the documentation of the function
test::hello() in the following snipplet. This could is somewhat similar to
bug 120453.

**** BEGIN ****
#include

/**
*\brief

  • Test namespace.
    */
    namespace test {
    std::string hello();
    };

/**
*\brief

  • Test hello world thingy.
    */
    std::string test::hello()
    {
    std::string s = "Hello world.";
    return s;
    }

int main()
{
std::cout << test::hello() << "\n";
return 0;
}
**** END ****

When running doxygen it will output the following:
doxytest.cpp:11: Warning: Member hello() of namespace test is not documented.

If I add EXTRACT_ALL it outputs:
doxytest.cpp:19: Warning: member hello' of class test' cannot be found

My doxygen ver is the one thats included in debian sid.
$ doxygen --version
1.3.2

On 2005-01-01 12:38:53 +0000, Dimitri van Heesch wrote:

Looks like this is fixed in 1.4.0. Please close this bug if you agree.

'using namespace' fails in a nested namespace (Origin: bugzilla #121146)

status RESOLVED severity blocker in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-01 00:07:37 +0000, [email protected] wrote:

The following fail to generate any html pages:

namespace n1 {
namespace n2{}
using namespace n2;

namespace n2{
void fn(){}
}
}

On 2003-09-13 17:30:28 +0000, Dimitri van Heesch wrote:

Seems to work fine with the latest CVS release.

Run fails. (Origin: bugzilla #121524)

status RESOLVED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-09-05 08:02:15 +0000, Venkatesh Prasad Ranganath wrote:

I am using the latest CVS copy and the following happens.

When I try to build doxygen document for JacORB 2.0b1 sources (src/omg*
src/org idl demo) it seg faults as shown below.

Computing template instances...
Segmentation fault

On debugging it I found that it faults at getResolvedClass() in
util.cpp# 681 while processing class
org::jacorb::trading::client::typemgr::Exception and there is no such
class. It does the same for few other such classes.

On 2003-09-05 17:49:06 +0000, Dimitri van Heesch wrote:

Are you sure you are using the latest CVS release? In my util.cpp the
getResolvedClass() function is at line 1129! A stack trace would be
helpful as well. A small example that can reproduce the problem is
ideal.

On 2003-09-05 19:53:53 +0000, Venkatesh Prasad Ranganath wrote:

Created attachment 19773
Doxygen config file. Just use this on the source of JacORB 2.0b1

On 2003-09-05 19:54:34 +0000, Venkatesh Prasad Ranganath wrote:

Well,

I got a fresh copy off from the CVS and the following error happens
now. It happens on while building doxygen docs for JacORB 2.0b1.

0 0x42062c07 in fwrite () from /lib/tls/libc.so.6

1 0x081bdb9d in png_default_write_data (png_ptr=0x9104358,

data=0xbfffa8d0 "\211PNG\r\n\032\n8©ÿ¿�'\e\bXC\020\t\r\003",

length=8) at pngwio.c:52

2 0x081bdb59 in png_write_data (png_ptr=0x9104358,

data=0xbfffa8d0 "\211PNG\r\n\032\n8©ÿ¿�'\e\bXC\020\t\r\003",

length=8) at pngwio.c:32

3 0x081b5bb7 in png_write_sig (png_ptr=0x9104358) at pngwutil.c:133

4 0x081b27cb in png_write_info_before_PLTE (png_ptr=0x9104358,

info_ptr=0x96ac980) at pngwrite.c:31

5 0x081b2a9b in png_write_info (png_ptr=0x9104358,

info_ptr=0x96ac980) at pngwrite.c:130

6 0x081b4959 in png_write_png (png_ptr=0x9104358,

info_ptr=0x96ac980, transforms=0, params=0x0)
at pngwrite.c:1362

7 0x080c404b in PngEncoder::write(char const*) (this=0xbfffaa60,

name=0xa3b0a78

"/usr/local/src/CORBA/JacORB/JacORB-doxy-docs/./interfaceCORBA_1_1FixedDef.png")
at pngenc.cpp:137

8 0x0808baa6 in Image::save(char const*, int) (this=0xbfffab10,

fileName=0xa3b0a78

"/usr/local/src/CORBA/JacORB/JacORB-doxy-docs/./interfaceCORBA_1_1FixedDef.png",
mode=0) at image.cpp:329

9 0x08139b23 in ClassDiagram::writeImage(QTextStream&, char const*,

char const*, bool) (
this=0xbfffac40, t=@0x908300c, path=0x8670708
"/usr/local/src/CORBA/JacORB/JacORB-doxy-docs/.",
fileName=0x9e12360 "interfaceCORBA_1_1FixedDef", generateMap=true)
at diagram.cpp:1280

10 0x08085d9d in HtmlGenerator::endClassDiagram(ClassDiagram&, char

const*, char const*) (
this=0x9082fb0, d=@0xbfffac40, fileName=0x9e12360
"interfaceCORBA_1_1FixedDef",
name=0x937ea80 "CORBA::FixedDef") at htmlgen.cpp:743

11 0x080baf80 in OutputList::forall(void

(OutputGenerator::)(ClassDiagram&, char const, char const*),
ClassDiagram&, char const*, char const*) (this=0x8a0a090, func={__pfn
= 0x1fd, __delta = 0},
a1=@0xbfffac40, a2=0x9e12360 "interfaceCORBA_1_1FixedDef",
a3=0x937ea80 "CORBA::FixedDef")

On 2003-09-06 18:31:53 +0000, Dimitri van Heesch wrote:

I've traced this back to a file handle leak, which can be avoided
by setting INLINE_SOURCES to NO. This should be fixed in the next
CVS update, so let me know whether or not that is the case.

Group names behave differently when protected is used instead of private/public (Origin: bugzilla #121830)

status NEW severity normal in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-09 12:04:26 +0000, Oliver wrote:

Hi,

When subgrouping is turned on, protected sections behave differently to 
private/public sections. Here is an example header file that demonstrates 
the problem:
/// \brief Win32 implementation of a WindowSys
/// \remark This class is a Win32-specific implementation of the WindowSys
/// interface and can be used to make windows on Win32 platforms.
class Window
{

public: /// \name Construction and destruction
    /// @{
    
    /// \brief Window constructor
    /// \remark The default constructor for the Window object
    Window(void);

    /// \brief Window destructor
    /// \remark The default destructor for the Window object
    virtual ~Window(void);

    /// @}
private: /// \name Win32-Specific helper functions
    /// @{

    /// \brief The static window callback procedure
    /// \param win Handle to the window receiving window message
    /// \param msg Identifier of the window message received
    /// \param wParam Word parameter assocaited with \a msg
    /// \param lParam Long parameter assocaited with \a msg
    /// \return Varies depending on the message, and processing
    /// that occurs as a result of the message
    /// \remark WndProc is a static member function that implements
    /// the Win32-API specific callback functionality. It is used
    /// as a central bottleneck for routing Window messages in a
    /// Win32 system. Messages are forwarded from this function
    /// to the relevent window's Switch() function.
    /// \sa Switch()
    static LRESULT WndProc(HWND win, UINT msg, WPARAM wParam, LPARAM 
lParam);

    /// \brief An object-specific window procedure
    /// \param win Handle to the window receiving window message
    /// \param msg Identifier of the window message received
    /// \param wParam Word parameter assocaited with \a msg
    /// \param lParam Long parameter assocaited with \a msg
    /// \return Varies depending on the message, and processing
    /// that occurs as a result of the message
    /// \remark Switch is an object-local implementation of the
    /// WndProc() function. It's used to allow for objectification
    /// of window message handling in a Win32 window system.
    LRESULT Switch(HWND win, UINT msg, WPARAM wParam, LPARAM lParam);

    /// @}
private: /// \name Member variables
    /// @{

    /// \brief Stored handle to the main engine system
    /// \remark Handle used to reference the main engine system
    /// at any point throughout the lifetime of the windowing system
    /// \sa RED::SYS::System, Init()
    RED::SYS::System* m_System;

    /// brief Stored handle to the process information
    /// \remark Handle used to reference the process information
    /// at any point throughout the lifetime of the windowing system
    /// \sa RED::SYS::Win32::WinProcess, SetProcessInfo()
    RED::SYS::Win32::WinProcess* m_ProcessInfo;

    /// \brief Handle to the window
    /// \remark A stored handle to the Win32-specific window created
    /// to hold the game
    HWND m_Win;

    /// \brief Stored string class name
    /// \remark Win32 windows require the name of a class to be used
    /// when registering a window type with the operating system.
    /// This member stores the window class name that's used in
    /// registration and creation of windows.
    std::string m_WindowClass;

    /// \brief Stored string window name
    /// \remark This variable contains the name that is displayed
    /// in the caption of the window
    std::string m_WindowTitle;

    /// \brief Active flag
    /// \remark If the window is active, this flag is set to true.
    /// Flag is used at various points to check if the window is
    /// active, so that smarter message handling can be done and
    /// CPU resources are not chewed up when the window isn't the
    /// active window.
    bool m_Active;

    /// \brief Window width
    /// \remark Stored variable containing the window width
    int m_Width;

    /// \brief Window height
    /// \remark Stored variable containing the window height
    int m_Height;

    /// @}
};


The documentation creates the following headers/subheaders:

Win32-Specific helper functions 

Public Member Functions 
  Construction and destruction 

Private Attributes 
  Member variables 

The first part is incorrect. It should look something like this:

Protected Member Functions
  Win32-Specific helper functions

For more information please don't hesitate to contact me. Keep up the 
great work, this product is excellent!

Oliver.

Failure to parse PHP files containing a comment beginning with #if (Origin: bugzilla #122064)

status RESOLVED severity minor in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-11 23:09:36 +0000, [email protected] wrote:

In PHP, shell style comments (comments beginning with the octothorpe (#) character) are allowed. However Doxygen appears to choke on them if the word 'if' immediately follows a # comment, and doesn't generate any documentation for the entire file aside from the code listing (if it is configured to output it in the config file). It may be that it chokes on other words as well, I didn't test it thouroghly. A piece of example code which triggers this bug follows:

foo = 'bar'; } } } ?>

The problem appears to go away if the # style comment is replaced with a // style comment. You might want to mention this in the documentation.

On 2004-05-22 16:12:07 +0000, Dimitri van Heesch wrote:

The problem is that the #if is picked up by the C preprocessor. For PHP code you
should disable this by setting ENABLE_PREPROCESSING to NO.

More information on bug #120440 (wrong tag) (Origin: bugzilla #122852)

status RESOLVED severity normal in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-21 03:41:28 +0000, Math Mickey wrote:

I have the same bug than reported in # 120440.

Actually I could localize the bug origin: I think it is due to in-the-middle functions that are not documented. Somehow these functions fools Doxygen.

In the 2 file examples below, the function Class2_test2 in the code of Class2_test1 is wrongly assigned the tag #a3, when it should be assigned the tag #a1.

------ FILE TESTFILE.H ---------------------------------------------------

/** @file

/** @defgroup TestClass Test Class

  • test.
  • @{ */

/** test */
type1 Class2_test1(void);

/** test */
type1 Class2_test2(void);

/** test */
tHALWord Class2_test3(void);

/** test */
tHALWord Class2_test4(void);

------ FILE TESTFILE.C ---------------------------------------------------

/** @file

type1 Class2_test1(void)
{
Class2_test2();
}
type1 Class2_inmiddle(void)
{ int i; i++; }
type1 Class2_inmiddle2(void)
{ int i; i++; }
type1 Class2_test2(void)
{ int i; i++; }
type1 Class2_test3(void)
{ int i; i++; }
type1 Class2_test4(void)
{ int i; i++; }

On 2003-09-21 11:18:21 +0000, Dimitri van Heesch wrote:

Could you check if this bug in still present in the latest CVS
release? I haven't been able to reproduce it with this version.

On 2003-09-21 11:21:39 +0000, Dimitri van Heesch wrote:

Correction: I have been able to reproduce the problem if I put
the header file before the source file in the INPUT.

On 2003-09-23 07:32:22 +0000, Murray Cumming wrote:

Please add information to a bug report instead of creating a new bug
report for the same thing.

On 2003-11-21 14:29:36 +0000, Dimitri van Heesch wrote:

This should be fixed in 1.3.5

Doxygen seg faults when mainpage tag is empty right after "Generating index page..." (Origin: bugzilla #123089)

status RESOLVED severity major in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-24 05:28:12 +0000, [email protected] wrote:

when using Doxyfile = '''
INPUT = mainpage
'''

And when using mainpage = '''
/**

  • \mainpage foo bar

*/
'''

in version 1.2.18 "doxygen Doxyfile" works just fine
in version 1.3.2 "doxygen Doxyfile"
results in a seg fault

The text output just before the fault is
'''
Resolving user defined references...
Finding anchors and sections in the documentation...
Generating index page...
'''

if you change mainpage to be = '''
/** \file /
/
*

  • \mainpage foo bar
  • text

*/
'''

the same commmand works just fine

Hope this is enough information to find the error

On 2003-09-24 17:41:37 +0000, Dimitri van Heesch wrote:

This has already been fixed. Please upgrade to version 1.3.4.

segmentation fault while computing template instances (Origin: bugzilla #121614)

status VERIFIED severity major in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-06 14:27:43 +0000, Konstantin Sobolev wrote:

I'm getting a segfault trying to generate doc for a piece of our java
project. It occurs after a while in 'computing template instances'. I'm
using doxygen 1.3.3; there was no such error with 1.3.2.
Here's a backtrace from gdb:

0 0x40187f05 in _int_malloc () from /lib/libc.so.6

1 0x401871ef in malloc () from /lib/libc.so.6

2 0x400c013f in operator new(unsigned) () from

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.so.5

3 0x400c027f in operator new () from

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/libstdc++.so.5

4 0x08253586 in internalAsciiToUnicode(char const*, unsigned*, unsigned) ()

5 0x0824c163 in QString::QString(char const*) ()

6 0x0819927d in resolveTypeDef(Definition*, QCString const&, Definition**) ()

7 0x081991b2 in resolveTypeDef(Definition*, QCString const&, Definition**) ()

8 0x081996ab in getResolvedClass(Definition*, char const*, bool*,

QCString*) ()

9 0x08199a72 in getResolvedClass(Definition*, char const*, bool*,

QCString*) ()
/tons of getResolvedClass/

40317 0x08199a72 in getResolvedClass(Definition*, char const*, bool*,

QCString*) ()

40318 0x08199a72 in getResolvedClass(Definition*, char const*, bool*,

QCString*) ()

40319 0x0806a4da in findClassRelation(Entry*, ClassDef*, BaseInfo*,

QDict*, FindBaseClassRelation_Mode, bool) ()

40320 0x0806a116 in findBaseClassesForClass(Entry*, ClassDef*, ClassDef*,

FindBaseClassRelation_Mode, bool, ArgumentList*, QDict*) ()

40321 0x0805b592 in findInheritedTemplateInstances() ()

40322 0x0804f17d in parseInput() ()

40323 0x0804a655 in main ()

40324 0x401297a7 in __libc_start_main () from /lib/libc.so.6

gcc 3.2.3-r2
glibc-2.3.2-r1
can send my sources and config if needed

On 2003-09-06 16:49:58 +0000, Dimitri van Heesch wrote:

Could you also try this with the latest CVS release? This contains
a complete rewrite of the part that is causing the segfault. The
segfault is due to a failing malloc, so you seem to be running out
of memory (which could be due to a bug in 1.3.3).

On 2003-09-06 18:16:06 +0000, Konstantin Sobolev wrote:

Yes, the bug has gone on 09/04/2003 snapshot

On 2004-08-12 16:22:03 +0000, Dimitri van Heesch wrote:

I'm closing this as it has been fixed.

\ref does not create all links and removes text (Origin: bugzilla #121459)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-04 15:31:14 +0000, [email protected] wrote:

Changing from doxygen 1.2.6 to 1.3.3 I found two changes concerning the \ref command.

  1. \ref pagename used to create a link to the page "pagename" when this was found,
    otherwise it simply printed the text "pagename". Now it still creates the link but if the
    page is not found doxygen prints a warning and does not put any text on the referring
    page.
  2. some links to existing pages are not created anymore no warning concerning is printed
    and the text (without the corresponding link) stays.

On 2005-01-01 12:36:08 +0000, Dimitri van Heesch wrote:

Please check if this problem still exists in 1.4.0. If not then please close the
bug.

extern variable is being referenced in documentation incorrectly (Origin: bugzilla #121547)

status REOPENED severity normal in component general for ---
Reported in version 1.4.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-09-05 14:55:42 +0000, John Sivak wrote:

I've got 1 file that declares and assigns a variable const char *pczMagic.
A second file uses "extern const char *pczMagic;" to declare the variable.

In the generated docuemntation the file that defined the pczMagic 
(SOCO_ADD.cpp) contains a link that points to the file 
(SOCODocStorage.cpp) that used the "extern" declaration.  I don't think 
this is the desired behavior.

I have a sample of the files + doxygen config that duplicates the problem.

On 2003-09-05 14:58:15 +0000, John Sivak wrote:

Created attachment 19768
ZIP file containing C++ source and doxygen config file configured to
replicate bug

On 2005-01-02 13:38:23 +0000, Dimitri van Heesch wrote:

I haven't been able to reproduce this problem with version 1.4.0, so I
assume it
is fixed now.

On 2005-01-03 15:32:58 +0000, John Sivak wrote:

Nope, 1.4 doesn't fix it.

The hyperlink in the "blue box" under heading "Variable Documentation"
points to
the wrong file (still links to SOCODocStorage.cpp when it should link to
SOCO_ADD.cpp docs).

The definition hyperlinks are correct though. 

On 2011-03-28 17:57:06 +0000, Manuel L. Pereira García wrote:

I have found that it is present on version 1.7.2, both on Windows and UNIX-
like OS (Ubuntu and Debian).

On 2013-04-27 17:02:21 +0000, albert wrote:

I tested the problem with version 1.8.3.1, the wrong link is gone but in the
documentation of the file SOCODocStorage.cpp there is the reference to the
file SOCO_ADD.cpp but it is not clear that the variable in file
SOCODocStorage.cpp is extern.

Backslash plus brace confuses markdown parser in code block (Bugzilla #769477)

status NEW severity normal in component general for ---
Reported in version 1.8.11 on platform Other
Assigned to: Dimitri van Heesch

On 2016-08-03 16:09:58 +0000, Jannis Teunissen wrote:

Adding the following code block in a markdown file breaks the parser:

{this is a test\}

For example, the following page:

***************** test.md *****************

This is a test

{I am a code block\}

And I am hidden


Renders as:


This is a test

{I am a code block


Using fenced code blocks does not help.

Problem with functions in different namespaces (Origin: bugzilla #120453)

status RESOLVED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-22 06:58:51 +0000, Pablo Alvarado wrote:

Hello everybody,

If two functions in different namespaces share the same name, Doxygen
throws following warning:

Doxygen Warning: member read: ignoring the detailed description found
here, since another one was found at line XY of file AFILE.H!

For example, following code (with default configuration and Doxygen
version 1.3.3-20030808):

// --- cut here --------------------------------------------------------
/**

  • a namespace
    */
    namespace ns {

/**

  • class vector in ns
    */
    class vector;

/**

  • read a ns::vector
    */
    bool read(vector& vct);

} // end of namespace ns

/**

  • another namespace
    /
    namespace ans {
    /
    *
    • class vector in ans
      */
      class vector;

/**

  • read an ans::vector
    */
    bool read(vector& vct);
    } // end of namespace ans

// --- cut here --------------------------------------------------------

produces a warning telling that ans::read(ans::vector&) and
ns::read(ns::vector&) are the same function, and they clearly are not!

A very similar problem occurs with following test code:

// --- cut here --------------------------------------------------------
/**

  • a namespace
    */
    namespace ns {

/**

  • class vector in ns
    */
    class vector;

} // end of namespace ns

/**

  • another namespace
    /
    namespace ans {
    /
    *
    • class vector in ans
      */
      class vector;

/**

  • read a ans::vector
    */
    bool read(vector& vct);

/**

  • read a ns::vector
    */
    bool read(ns::vector& vct);

} // end of namespace ans
// --- cut here --------------------------------------------------------

The same warning is thrown telling that the read functions are the same.
This warning didn't exist in the Doxygen versions 1.2.x.

Regards,

Pablo Alvarado

On 2003-10-27 07:42:52 +0000, Alexey Neyman wrote:

This is even worse with C, not C++ code without namespaces. It does
not show warnings, it just generates wrong code. I have several modules
directory and each module has some variables/functions with common
names (each is a shared object and has some standard interface). When
I documented them in each module, all the descriptions became the
same, inherited from the first one (alphabetically). That is, I have a
declaration for 'enum module_state' enumeration and 'enum module_state
state;' variable in the following files: calc/calc.h, sc/sc.h, vkvu/vkvu.h.
Each has a separate description in the sources, but in HTML output each
gets the following:

enum module_state state
CALC module state

Though the 'defined in line XX of file YY' line below points to the right
place.

On 2004-08-04 14:33:05 +0000, Dimitri van Heesch wrote:

The first problem should be solved with 1.3.8. The second with the next CVS
release. As for C modules: the names of a doxygen project should be unique (as
in: linking the code statically should not yield duplicate identifiers)

On 2004-09-10 00:31:15 +0000, Josh Berry wrote:

I think this is the same or a very similar problem, so I'm commenting in this
bug instead of opening a new one. If I was wrong, please feel free to bop me
over the head with a rubber chicken. ;)

I'm using Doxygen 1.3.8. Say I have two functions in two different namespaces,
like so:

namespace diutil {
/** \brief Initialize the diutil library.
* \ingroup libdiutil
*
* Performs any steps required to initialize the diutil library. This
* includes things such as starting the garbage collector thread and setting
* up other internal data structures.
*
* \note You \b MUST call this function before you use any functionality in
* diutil!
*/
void system_init();
};

namespace divm {
/** \brief Initialize libdivm.
* \ingroup libdivm
*
* This should be called before you make use of any libdivm services.
*
* It will automatically call diutil::system_init() for you, so you don't
* have to do that yourself.
*/
void system_init();
};

The divm version gets the right detailed description, but it gets diutil::'s \brief.

The diutil documentation, however, looks ok.

On 2004-10-25 09:02:36 +0000, David Crayford wrote:

I have the same problem for C files. I have several different modules (of the
same project) which have the same name. Doxygen is taking the first one a
generating incorrect call graphs and hiperlinks.

On 2004-10-25 09:45:41 +0000, David Crayford wrote:

I didn't articulate the problem very well. I have two modules, both of which
contain a static function with the same name. This is what is confusing Doxygen.

MODULE 1

static void DoLineActions()

MODULE 2

static void DoLineActions()

On 2005-01-01 12:33:11 +0000, Dimitri van Heesch wrote:

Please check if any of these problems persists in 1.4.0. If so please submit a
new bug report as this one is too cluttered with things that are already fixed,
making it hard for me to reproduce the problem.

Application error occurs when second level namespace is longer than 11 characters (Origin: bugzilla #122353)

status VERIFIED severity minor in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-15 17:07:31 +0000, William Campbell wrote:

I recieved the following error when trying to document a file with a
namespace longer than 11 characters:

"doxygen.exe - Application Error

The exception unknown software exception (0x00000fd) occurred in the
application at location 0x00564741."

In order to get rid of the message I merely needed to reduce the length of
the namespace to 11 characters.

the code that caused the error looked similar to the following:

namespace foo
{
namespace foobarbazgiz
{

// definitions

}
}

The code worked when I did any of the following:


//reduced the length of the second namespace
namespace foo
{
namespace foobarbazgi
{

// definitions

}
}


//removed the first namespace
namespace foobarbazgiz
{

// definitions

}


//reduced the length of the second namespace
// and increased the name of the first namespace
namespace foobar
{
namespace foobarbazgi
{

// definitions

}
}

On 2003-09-15 18:48:30 +0000, Dimitri van Heesch wrote:

Does this bug still occur in the latest CVS release? (a windows
binary is available from the download page).

On 2003-09-15 19:15:40 +0000, William Campbell wrote:

I had been incorrect in identifying this as a namespace length
problem.

It is actually a problem with not using explicit namespace usage.

There error occurs it you use the following syntax:

using namespace <my_namespace>;

instead you must a more explicit using statement such as:

using <my_namespace>::;

Even though the way I got the error is not the best way to make a
using statement it should not cause an application error.

Version Note: I am using src that is less than a week old, that was
built on my machine using MSVC's nmake.

On 2003-09-15 19:57:24 +0000, Dimitri van Heesch wrote:

It is good to also try the precompiled binaries. If these also no not
work please attach a small example that allows me to reproduce the
Application error (which should indeed never occur).

There are known problems with Visual Studio .NET (popen is broken) and
with Visual Studio 6.0 without at least SP5 (compiler bug).

On 2004-08-12 17:00:34 +0000, Dimitri van Heesch wrote:

It this bug still present in 1.3.8?

On 2005-01-02 13:58:07 +0000, Dimitri van Heesch wrote:

Didn't hear anything, so I assume I can close this bug.

bug/feature request regarding grouping (Origin: bugzilla #120504)

status RESOLVED severity enhancement in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-22 22:05:40 +0000, [email protected] wrote:

to obtain two or more levels of group nesting
one can use the following mechanism

/! @addtogroup X /
/
! @{
/
/! @addtogroup Y /
/
! @{
/

stuff

/! @}/
/! @}/

what seems to be missing is a single statement shortcut for
this, e.g.:

/*! @addtogroup X::Y */

which just affects the next item


It would be also nice to have a similar scheme for

/! @addtogroup X /
/
! @{
/
/! @name Y /
/
! @{
/

stuff

/! @}/
/! @}/

E.g.:

/*! @addtogroup X
@name Y */

Doxygen appears to not like this without the brace syntax


There is also a real bug (maybe a feature):

When there a multiple group/name nestings as in

/! @addtogroup X /
/
! @{
/
/! @name Y /
/
! @{
/

stuff

/! @}/
/! @}/

...

/! @addtogroup X /
/
! @{
/
/! @name Y /
/
! @{
/

more stuff

/! @}/
/! @}/

"stuff" and "more stuff" will not be merged into the same heading, instead
the "Y" header will appear twice.

On 2004-08-04 14:37:16 +0000, Dimitri van Heesch wrote:

The second is not a bug, so I'm promoting this to a feature request.

On 2005-10-04 18:38:39 +0000, Dimitri van Heesch wrote:

This bug was resolved to status "FIXED" as part of a group change. Please verify
that this bug is indeed fixed in doxygen version 1.4.5 (or later). If not then
please reopen the bug, so it stays on my radar.

crash while generating documentation (Origin: bugzilla #122165)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-12 23:44:12 +0000, [email protected] wrote:

...every time, but only when using the new "-d Time" option. the last
message from doxygen before the crash is "Generating style sheet..."

the exact error message is:
message.cpp<100>: Internal error: Requested unknown option QUIET!

On 2003-09-13 13:54:55 +0000, Dimitri van Heesch wrote:

This problem has been fixed in subsequent CVS updates. So either try
on of those releases or wait until 1.3.4 is out.

Crash when parsing a namespace using directive (Origin: bugzilla #119949)

status VERIFIED severity normal in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-15 12:13:18 +0000, [email protected] wrote:

When running doxygen 1.3.3 on Mac OS X 10.2.6, a segmentation
fault occurs when trying to parse a C++ file that has a namespace
using directive. Below is the complete source for a file that will cause
the problem.

// --- begin code ---
namespace foo {
namespace bar {
const int some_constant = 0;
}
}

namespace foo {
using namespace bar; // This is the problem line
}
// --- end code ---

On 2003-08-15 13:16:38 +0000, Dimitri van Heesch wrote:

Could you try this with the latest sources from CVS as well?
There has been a "using" related fix that could cause doxygen to crash.

On 2004-04-27 17:21:21 +0000, edA-qa mort-ora-y wrote:

I had this exact problem with 1.3.3, so I downloaded 1.3.6 binariers for Linux.

The problem goes away with the 1.3.6 version.

On 2004-04-27 19:38:21 +0000, Dimitri van Heesch wrote:

As it seems to be fixed now, I'll close this bug.

Cross project group links incorrect (Origin: bugzilla #120878)

status VERIFIED severity major in component documentation for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-27 21:38:14 +0000, Nayan wrote:

When building documentation that utilizes the tag file for building cross
project references, the modules /group links appear to be incorrect. The
problem is that the separate between group and groupname
(group__utils.html) is being translated into a single under-bar
(group_utils.html).

On 2003-08-28 19:46:50 +0000, Dimitri van Heesch wrote:

I haven't been able to reproduce this, so please add a small
self contained example demonstating the bug and mention the exact
version of doxygen you are using.

On 2004-08-04 15:27:04 +0000, Dimitri van Heesch wrote:

I assume this is fixed now, please reopen the bug if it isn't and provide an
example.

@bug in function body overwrites extended description (Origin: bugzilla #119778)

status RESOLVED severity normal in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-13 11:33:32 +0000, Baruch Even wrote:

I use doxygen 1.3.2 from Debian unstable (sid).

I have a function which is documented in the header file with an extended
documentation. It also has in the body the definition:
/** @bug XXX: Not implemented yet. */

The extended description is not shown in the doxygen HTML output.

If I remove the @bug comment, the extended description is shown correctly.

On 2003-11-02 12:30:22 +0000, Dimitri van Heesch wrote:

*** Bug 119877 has been marked as a duplicate of this bug. ***

On 2003-11-04 14:42:44 +0000, Christian Bøtker Høj wrote:

A simple example showing that the same problem also affects @todo:

source.h:
/** The brief description.
The detailed description.
*/
void extractEditableElements( );

source.cpp:
void extractEditableElements( ) {

/// @todo A "To Do" list item.

}

On 2003-11-21 14:27:11 +0000, Dimitri van Heesch wrote:

This should be fixed in 1.3.5

Doc-comments not recognized (Origin: bugzilla #120637)

status VERIFIED severity normal in component general for ---
Reported in version 1.5.3-SVN on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-08-25 04:55:30 +0000, Braden wrote:

Doxygen seems not to be recognizing some doc-comments, and I'm not sure
why. I'll attach a test case.

On 2003-08-25 04:56:43 +0000, Braden wrote:

Created attachment 19477
Test case

On 2003-08-25 04:59:30 +0000, Braden wrote:

I apologize for the lack of brevity/focus in the test case. However,
attempts to condense it further changed the error messages in
unexpected ways.

On 2003-09-04 19:57:44 +0000, Dimitri van Heesch wrote:

This problem should be fixed in the new CVS update. Could you check
this for me?

On 2003-09-08 12:59:26 +0000, Braden wrote:

I'm still seeing a few problems with this test case:

  • Doxygen issues this complaint, which suggests something is amiss
    with const handling:

node.cpp:387: Warning: documented function
`openvrml::node_interface_set::const _iterator' was not defined.
node.cpp:93: Warning: Member const_iterator of class
openvrml::node_interface_set is not documented.

Note the space inserted in the first warning message.
(node_interface::const_iterator does have a doc-comment.)

  • I get this warning, even though interface_id_matches_ is in an
    unnamed namespace and marked @internal. I have EXTRACT_STATIC set to
    NO and INTERNAL_DOCS set to NO.

node.cpp:433: Warning: Compound openvrml::@2::interface_id_matches_
is not documented.

  • I get this warning:

node.cpp:332: Warning: class node_interface' for related function operator!=' is not documented.

... because I haven't explicitly qualified node_interface in @relates.
That is, if I said "openvrml::node_interface" instead, the warning
would go away. But since the doc-comment is inside the openvrml
namespace, I think I shouldn't have to do this.

On 2004-08-04 15:24:23 +0000, Dimitri van Heesch wrote:

Could you re-evalutate if these problems are still present in version 1.3.8 as I
don't see them anymore...

On 2004-08-23 16:57:40 +0000, Braden wrote:

Appears to be fixed.

INLINE_SOURCES - source missing (Origin: bugzilla #122457)

status RESOLVED severity major in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2003-09-16 15:56:35 +0000, [email protected] wrote:

the source for the forward declared functions have only one line, or are
completly missing.

This bug is in 1.3.3 1.3.3-20030909 and prior.

(source file, config and generated output will be attached shortly)

example:

#include <stdio.h>

void function_without_source (int a);

int main ()
{
function_without_source (1);
return (0);
}

void function_without_source (int a)
{
printf("this source is misssing in the file documentation page\n");
}

On 2003-09-16 16:01:55 +0000, [email protected] wrote:

Created attachment 19985
the source code file

On 2003-09-16 16:02:33 +0000, [email protected] wrote:

Created attachment 19986
Doxyfile - the configuration file

On 2003-09-16 16:03:43 +0000, [email protected] wrote:

Created attachment 19987
doxresult.tar.gz - results of doxygen (html, tag, latex)

On 2003-09-18 15:18:16 +0000, Dimitri van Heesch wrote:

Problem confirmed. Should be fixed in the next release.
Changing:
while ((c=fgetc(f))!='\n' && c==EOF) /* skip /;
to
while ((c=fgetc(f))!='\n' && c!=EOF) /
skip */;
in definition.cpp should help as well.

Patch to get access attributes for nested class/struct/union (Origin: bugzilla #120464)

status RESOLVED severity major in component build for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-08-22 09:39:44 +0000, [email protected] wrote:

Given this pseudo code:
class AB
{
public:
class ABE{};
protected:
class ABD{};
private:
class ABC {};
};

Doxygen XML does not assign a prot="..." attribute for the member classes
(it also does not emit the access attribute in HTML as well).
The patch for XML for version 1.3.2 is in xmlgen.cpp, function
generateXMLForClass():

Replace line 885:
<< cd->compoundTypeString() << "">" << endl;
With the following:
<< cd->compoundTypeString() << """;
Protection prot = cd->protection();
t << " prot="";
switch (prot)
{
case Public: t << "public"; break;
case Protected: t << "protected"; break;
case Private: t << "private"; break;
case Package: t << "package"; break;
}
t << "">" << endl;

This will also apply to version 1.3.3

On 2003-09-23 18:54:18 +0000, Dimitri van Heesch wrote:

Thanks. I'll include it in the first CVS release after 1.3.4.

On 2004-01-02 22:12:57 +0000, [email protected] wrote:

Upgrading the priority to High due to the patch above.

On 2004-08-04 14:35:28 +0000, Dimitri van Heesch wrote:

This has been in for a while now.

Having EXPAND_AS_DEFINED global is problem (Origin: bugzilla #121581)

status NEW severity enhancement in component general for ---
Reported in version 1.3.x on platform Other
Assigned to: Dimitri van Heesch

On 2003-09-06 03:15:33 +0000, Ivan Godard wrote:

The EXPAND_AS_DEFINED config is a list in the config file, global over all
files that are doc'd together. This puts source dependencies in the
Doxyfile, and prevents controlling expansion on a local or per file basis.
Doxygen needs something like @expand foo and @endexpand foo. These could
also be used to control the definitions in PREDEFINED to finer grain.

On 2005-01-02 13:42:15 +0000, Dimitri van Heesch wrote:

It is good idea, and will be treated as a feature request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.