Re: [Doxygen-users] Preprocessor MACRO_EXPANSION + EXPAND_ONLY_PREDEF issue
Brought to you by:
dimitri
From: Albert <alb...@gm...> - 2015-01-14 09:59:40
|
Dear Torsten, I tried to reproduce the problem but was not able to (I used version 1.8.9.1 on Windows). This might be due to an error in my Doxyfile or a difference in the input file (cutting and pasting does not go to well from the mailing list, a lot of empty lines). Can you: - indicate which version of doxygen you were using - send the input file to the mailing list as an attachment - indicate which items are different (with in case of EXPAND AS DEFINED the exact line used) from the standard Doxyfile (i.e. the Doxyfile generated with doxygen -g), though I think I got this right seen the description. (See also doxygen -s -g to get a default Doxyfile without the comments, so you can attach the file, in compressed format due to the limited size of attachments in the mailing list). - indicate on which output page you see the problem. Albert On Wed, Jan 14, 2015 at 7:44 AM, Torsten Hees <A1...@gm...> wrote: > Hello Mailinglist, > > > > I want to expand macro function in my code. If I use a global setting, its > works correct, but if I want to do macro expansion only for individual > macros it don't expand correct. > > > > I added an example code to test it with the following settings (Doxy > Wizard – Preprocessor tab): > > > > Working case > > =========================================================== > > ENABLE_PREPROCESSING - set > > MACRO_EXPANSION - not set > > EXPAND_ONLY_PREDEF - not set > > SEARCH_INCLUDE - set > > > > INCLUDE_PATH > > -empty > > > > INCLUDE_FILE_PATTERNS > > -empty > > > > PREDEFINED > > -empty > > > > EXPAND_AS_DEFINED > > -empty > > > > SKIP_FUNCTION_AS_DEFINED - set > > > > Not working case > > =========================================================== > > ENABLE_PREPROCESSING - set > > MACRO_EXPANSION - not set > > EXPAND_ONLY_PREDEF - not set > > SEARCH_INCLUDE - set > > > > INCLUDE_PATH > > -empty > > > > INCLUDE_FILE_PATTERNS > > -empty > > > > PREDEFINED > > -empty > > > > EXPAND_AS_DEFINED > > - EVENTTYPE_TABLE > > - ENTRY > > > > SKIP_FUNCTION_AS_DEFINED - set > > > > > > > > Additional comment > > =========================================================== > > It's only documentated what happen if EXPAND_AS_DEFINED has entries and > PREDEFINED and EXPAND_AS_DEFINED is set. It's not defined what happen if > only one is set. > > It seems that Macro's are skiped if EXPAND_AS_DEFINED has entries and is > not set. > > > > I hope some one has an idea whats going work. Is it a still a bug in > doxygen or it is my fault. > > Best regrads > > Torsten > > > > MacroTest.h > > =========================================================== > > > > /** For an overview of the mappings of these events to the handling > methods in > > MacroTest, see @ref MacroTest. > > @file MacroTest.h > > */ > > > > /// This is a documentation comment > > enum TypeType_t > > { > > bla1, > > bla2, > > > > PROGRAM_INTERNAL_ET = INT_MAX ///< Do not touch this. Required for > ensuring consistent enum type size across libraries. > > }; > > > > > > /** For an overview of the mappings of these events to the handling > methods in > > MacroTest, see @ref MacroTest. > > @file MacroTest.h > > */ > > > > /** @brief Program event types. > > */ > > > > #define EVENTTYPE_TABLE \ > > /** A key was pressed down. */ \ > > ENTRY(ET_KEYDOWN) \ > > /** A key was released. */ \ > > ENTRY(ET_KEYUP) \ > > /** A character key was pressed. */ \ > > ENTRY(ET_CHAR) \ > > /** The mouse was moved while a button was pressed. */ \ > > ENTRY(DEPRECATED_ET_MOUSEDRAG) \ > > /** The mouse was moved while all buttons were released. */ \ > > ENTRY(ET_MOUSEMOVE) \ > > /** The mousewheel was used. */ \ > > ENTRY(ET_MOUSEWHEEL) \ > > /** The left mouse button was released. */ \ > > ENTRY(ET_LBUTTONUP) \ > > /** The left mouse button was pressed. */ \ > > ENTRY(ET_LBUTTONDOWN) \ > > /** The left mouse button was double clicked. @ref > CGUIEventHandler::GetDoubleClickTime() */ \ > > ENTRY(DEPRECATED_ET_LBUTTONDBLCLK) \ > > /** The right mouse button was released. */ \ > > ENTRY(ET_RBUTTONUP) \ > > /** The right mouse button was pressed. */ \ > > ENTRY(ET_RBUTTONDOWN) \ > > /** The left mouse button was pressed longer than @ref > CGUIEventHandler::GetLongClickTime(). */ \ > > ENTRY(DEPRECATED_ET_LBUTTONLONGCLICK) \ > > /** A hot key was pressed (used on e.g. smart phones)*/ \ > > ENTRY(ET_HOTKEYDOWN) \ > > /** A hot key was released (used on e.g. smart phones)*/ \ > > ENTRY(ET_HOTKEYUP) > > > > /// This is a documentation comment > > enum EventType_t > > { > > #define ENTRY(a) a, > > EVENTTYPE_TABLE > > #undef ENTRY > > PROGRAM_INTERNAL_ET = INT_MAX ///< Do not touch this. Required for > ensuring consistent enum type size across libraries. > > }; > > > > > > /// MacroTest special doc > > /// Special comment bla bla bla > > /// bla bla bla > > /// bla bla bla > > /// bla bla bla > > > > class MacroTest > > { > > public: > > /// Constructor > > MacroTest(); > > /// Destructor > > ~MacroTest(); > > /// Getter > > /// bla bla bla > > /// @param i The param to get > > /// @return Pointer to MacroTest. > > MacroTest *GetMacro(int i ) {return this;}; > > > > /// Setter > > /// bla bla bla > > /// @param i The param to get > > void SetMacro(int i ) {MacroTest i = 0;}; > > > > /// Super duper member > > int m_i; > > /// BLABLA > > EventType_t m_EventType; > > /// Blabla > > TypeType_t m_TypeType; > > } > > > ------------------------------------------------------------------------------ > New Year. New Location. New Benefits. New Data Center in Ashburn, VA. > GigeNET is offering a free month of service with a new server in Ashburn. > Choose from 2 high performing configs, both with 100TB of bandwidth. > Higher redundancy.Lower latency.Increased capacity.Completely compliant. > http://p.sf.net/sfu/gigenet > _______________________________________________ > Doxygen-users mailing list > Dox...@li... > https://lists.sourceforge.net/lists/listinfo/doxygen-users > > |