summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2021-02-10 21:02:11 +0100
committerJay Berkenbilt <ejb@ql.org>2021-02-10 22:28:00 +0100
commit2538d84413ac574f6f8bcb9dfcc84254a11fa75d (patch)
treecdbb867721c8d54511f9b11b6555a1be23e14039
parent1b3f84f967daf9a668a5b1f5337d5d3d96e9112b (diff)
downloadqpdf-2538d84413ac574f6f8bcb9dfcc84254a11fa75d.tar.zst
Explicitly deprecate old name/number tree constructors
Use C++14 [[deprecated]] tag
-rw-r--r--include/qpdf/QPDFNameTreeObjectHelper.hh1
-rw-r--r--include/qpdf/QPDFNumberTreeObjectHelper.hh1
-rw-r--r--qpdf/test_driver.cc20
3 files changed, 22 insertions, 0 deletions
diff --git a/include/qpdf/QPDFNameTreeObjectHelper.hh b/include/qpdf/QPDFNameTreeObjectHelper.hh
index c2430adb..cc6ad0d7 100644
--- a/include/qpdf/QPDFNameTreeObjectHelper.hh
+++ b/include/qpdf/QPDFNameTreeObjectHelper.hh
@@ -55,6 +55,7 @@ class QPDFNameTreeObjectHelper: public QPDFObjectHelper
// QPDFNameTreeObjectHelper constructed in this way can't be
// modified or repaired and will silently ignore problems in the
// structure.
+ [[deprecated]]
QPDF_DLL
QPDFNameTreeObjectHelper(QPDFObjectHandle);
diff --git a/include/qpdf/QPDFNumberTreeObjectHelper.hh b/include/qpdf/QPDFNumberTreeObjectHelper.hh
index dff7ad70..4a3b4f9d 100644
--- a/include/qpdf/QPDFNumberTreeObjectHelper.hh
+++ b/include/qpdf/QPDFNumberTreeObjectHelper.hh
@@ -52,6 +52,7 @@ class QPDFNumberTreeObjectHelper: public QPDFObjectHelper
// QPDFNumberTreeObjectHelper constructed in this way can't be
// modified or repaired and will silently ignore problems in the
// structure.
+ [[deprecated]]
QPDF_DLL
QPDFNumberTreeObjectHelper(QPDFObjectHandle);
diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc
index e7e12834..6f704987 100644
--- a/qpdf/test_driver.cc
+++ b/qpdf/test_driver.cc
@@ -1856,8 +1856,18 @@ void runtest(int n, char const* filename1, char const* arg2)
// Exercise deprecated API until qpdf 11
std::cout << "/Bad1: deprecated API" << std::endl;
+#ifdef _MSC_VER
+# pragma warning (disable: 4996)
+#endif
+#if (defined(__GNUC__) || defined(__clang__))
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
auto bad1 = QPDFNumberTreeObjectHelper(
pdf.getTrailer().getKey("/Bad1"));
+#if (defined(__GNUC__) || defined(__clang__))
+# pragma GCC diagnostic pop
+#endif
assert(bad1.begin() == bad1.end());
std::cout << "/Bad1" << std::endl;
@@ -2058,8 +2068,18 @@ void runtest(int n, char const* filename1, char const* arg2)
// Exercise deprecated API until qpdf 11
std::cout << "/Bad1: deprecated API" << std::endl;
+#ifdef _MSC_VER
+# pragma warning (disable: 4996)
+#endif
+#if (defined(__GNUC__) || defined(__clang__))
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
auto bad1 = QPDFNameTreeObjectHelper(
pdf.getTrailer().getKey("/Bad1"));
+#if (defined(__GNUC__) || defined(__clang__))
+# pragma GCC diagnostic pop
+#endif
try
{
bad1.find("G", true);