I am trying to compile my code on VC8 at warning level (Level 4).

There are several places in boost that produce warnings at this level, but the warnings have obvious simple fixes.

(I can send a patch to this list when I have removed enough of them from my working copy in case the library authors care to address them).

 

Along these lines I have a question/comment about GIL. The library uses a GIL_FORCEINLINE macro, presumably to increase performance of some functions. When I compile I get a slew of warning messages with warning “C4714 : function ‘function-name‘ marked as __forceinline not inlined.”.   I am compiling whith /O2 option (Optimize for speed) and the /Ob2 flag (inline any suitable funciton).

 

My question is: is this a problem for GIL? Obviously the authors have been trying hard to get that function call overhead removed and apparantly vc8 does not play nice with them. I don’t know how to address this warning other than to temporarily disable warning 4714, but this is a case where the warning looks like it may be important.

 

The warning indicates that the compiler is unable to inline the functions at these locations:

c:\john\hvm\src\boost\boost\gil\algorithm.hpp(251) : copy_with_2d_iterators

c:\john\hvm\src\boost\boost\gil\algorithm.hpp(587) : default_construct_range

 

In my case the functions point me to locations in the STL:

C:\Program Files\Microsoft Visual Studio 8\VC\include\functional(54)

 

Unfortunately I can not list my code that exhibits the problem here (these warnings come from a large unreleasable project compiled with W3 in the past, and the messages don’t help me find which specific parts of my code are instantiating the gil code). I am hoping that the authors will immediately understand the issue (since they used GIL_FORCEINLINE to begin with).

 

 

Cheers,

--John C. Femiani