# compiler-internal-pre.hxx

    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,2007, 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 #pragma warning (disable: 4996) // Complaint that strncpy() "may" be unsafe
    00043
    00044 #endif // _MSC_VER
    00045
    00046 #endif // _WIN32
    00047