GNOME Bugzilla – Bug 777753
PREDEFINED macro expansion loses whitespaces
Last modified: 2018-07-30 10:12:56 UTC
Doxygen always adds certain spaces when expanding PREDEFINED macros. This can lead to errors. Following example (I will attach the files): /** Declares an empty constructor and destructor for the given class. */ #define DECLARE_EMPTY_CTOR_DTOR(cls) cls(); virtual ~cls(); /** This is a sample class. */ class fooclass { DECLARE_EMPTY_CTOR_DTOR(fooclass) }; fooclass::fooclass() { } fooclass::~fooclass() { } After 'doxygen -d Preprocess' I get ... 00008 /** This is a sample class. */ 00009 class fooclass 00010 { 00011 fooclass (); virtual ~ fooclass (); 00012 }; ... The expected output would be class fooclass { fooclass(); virtual ~fooclass(); } The wrongly expanded macro leads to the following warning: foo.cpp:18: warning: documented symbol `fooclass::~fooclass' was not declared or defined.
Created attachment 344240 [details] The .cpp containing the class declaration and implementation
Created attachment 344242 [details] The doxygen settings file
Created attachment 344243 [details] The output of 'doxygen -d Preprocess foo.doxy'
Created attachment 344244 [details] The WARN_LOGFILE
With 1.8.12 and 1.8.13 I see the warning (see attachment 'errors').
Any additional information required?
As discussed in https://github.com/doxygen/doxygen/pull/734 , Doxygen has moved its issue tracking to https://github.com/doxygen/doxygen/issues All Doxygen tickets in GNOME Bugzilla have been migrated to Github. You can subscribe and participate in the new ticket in Github. You can find the corresponding Github ticket by searching for its Bugzilla ID (number) in Github. Hence I am closing this GNOME Bugzilla ticket. Please use the corresponding ticket in Github instead. Thanks a lot!