Skip to content

typedef _macro_(p) _alias_ ; is considered as function declaration for _macro_ regardless macros #11879

@litlighilit

Description

@litlighilit

Describe the bug

For example:

#define Seq(T) struct { \
  int len;  \
  T* data; \
}
typedef Seq(char) CharSeq; ///< sequence of char

Then a function item named Seq is generated by doxygen,
instead of a type named CharSeq

Screenshots
the origin where I found this issue:

Image

To Reproduce
ex.zip

Expected behavior
Describe what you would have expected or think is correct.

Version

  • Ubuntu 24.10, x64: 1.9.4
  • Ubuntu 24.04, x64: 1.12.0
  • ArchLinux(Linux 6.17.8-arch1-1), x64: 1.16.0 (e9c6bde)

(both doxygen used in Ubuntu are installed via system package manager)

Stack trace

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    C/C++UsageThe mentioned problem is not a doxygen problem but due to usage of a feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions