id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 1766,"Wrong evaluation of conditional preprocessor directives with predefined macros __FILE__, __LINE__ and __INCLUDE_LEVEL__",daniel.wadehn@…,Hartmut Kaiser,"Checking whether one of the predefined macros {{{__LINE__, __FILE__ and __INCLUDE_LEVEL__}}} exists is not possible, wave always returns false when one of these macros is checked with the defined() operator or the #ifdef directive for example. For example this code will trigger the error even though {{{__LINE__}}} is defined. {{{ #ifndef __LINE__ #error ""no __LINE__"" #endif }}} I had a look at the source and think it can be fixed in cpp_macromap.hpp: There are three overloads for macromap<>::is_defined(), but only one checks for the special case of those three predefined macros. If the other overloads call the working one, the problem seems gone. However, i have no experience with the wave source and just started having a look at it today, thats why i have no idea if there aren't any side-effects with this 'fix' and I'm looking for an official fix or a reply on this case. I have attached my .patch though. ",Bugs,closed,Boost 1.36.0,wave,Boost 1.35.0,Problem,fixed,"wave, predefined makros",