00001
00002
00003 #ifndef DUNE_DEPRECATED_HH
00004 #define DUNE_DEPRECATED_HH
00005
00011
00012
00013 #if defined(DOXYGEN) || !defined(HAS_ATTRIBUTE_DEPRECATED)
00015
00084 #define DUNE_DEPRECATED
00085 #else // defined(HAS_ATTRIBUTE_DEPRECATED)
00086 #define DUNE_DEPRECATED __attribute__((deprecated))
00087 #endif
00088
00089 #if defined(DOXYGEN) || !defined(HAS_ATTRIBUTE_DEPRECATED_MSG)
00091
00169 #define DUNE_DEPRECATED_MSG(text) DUNE_DEPRECATED
00170 #else // defined(HAS_ATTRIBUTE_DEPRECATED_MSG)
00171 #define DUNE_DEPRECATED_MSG(text) __attribute__((deprecated(# text)))
00172 #endif
00173
00174 #ifdef DOXYGEN
00175
00192 #define DUNE_NO_DEPRECATED_BEGIN ...
00193
00198 #define DUNE_NO_DEPRECATED_END ...
00199 #else
00200 # if defined __clang__
00201 # define DUNE_NO_DEPRECATED_BEGIN \
00202 _Pragma("clang diagnostic push") \
00203 _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
00204 # define DUNE_NO_DEPRECATED_END _Pragma("clang diagnostic pop")
00205 # elif defined __INTEL_COMPILER
00206 # define DUNE_NO_DEPRECATED_BEGIN \
00207 _Pragma("warning push") \
00208 _Pragma("warning(disable:1478)")
00209 # define DUNE_NO_DEPRECATED_END _Pragma("warning pop")
00210 # elif defined __GNUC__
00211 # define DUNE_NO_DEPRECATED_BEGIN \
00212 _Pragma("GCC diagnostic push") \
00213 _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
00214 # define DUNE_NO_DEPRECATED_END _Pragma("GCC diagnostic pop")
00215 # else
00216 # define DUNE_NO_DEPRECATED_BEGIN
00217 # define DUNE_NO_DEPRECATED_END
00218 # endif
00219 #endif
00220
00222
00223 #endif