diff -Naur podofo-0.9.6.orig/src/base/PdfXRefStreamParserObject.h podofo-0.9.6/src/base/PdfXRefStreamParserObject.h --- podofo-0.9.6.orig/src/base/PdfXRefStreamParserObject.h 2014-06-06 22:13:22.000000000 +0000 +++ podofo-0.9.6/src/base/PdfXRefStreamParserObject.h 2020-05-03 02:26:01.119538387 +0000 @@ -47,8 +47,11 @@ * an XRef stream object. * * It is mainly here to make PdfParser more modular. + * This is only marked PODOFO_API for the benefit of the tests, + * the class is for internal use only. It is deprecated, so + * don't ever rely on it (i.e. externally or in PoDoFo tools). */ -class PdfXRefStreamParserObject : public PdfParserObject { +class PODOFO_DEPRECATED PODOFO_API PdfXRefStreamParserObject : public PdfParserObject { public: /** Parse the object data from the given file handle starting at diff -Naur podofo-0.9.6.orig/src/base/podofoapi.h podofo-0.9.6/src/base/podofoapi.h --- podofo-0.9.6.orig/src/base/podofoapi.h 2017-10-27 06:38:19.000000000 +0000 +++ podofo-0.9.6/src/base/podofoapi.h 2020-05-03 02:27:03.874537513 +0000 @@ -173,9 +173,22 @@ /* Set up some other compiler-specific but not platform-specific macros */ -#if defined(__GNUC__) - /* gcc will issue a warning if a function or variable so annotated is used */ - #define PODOFO_DEPRECATED __attribute__((deprecated)) +#ifdef __GNU__ + #define PODOFO_HAS_GCC_ATTRIBUTE_DEPRECATED 1 +#elif defined(__has_attribute) + #if __has_attribute(__deprecated__) + #define PODOFO_HAS_GCC_ATTRIBUTE_DEPRECATED 1 + #endif +#endif + +#ifdef PODOFO_HAS_GCC_ATTRIBUTE_DEPRECATED + /* gcc (or compat. clang) will issue a warning if a function or variable so annotated is used */ + #define PODOFO_DEPRECATED __attribute__((__deprecated__)) +#else + #define PODOFO_DEPRECATED +#endif + +#ifdef __GNU__ /* gcc can do some additional optimisations on functions annotated as pure. * See the documentation on __attribute__((pure)) in the gcc docs. */ #define PODOFO_PURE_FUNCTION __attribute__((pure)) @@ -185,9 +198,12 @@ * (see CODINGSTYLE.txt) .*/ #define PODOFO_NOTHROW __attribute__((nothrow)) #else - #define PODOFO_DEPRECATED - #define PODOFO_PURE_FUNCTION - #define PODOFO_NOTHROW __declspec(nothrow) + #define PODOFO_PURE_FUNCTION + #ifdef _MSC_VER + #define PODOFO_NOTHROW __declspec(nothrow) + #else + #define PODOFO_NOTHROW + #endif #endif // Peter Petrov 27 April 2008