Commit 2538d84413ac574f6f8bcb9dfcc84254a11fa75d

Authored by Jay Berkenbilt
1 parent 1b3f84f9

Explicitly deprecate old name/number tree constructors

Use C++14 [[deprecated]] tag
include/qpdf/QPDFNameTreeObjectHelper.hh
... ... @@ -55,6 +55,7 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper
55 55 // QPDFNameTreeObjectHelper constructed in this way can't be
56 56 // modified or repaired and will silently ignore problems in the
57 57 // structure.
  58 + [[deprecated]]
58 59 QPDF_DLL
59 60 QPDFNameTreeObjectHelper(QPDFObjectHandle);
60 61  
... ...
include/qpdf/QPDFNumberTreeObjectHelper.hh
... ... @@ -52,6 +52,7 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper
52 52 // QPDFNumberTreeObjectHelper constructed in this way can't be
53 53 // modified or repaired and will silently ignore problems in the
54 54 // structure.
  55 + [[deprecated]]
55 56 QPDF_DLL
56 57 QPDFNumberTreeObjectHelper(QPDFObjectHandle);
57 58  
... ...
qpdf/test_driver.cc
... ... @@ -1856,8 +1856,18 @@ void runtest(int n, char const* filename1, char const* arg2)
1856 1856  
1857 1857 // Exercise deprecated API until qpdf 11
1858 1858 std::cout << "/Bad1: deprecated API" << std::endl;
  1859 +#ifdef _MSC_VER
  1860 +# pragma warning (disable: 4996)
  1861 +#endif
  1862 +#if (defined(__GNUC__) || defined(__clang__))
  1863 +# pragma GCC diagnostic push
  1864 +# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  1865 +#endif
1859 1866 auto bad1 = QPDFNumberTreeObjectHelper(
1860 1867 pdf.getTrailer().getKey("/Bad1"));
  1868 +#if (defined(__GNUC__) || defined(__clang__))
  1869 +# pragma GCC diagnostic pop
  1870 +#endif
1861 1871 assert(bad1.begin() == bad1.end());
1862 1872  
1863 1873 std::cout << "/Bad1" << std::endl;
... ... @@ -2058,8 +2068,18 @@ void runtest(int n, char const* filename1, char const* arg2)
2058 2068  
2059 2069 // Exercise deprecated API until qpdf 11
2060 2070 std::cout << "/Bad1: deprecated API" << std::endl;
  2071 +#ifdef _MSC_VER
  2072 +# pragma warning (disable: 4996)
  2073 +#endif
  2074 +#if (defined(__GNUC__) || defined(__clang__))
  2075 +# pragma GCC diagnostic push
  2076 +# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  2077 +#endif
2061 2078 auto bad1 = QPDFNameTreeObjectHelper(
2062 2079 pdf.getTrailer().getKey("/Bad1"));
  2080 +#if (defined(__GNUC__) || defined(__clang__))
  2081 +# pragma GCC diagnostic pop
  2082 +#endif
2063 2083 try
2064 2084 {
2065 2085 bad1.find("G", true);
... ...