Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[c++] unable to expand recursive macro #8448

Closed
ZSaberLv0 opened this issue Mar 21, 2021 · 2 comments
Closed

[c++] unable to expand recursive macro #8448

ZSaberLv0 opened this issue Mar 21, 2021 · 2 comments
Labels

Comments

@ZSaberLv0
Copy link

ZSaberLv0 commented Mar 21, 2021

To Reproduce
DoxygenTest.zip

the main code pasted here:

#define EMPTY(...)
#define NO_DEFAULT_PARAM() EMPTY
#define DEFAULT_PARAM(v) = v EMPTY

#define METHOD(name, def) \
    /** @brief doc for name */ \
    extern void name(int param def());

METHOD(f0, NO_DEFAULT_PARAM())
METHOD(f1, DEFAULT_PARAM(1))

use the above files, simply run doxygen, and the result:
image

Version
1.8.17 was the first release version that reproduce the issue

@ZSaberLv0 ZSaberLv0 changed the title [c++] unable to expand recursive macro for 1.9.x [c++] unable to expand recursive macro Mar 21, 2021
@albert-github
Copy link
Collaborator

albert-github commented Mar 21, 2021

It looks like this comes from the commit (5fe9912):

Commit: 5fe991236c9042a1ea75d6693aca41b3256a0d89 [5fe9912]
Date: Monday, November 25, 2019 9:02:53 PM
Fixed preprocessor issue that resulted in "More #endif's than #if's found." warning.

Though the issue comment does not really give a clue that this has an influence on the macro substitution.
I did a quick test with the current master and the current master (1.9.2 (39d20a3)) gives the problem, when undoing the specific fix of the commit the shown code is OK.

@doxygen doxygen added the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Mar 29, 2021
@doxygen
Copy link
Owner

doxygen commented Aug 18, 2021

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.2.
Please verify if this is indeed the case. Reopen the
issue if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Aug 18, 2021
@doxygen doxygen closed this as completed Aug 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants