
BCB 6.4, Boost 1.31 (1.30.2 fails too). Following snippet fails to compile: ---------------------------------------- #include <boost/function.hpp> // remove and it will compile OK #define BOOST_MEM_FN_ENABLE_FASTCALL // or remove this and it will be OK #include <boost/bind.hpp> // or move <function.hpp> after <bind.hpp> and it will compile OK int main() { return 0; } ---------------------------------------- with error: [C++ Error] bind_mf_cc.hpp(20): E2316 'mf0_fastcall' is not a member of '_mfi' Full parser context Unit1.cpp(6): #include C:\boost\boost_1_31_0\boost/bind.hpp bind.hpp(44): namespace boost bind.hpp(1544): #include C:\boost\boost_1_31_0\boost/bind/bind_mf_cc.hpp [C++ Error] bind_mf_cc.hpp(20): E2040 Declaration terminated incorrectly Full parser context Unit1.cpp(6): #include C:\boost\boost_1_31_0\boost/bind.hpp bind.hpp(44): namespace boost bind.hpp(1544): #include C:\boost\boost_1_31_0\boost/bind/bind_mf_cc.hpp [C++ Error] bind.hpp(1577): E2190 Unexpected } Full parser context Unit1.cpp(6): #include C:\boost\boost_1_31_0\boost/bind.hpp When the #include <boost/function.hpp> is removed it compiles cleanly. The code compiles OK on Intel C++ so it seems to be caused by some strange interaction with Boost.Function. /Pavel