00001 /*------------------------------------------------------------------------- 00002 * 00003 * FILE 00004 * pqxx/compiler-internal-pre.hxx 00005 * 00006 * DESCRIPTION 00007 * Compiler deficiency workarounds for compiling libpqxx headers. 00008 * To be called at the start of each libpqxx header, in order to 00009 * push the client program's settings and apply libpqxx's settings. 00010 * Must be balanced by an include of -header-post.hxx at the end 00011 * of the header. 00012 * 00013 * Copyright (c) 2006, Jeroen T. Vermeulen <jtv@xs4all.nl> 00014 * 00015 * See COPYING for copyright license. If you did not receive a file called 00016 * COPYING with this source code, please notify the distributor of this mistake, 00017 * or contact the author. 00018 * 00019 *------------------------------------------------------------------------- 00020 */ 00021 // NO GUARDS HERE! This code should be executed every time! 00022 00023 #ifdef _WIN32 00024 00025 #ifdef _MSC_VER 00026 00027 // Save client program warning state, and set warning level 4. 00028 // Setting the warning level explicitly ensures that libpqxx 00029 // headers will work with this warning level as well. 00030 #pragma warning (push,4) 00031 00032 #pragma warning (disable: 4251) 00033 #pragma warning (disable: 4258) // Complains that for-scope usage is correct 00034 #pragma warning (disable: 4273) 00035 #pragma warning (disable: 4275) 00036 #pragma warning (disable: 4290) 00037 #pragma warning (disable: 4355) 00038 #pragma warning (disable: 4511) // Copy constructor could not be generated 00039 #pragma warning (disable: 4512) // Assignment operator could not be generated 00040 #pragma warning (disable: 4786) 00041 #pragma warning (disable: 4800) // Performance warning for boolean conversions 00042 00043 #endif // _MSC_VER 00044 00045 #endif // _WIN32 00046