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

Reply via email to