ChuMing wrote:
There are warnings popping up due to the use of __fastcall calling convertion in boost and its incompatible with compiling some of our code with the /clr flag turned on. Managed C++ is incompatible with the __fastcall calling convention because what it does is it preloads certain registers with the function parameters but for /clr compilation it is compiling to MSIL so this cannot be done and upon encountering any __fastcall the Managed C++ compiler will change it to __stdcall.
Does anyone know the implications of disabling these warnings and whether it is safe to do that? I did not get these warnings with the previous versions of boost though.
It's completely safe to suppress those warnings in this case: the code is there just to detect whether __fastcall functions are functions or not. If they're not supported with managed code, no harm will come to you from this. Long term we should bracket the __fastcall bit in #ifndef _MANAGED guards. John.