GNOME Bugzilla – Bug 636947
Failure to document all function overloads in cases where parameters are typedefs.
Last modified: 2011-01-03 19:01:09 UTC
Doxygen version 1.7.1. The example C code below reproduces the issue: //START /*! \addtogroup MyGroup \{ */ typedef float MyType[4]; //!< A fixed-size float array /*! \brief A function. */ void foo( MyType out, //!< output const MyType a, //!< input param 1 const float b = 0.0f //!< input param 2 ); /*! \brief A function overload. */ void foo( MyType out, //!< output const MyType c, //!< input param 1 const MyType d //!< input param 2 ); /*! \brief Another function. */ void bar( float* out, //!< output const float* a, //!< input param 1 const float b = 0.0f //!< input param 2 ); /*! \brief Another function overload. */ void bar( float* out, //!< output const float* c, //!< input param 1 const float* d //!< input param 2 ); /*! \} Close Doxygen Group 'MyGroup', do not remove */ //END The expected behaviour: There should be two entries for foo and two for bar in the generated docs - one for each of the overloads. Actual behaviour: There are two entries for bar, but only one for foo. The one entry for foo contains the brief of both overloads, but not all other details. Here's a textual representation of the (incorrect) doxygen html output for foo... //START void foo ( MyType out, const MyType a, const float b = 0.0f ) A function. A function overload. Parameters: out output a input param 1 b input param 2 //END And the same (correct) for bar... //START void bar ( float * out, const float * a, const float b = 0.0f ) Another function. Parameters: out output a input param 1 b input param 2 void bar ( float * out, const float * c, const float * d ) Another function overload. Parameters: out output c input param 1 d input param 2 //END
I set this as minor severity since it can be worked around by including additional details in the function descriptions. It occurs to me that I've not tested this with a default doxygen config file yet. I'll do that now.
I've now checked, and this can be reproduced with a clean template config file. All I set in the template config was PROJECT_NAME, OUTPUT_DIRECTORY, INPUT.
Confirmed. Should be fixed in the next release.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.7.3. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.