This appears to be a bug in Doxygen 1.8.3.1 or (maybe 1.8.3 -- it worked in 1.8.2, and I don't think I installed 1.8.3).
In short, macro definitions in a disabled @cond block seem to be processed by Doxygen. In my source, I have /// @cond internal template <bool> struct static_assert_failure { }; template <> struct static_assert_failure<true> { enum { Success = 1 }; }; # define STATIC_ASSERT_DUMMY_TYPE \ STATIC_ASSERT_DUMMY_TYPE1(__cilkrts_static_assert_, __LINE__) # define STATIC_ASSERT_DUMMY_TYPE1(a, b) \ STATIC_ASSERT_DUMMY_TYPE2(a, b) # define STATIC_ASSERT_DUMMY_TYPE2(a, b) a ## b /// @endcond The "internal" condition is NOT enabled. However, when I process it, I get these errors in my log file: /Users/rfaiman/.../metaprogramming.h:311: warning: Member STATIC_ASSERT_DUMMY_TYPE (macro definition) of file metaprogramming.h is not documented. /Users/rfaiman/.../metaprogramming.h:313: warning: Member STATIC_ASSERT_DUMMY_TYPE1(a, b) (macro definition) of file metaprogramming.h is not documented. /Users/rfaiman/.../metaprogramming.h:314: warning: Member STATIC_ASSERT_DUMMY_TYPE2(a, b) (macro definition) of file metaprogramming.h is not documented. Other kinds of definitions (classes, functions, etc., like the static_assert_failure struct in the example above) are not processed in the @cond block, as I would expect. This is on Mac OS X 10.8.2. Thanks, Neil Faiman ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_jan _______________________________________________ Doxygen-users mailing list Doxygen-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/doxygen-users