[possible bug, Doxygen V1.8.7]: only 1 preprocessor run, problems with remapping of defines in C and function switches -



[possible bug, Doxygen V1.8.7]: only 1 preprocessor run, problems with remapping of defines in C and function switches -

actually i'm using doxygen 1.7.6.1 , i've got no problems remapping of defines function switches. want utilize version 1.8.7, seems there 1 run evaluate preprocessor defines. sure enable_preprocessing = yes set in doxyfile. causes in missing function documentation in generated output upgraded doxyfile of version 1.7.6.1 doxygen -u , run doxygen next example:

foo_bar1.c:

/** * \file foo_bar1.c * * \author foo_bar * * \brief foo bar * * * \addtogroup foo_bar ... bar * \{ * \ingroup foo **/ #include "project.h" #if (1u == use_foo_bar_function1) /**************************************************************************//** * \brief foo bar * * special * * \param[in] foo * special * * * \param[out] bar * more special * *******************************************************************************/ void foo_bar_function1(int foo, int bar) { } /* foo_bar_function1 */ #endif /* use_foo_bar_function1 */ /** \} **/ /* doxygen */ /*-- eof --*/

foo_bar1.h:

/** * \file foo_bar1.h * * \author foo_bar * * \brief foo bar * * \addtogroup foo_bar special bar * \{ * \ingroup foo **/ #include "project.h" #define use_foo_bar_function1 use_foo_function1 /************************************************************************** * f u n c t o n d e c l r t o n s **************************************************************************/ #if (1u == use_foo_bar_function1) void foo_bar_function1(int foo, int bar); #endif /* use_foo_bar_function1 */ /** \} **/ /* doxygen */ /*-- eof --*/

project.h:

/* function switches */ #define use_foo_function1 1u #include foo_bar1.h

doxyfile:

input = foo_bar1.h \ foo_bar1.c include_path = .

so there in foo_bar1.h remapping of use_foo_function1 use_foo_bar_function1 not identifyed doxygen. there no function documentation in generated refman.rtf , in html output. if replace use_foo_function1 in project.h, function documentation shown.

new project.h:

/* function switches */ #define use_foo_bar_function1 1u #include foo_bar1.h

now working before. leads me conclusion, preprocessor evaluated 1 time. don't know if thats wanted, in version 1.7.6.1 works correctly. thats no solution project.

is there way workaround or else can utilize actual version way in version 1.7.6.1?

thanks help.

c doxygen c-preprocessor

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -