added POCO_NO_DEPRECATED to disarm POCO_DEPRECATED macro

This commit is contained in:
Günter Obiltschnig
2017-09-08 12:16:03 +02:00
parent 522f743b86
commit 3e5cf21cf3
2 changed files with 16 additions and 10 deletions

View File

@@ -35,10 +35,10 @@
// Define to disable automatic initialization // Define to disable automatic initialization
// Defining this will disable ALL automatic // Defining this will disable ALL automatic
// initialization framework-wide (e.g. Net // initialization framework-wide (e.g. Net
// on Windows, all Data back-ends, etc). // on Windows, all Data back-ends, etc).
// //
// #define POCO_NO_AUTOMATIC_LIB_INIT // #define POCO_NO_AUTOMATIC_LIB_INIT
@@ -77,19 +77,19 @@
// #define POCO_THREAD_PRIORITY_MAX 31 // #define POCO_THREAD_PRIORITY_MAX 31
// Define to disable small object optimization. If not // Define to disable small object optimization. If not
// defined, Any and Dynamic::Var (and similar optimization // defined, Any and Dynamic::Var (and similar optimization
// candidates) will be auto-allocated on the stack in // candidates) will be auto-allocated on the stack in
// cases when value holder fits into POCO_SMALL_OBJECT_SIZE // cases when value holder fits into POCO_SMALL_OBJECT_SIZE
// (see below). // (see below).
// //
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! NOTE: Any/Dynamic::Var SOO will NOT work reliably !!! // !!! NOTE: Any/Dynamic::Var SOO will NOT work reliably !!!
// !!! without C++11 (std::aligned_storage in particular). !!! // !!! without C++11 (std::aligned_storage in particular). !!!
// !!! Only comment this out if your compiler has support !!! // !!! Only comment this out if your compiler has support !!!
// !!! for std::aligned_storage. !!! // !!! for std::aligned_storage. !!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// //
#ifndef POCO_ENABLE_SOO #ifndef POCO_ENABLE_SOO
#define POCO_NO_SOO #define POCO_NO_SOO
#endif #endif
@@ -117,7 +117,7 @@
// No automatic registration of FileChannel in // No automatic registration of FileChannel in
// LoggingFactory - avoids FileChannel and friends // LoggingFactory - avoids FileChannel and friends
// being linked to executable. // being linked to executable.
// #define POCO_NO_FILECHANNEL // #define POCO_NO_FILECHANNEL
@@ -143,13 +143,13 @@
// #define POCO_UTIL_NO_INIFILECONFIGURATION // #define POCO_UTIL_NO_INIFILECONFIGURATION
// No support for JSON configuration in // No support for JSON configuration in
// Poco::Util::Application. Avoids linking of JSON // Poco::Util::Application. Avoids linking of JSON
// library and saves a few 100 Kbytes. // library and saves a few 100 Kbytes.
// #define POCO_UTIL_NO_JSONCONFIGURATION // #define POCO_UTIL_NO_JSONCONFIGURATION
// No support for XML configuration in // No support for XML configuration in
// Poco::Util::Application. Avoids linking of XML // Poco::Util::Application. Avoids linking of XML
// library and saves a few 100 Kbytes. // library and saves a few 100 Kbytes.
// #define POCO_UTIL_NO_XMLCONFIGURATION // #define POCO_UTIL_NO_XMLCONFIGURATION
@@ -177,4 +177,8 @@
// #define POCO_NO_SHARED_LIBRARY_DEBUG_SUFFIX // #define POCO_NO_SHARED_LIBRARY_DEBUG_SUFFIX
// Disarm POCO_DEPRECATED macro.
// #define POCO_NO_DEPRECATED
#endif // Foundation_Config_INCLUDED #endif // Foundation_Config_INCLUDED

View File

@@ -148,7 +148,9 @@
// A macro expanding to a compiler-specific clause to // A macro expanding to a compiler-specific clause to
// mark a class or function as deprecated. // mark a class or function as deprecated.
// //
#ifdef _GNUC_ #if defined(POCO_NO_DEPRECATED)
#define POCO_DEPRECATED
#elif defined(_GNUC_)
#define POCO_DEPRECATED __attribute__((deprecated)) #define POCO_DEPRECATED __attribute__((deprecated))
#elif defined(__clang__) #elif defined(__clang__)
#define POCO_DEPRECATED __attribute__((deprecated)) #define POCO_DEPRECATED __attribute__((deprecated))