GNOME Bugzilla – Bug 646003
Doxygen doesn't recognize class with a macro around it
Last modified: 2012-11-18 11:12:01 UTC
Doxygen doesn't expand the following macro around the class. It looks like the macro is not expanded properly, while actual C++ compilers work fine. As a result, Doxygen doesn't pick up the MyAlignedClass in the following C++ reproduction case: #ifndef _MACRO_TEST_H #define _MACRO_TEST_H #ifdef _WIN32 #define ATTRIBUTE_ALIGNED128(a) __declspec(align(128)) a #else #define ATTRIBUTE_ALIGNED128(a) a __attribute__ ((aligned (128))) #endif ATTRIBUTE_ALIGNED128(class) MyAlignedClass //class MyAlignedClass { int m_test; public: MyAlignedClass() { } }; #endif
I works fine if you use the following settings: ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES PREDEFINED = ATTRIBUTE_ALIGNED128(x)=x See http://www.doxygen.org/preprocessing.html for more info.
Thanks, that did the job!