GNOME Bugzilla – Bug 664826
Cannot comment #ifdef TEST using //! Testdoc anymore with DoxyGen 1.6.0 and later (but works up to 1.5.9)
Last modified: 2012-11-18 11:12:50 UTC
Hello there, usually I use the following way to dcoument my #defines which IS working up to version 1.5.9 properly and the ALL appear in the documentation: //! <b>Overrideable configuration:</b> number of units supported simultaneously #ifndef CLKDIR_UNIT_MAX #define CLKDIR_UNIT_MAX 1 #endif Unfortunately from 1.6.0 and later this style of documentation is DOES NOT WORK ANYMORE. I use EXACTLY the same configuration and project settings which are working up to version 1.5.9 properly BUT DOES NOT WORK from 1.6.0 and later ANYMORE. The above style is very important for me. Is the current behaviour a BUG or a FEATURE!? Is there a special option to make the lastest versions behave like up to 1.5.9? Regards Helmut
Dear Dimitri, I've already sent you the full header file and configuration, but looks like my mail didn't get your attention in the mass of mails you may receive. Thanks in advance for your help. Regards Helmut
Confirmed. It was a bug in the include guard detection. Should be fixed in the next subversion update.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.7.6. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.
Created attachment 202973 [details] Attachment containg test configs, logs and three source files Contents of the archive: DoxyCfg.zip DoxyLog.zip mbpbcfg.h stpclkdir.h support.h
Dear Dimitri, I've tried your latest version 1.7.6.0 by the 3rd of december 2011 but I face the same problem than before. Regardless a define is defined or not - using the SAME files and configuration - some "#ifndef DEFINENAME" are not documented from Doxygen 1.6.0 and newer ALTHOUGH I placed a "//! This is definename" the line before but are documented for 1.5.7.1 and OLDER. I've attached you the config files for Doxygen 1.5.7.1 (working) and the latest 1.7.6.0 (not working), both output logs and three source files to illustrate the problem in more detail. (1) support.h You'll find there the documented defines TRUE and false which are used later in the same file by #TRUE and #FALSE references. 1.5.7.1=OK, 1.7.6.0=NOT OK (2) stpclkdir.h The commented definesd STPCLKDIR_FULLSTEPSHIFT and STPCLKDIR_OFFSETAUTOSHIFT are ignore for 1.6.0 and newer but OK for 1.5.7.1 (3) mbpbcfg.h These defines are commented but ignored 1.6.0 and newer but OK for 1.5.7.1: MBPB_BUFFER_COUNT, MBPB_PORT_COUNT, MBPB_ADDR_MIN, MBPB_ADDR_MAX, MBPB_TRANSLATE_MASK I don't see any reason why this happens. Hopefully you'll find the reason which helps me to use also newer versions of Doxygen. Currently I'm fixed to the old version 1.5.7.1. You may also request more files. Thanks in advance for your help. Regards Helmut
Dear Dimitri, the most interesting fact about this bug is: It happens only for SOME of the documented defines in the example files. Most are working ALTOUGH ALL documented in the SAME style. That's why I'm confused so much. Regards Helmut
Created attachment 203030 [details] sample code with config file and output for 1.7.6 Are you 100% sure you actually ran your code through doxygen 1.7.6? I've attached the results I got for your files. They look ok to me...
Dear Dimitri, I double checked I'm using Doxygen 1.7.6 (doxygen.exe 6.764.032 Bytes). Maybe there's something in the whole project that disturbes Doxgen? But I cannot send you the whole project source thru this forum. It's proprietary code I created for my customer. I will try to reduce the project to skip the *.c files with the proprietary code. When the problem still exists I'll ask you for your permission to send you the confidential files thru mail. Thanks for your patience. I'll do my best to make the problem reproduceable for you. Regards Helmut
Dear Dimitri, I've composed a small example for you which shows the commented but missing defines TRUE and FALSE. Please ignore the missing OS_... defines because the include files of the OS are not included here because of the copyright. support.h alone works, but adding also support.c will trigger the problem Hopefully you may reproduce the problem now. Thanks in advance for your help. Regards Helmut
Created attachment 203035 [details] Small example with config and source for reproducing the problem
Seems like the fix for #666085 is also solving your problem.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.0. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.