| Summary: | Doxygen: Documentation generator fails if function declaration contains more than one macro from a header | ||
|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | David Kampert <d.kampert> |
| Component: | cdt-editor | Assignee: | Project Inbox <cdt-editor-inbox> |
| Status: | CLOSED DUPLICATE | QA Contact: | Anton Leherbauer <aleherb+eclipse> |
| Severity: | normal | ||
| Priority: | P3 | CC: | cdtdoug |
| Version: | 8.0 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
*** This bug has been marked as a duplicate of bug 324302 *** |
Build Identifier: M20100909-0800 If a function declaration contains more than one macro, for example DLLFNCEXPORT BOOL main(int i){...} with DLLFNCEXPORT and BOOL defined in a header file that is included, then typing /**<Enter> above the function yields /** * */ DLLFNCEXPORT BOOL main(int i){...} But if DLLFNCEXPORT is defined in the same source code file (and BOOL still not), the result will be /** * * @param i * @return */ DLLFNCEXPORT BOOL main(int i){...} as expected. Remark 1: The bug is sensitive towards the macro order. In the above example, if DLLFNCEXPORT is defined in an included header and BOOL in the source code file, the documentation stub is still not generated. Remark 2: May have a context with Bug #324302. Reproducible: Always Steps to Reproduce: 1. Write a header file that contains the macro definitions #define BOOL int #define DLLFNCEXPORT 2. Write a source code file that includes the header created in step 1 and write a function DLLFNCEXPORT BOOL main(int i){ return 0; } into that file. 3. Type "/**"<Enter> on the line above the function written in 2. 4. No Doxygen documentation stub is generated.