Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 346642

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-editorAssignee: 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:

Description David Kampert CLA 2011-05-20 07:26:03 EDT
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.
Comment 1 Anton Leherbauer CLA 2011-05-20 07:29:35 EDT

*** This bug has been marked as a duplicate of bug 324302 ***