GNOME Bugzilla – Bug 622737
syntax error on conditional directive spanning multiple lines
Last modified: 2010-10-09 08:19:50 UTC
Processing conditional directives on multiple lines produces warnings that end with "syntax error". Boost library header files contain many such conditionals. Trying to process the following file: #if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \ || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \ ) # define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS #endif will output "D:/Local/Projects/ss/ttp.hpp(5) : warning: preprocessing issue while doing constant expression evaluation: syntax error" Attached are the simple source file, with the Doxyfile and the generated output
Created attachment 164627 [details] Sample source, doxyfile, output
Confirmed. Should be fixed in the next subversion update. As a workaround you can set the following: ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES PREDEFINED = BOOST_WORKAROUND(x,y)=0
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.7.2. 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.