Warning, file /sdk/codevis/thirdparty/soci/include/private/soci-compiler.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // 0002 // Copyright (C) 2015 Vadim Zeitlin 0003 // Distributed under the Boost Software License, Version 1.0. 0004 // (See accompanying file LICENSE_1_0.txt or copy at 0005 // http://www.boost.org/LICENSE_1_0.txt) 0006 // 0007 0008 #ifndef SOCI_PRIVATE_SOCI_COMPILER_H_INCLUDED 0009 #define SOCI_PRIVATE_SOCI_COMPILER_H_INCLUDED 0010 0011 #include "soci-cpp.h" 0012 0013 // SOCI_CHECK_GCC(major,minor) evaluates to 1 when using g++ of at least this 0014 // version or 0 when using g++ of lesser version or not using g++ at all. 0015 #if defined(__GNUC__) && defined(__GNUC_MINOR__) 0016 # define SOCI_CHECK_GCC(major, minor) \ 0017 ((__GNUC__ > (major)) \ 0018 || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))) 0019 #else 0020 # define SOCI_CHECK_GCC(major, minor) 0 0021 #endif 0022 0023 // GCC_WARNING_{SUPPRESS,RESTORE} macros can be used to bracket the code 0024 // producing a specific warning to disable it. 0025 // 0026 // They only work with g++ 4.6+ or clang, warnings are not disabled for earlier 0027 // g++ versions. 0028 #if defined(__clang__) || SOCI_CHECK_GCC(4, 6) 0029 # define SOCI_GCC_WARNING_SUPPRESS(x) \ 0030 _Pragma (SOCI_STRINGIZE(GCC diagnostic push)) \ 0031 _Pragma (SOCI_STRINGIZE(GCC diagnostic ignored SOCI_STRINGIZE(SOCI_CONCAT(-W,x)))) 0032 # define SOCI_GCC_WARNING_RESTORE(x) \ 0033 _Pragma (SOCI_STRINGIZE(GCC diagnostic pop)) 0034 #else /* gcc < 4.6 or not gcc and not clang at all */ 0035 # define SOCI_GCC_WARNING_SUPPRESS(x) 0036 # define SOCI_GCC_WARNING_RESTORE(x) 0037 #endif 0038 0039 #endif // SOCI_PRIVATE_SOCI_COMPILER_H_INCLUDED