fatal error C1001 with visual studio 8, boost 1.34, BOOST_AUTO() macro
Hi all I'm using boost 1.34 with postgresql c++ binding (libpqxx). I've got this fatal error: fatal error C1001: An internal error has occurred in the compiler. (compiler file 'F:\SP\vctools\compiler\utc\src\P2\main.c[0x10C68EF3:0x00000008]', line 182) To work around this problem, try simplifying or changing the program near the locations listed above. Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information when compiling sources with BOOST_AUTO macro from boost/typeof library. The code that triggers this error is: --- pqxx::nontransaction T(*m_pSQLConnection, "GetCustomer"); BOOST_AUTO(rs, T.exec("some select...")); // pqxx::result rs = T.exec(""some select..."); --- pqxx is namespace for postgresql c++ binding. I have registered pqxx::result with BOOST_TYPEOF_REGISTER_TYPE(pqxx::result). It's strange because I have also registered pqxx::result::const_iterator with BOOST_TYPEOF_REGISTER_TYPE(pqxx::result::const_iterator) and when using auto with pqxx::result::const_iterator there isn't fatal error and everything is compiled fine --- for(BOOST_AUTO(it, rs.begin()); it != rs.end(); ++it) { ... } --- So it looks like there is some bug in VS compiler. Or anyone know where could be the problem? thanks Trigve ____________________________________________________________________________________Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase. http://farechase.yahoo.com/
"Trigve Siver"
I'm using boost 1.34 with postgresql c++ binding (libpqxx). I've got this fatal error:
fatal error C1001: An internal error has occurred in the compiler. (compiler file 'F:\SP\vctools\compiler\utc\src\P2\main.c[0x10C68EF3:0x00000008]', line 182) To work around this problem, try simplifying or changing the program near the locations listed above. Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information
when compiling sources with BOOST_AUTO macro from boost/typeof library. The code that triggers this error is:
--- pqxx::nontransaction T(*m_pSQLConnection, "GetCustomer"); BOOST_AUTO(rs, T.exec("some select...")); // pqxx::result rs = T.exec(""some select..."); ---
pqxx is namespace for postgresql c++ binding. I have registered pqxx::result with BOOST_TYPEOF_REGISTER_TYPE (pqxx::result)
Is "pqxx::result" the exact type the expression T.exec("some select...") returns? Can you do: pqxx::result r; BOOST_AUTO(rr, r); ? Regards, Arkadiy
participants (2)
-
Arkadiy Vertleyb
-
Trigve Siver