summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorKohei Yoshida <kohei@libreoffice.org>2021-12-10 22:02:24 -0500
committerKohei Yoshida <kohei@libreoffice.org>2021-12-16 04:45:04 +0100
commitaadbac5467bb6ab768f87ed6ec003c55159d54aa (patch)
treef0ba41d22e9eeb8534dab6ddbeed98cdcb6295cf /external
parentdeea3b7471c3dab0220eca6146c225a2d47681a2 (diff)
Update liborcus to 0.17.2.
Change-Id: I76c0d57da63c1e35f80b13071793dbbb27cb218a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126655 Tested-by: Jenkins Reviewed-by: Kohei Yoshida <kohei@libreoffice.org>
Diffstat (limited to 'external')
-rw-r--r--external/liborcus/Library_orcus.mk3
-rw-r--r--external/liborcus/UnpackedTarball_liborcus.mk4
-rw-r--r--external/liborcus/boost-filesystem.patch.141
-rw-r--r--external/liborcus/crashtesting-crash-on-passing-null-to-std-string_vie.patch.127
-rw-r--r--external/liborcus/remove-unused-parameters.patch.11209
-rw-r--r--external/liborcus/unused-variables.patch.124
-rw-r--r--external/liborcus/windows-constants-hack.patch4
7 files changed, 5 insertions, 1307 deletions
diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk
index 0a0ca582882a..3c318797a031 100644
--- a/external/liborcus/Library_orcus.mk
+++ b/external/liborcus/Library_orcus.mk
@@ -132,12 +132,15 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/xlsx_workbook_context \
UnpackedTarball/liborcus/src/liborcus/xml_context_base \
UnpackedTarball/liborcus/src/liborcus/xml_context_global \
+ UnpackedTarball/liborcus/src/liborcus/xml_element_validator \
+ UnpackedTarball/liborcus/src/liborcus/xml_empty_context \
UnpackedTarball/liborcus/src/liborcus/xml_map_tree \
UnpackedTarball/liborcus/src/liborcus/xml_simple_stream_handler \
UnpackedTarball/liborcus/src/liborcus/xml_stream_handler \
UnpackedTarball/liborcus/src/liborcus/xml_stream_parser \
UnpackedTarball/liborcus/src/liborcus/xml_structure_mapper \
UnpackedTarball/liborcus/src/liborcus/xml_structure_tree \
+ UnpackedTarball/liborcus/src/liborcus/xml_util \
UnpackedTarball/liborcus/src/liborcus/xpath_parser \
UnpackedTarball/liborcus/src/liborcus/yaml_document_tree \
))
diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk
index 86c30431e05d..87e462e33d91 100644
--- a/external/liborcus/UnpackedTarball_liborcus.mk
+++ b/external/liborcus/UnpackedTarball_liborcus.mk
@@ -24,11 +24,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
external/liborcus/libtool.patch.0 \
external/liborcus/fix-pch.patch.0 \
external/liborcus/liborcus_newline.patch.1 \
- external/liborcus/remove-unused-parameters.patch.1 \
- external/liborcus/unused-variables.patch.1 \
- external/liborcus/boost-filesystem.patch.1 \
external/liborcus/std-get-busted.patch.1 \
- external/liborcus/crashtesting-crash-on-passing-null-to-std-string_vie.patch.1 \
))
ifeq ($(OS),WNT)
diff --git a/external/liborcus/boost-filesystem.patch.1 b/external/liborcus/boost-filesystem.patch.1
deleted file mode 100644
index 14128b4e1c67..000000000000
--- a/external/liborcus/boost-filesystem.patch.1
+++ /dev/null
@@ -1,41 +0,0 @@
-From e44737bad582fa2a05a23820e49d7930db710412 Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida@gmail.com>
-Date: Tue, 2 Nov 2021 21:33:19 -0400
-Subject: [PATCH] Try using boost::filesystem instead of std::filesystem.
-
-std::filesystem still seems unreliable.
----
- src/parser/stream.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/parser/stream.cpp b/src/parser/stream.cpp
-index 09855300..00395f59 100644
---- a/src/parser/stream.cpp
-+++ b/src/parser/stream.cpp
-@@ -17,12 +17,12 @@
- #include <locale>
- #include <codecvt>
- #include <iostream>
--#include <filesystem>
-
-+#include <boost/filesystem.hpp>
- #include <boost/interprocess/file_mapping.hpp>
- #include <boost/interprocess/mapped_region.hpp>
-
--namespace fs = std::filesystem;
-+namespace fs = boost::filesystem;
- namespace bip = boost::interprocess;
-
- namespace orcus {
-@@ -162,7 +162,7 @@ struct file_content::impl
- impl() : content_size(0), content(nullptr) {}
-
- impl(std::string_view filepath) :
-- content_size(fs::file_size(filepath)),
-+ content_size(fs::file_size(std::string{filepath}.c_str())),
- mapped_file(std::string{filepath}.c_str(), bip::read_only),
- mapped_region(mapped_file, bip::read_only, 0, content_size),
- content(nullptr)
---
-2.25.1
-
diff --git a/external/liborcus/crashtesting-crash-on-passing-null-to-std-string_vie.patch.1 b/external/liborcus/crashtesting-crash-on-passing-null-to-std-string_vie.patch.1
deleted file mode 100644
index 97e7b8366fde..000000000000
--- a/external/liborcus/crashtesting-crash-on-passing-null-to-std-string_vie.patch.1
+++ /dev/null
@@ -1,27 +0,0 @@
-From ed21a93e132b968d8cd91aa080e1f90e980267c7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
-Date: Wed, 17 Nov 2021 10:21:32 +0000
-Subject: [PATCH] crashtesting: crash on passing null to std::string_view
-
-with many documents, e.g. moz377878-1.xhtml
----
- src/parser/xml_namespace.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/parser/xml_namespace.cpp b/src/parser/xml_namespace.cpp
-index 07942563..66077d9c 100644
---- a/src/parser/xml_namespace.cpp
-+++ b/src/parser/xml_namespace.cpp
-@@ -223,7 +223,8 @@ xmlns_id_t xmlns_context::push(std::string_view key, std::string_view uri)
- #endif
- mp_impl->m_trim_all_ns = true;
-
-- std::string_view uri_interned = mp_impl->repo->intern(uri);
-+ xmlns_id_t id = mp_impl->repo->intern(uri);
-+ std::string_view uri_interned = id ? std::string_view(id) : std::string_view();
-
- if (key.empty())
- {
---
-2.33.1
-
diff --git a/external/liborcus/remove-unused-parameters.patch.1 b/external/liborcus/remove-unused-parameters.patch.1
deleted file mode 100644
index 251ed804acaf..000000000000
--- a/external/liborcus/remove-unused-parameters.patch.1
+++ /dev/null
@@ -1,1209 +0,0 @@
-From 5bb64db5ecfd1dc3be3304092f4bdebff54deae5 Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida@gmail.com>
-Date: Tue, 2 Nov 2021 19:33:29 -0400
-Subject: [PATCH] Remove unused parameter warnings.
-
----
- doc_example/json_parser_1.cpp | 4 +-
- ...preadsheet_doc_2_sheets_no_string_pool.cpp | 22 ++++-----
- .../spreadsheet_doc_2_sheets_with_formula.cpp | 47 +++++++++----------
- ...eadsheet_doc_2_sheets_with_string_pool.cpp | 40 +++++++---------
- doc_example/xml_mapping_1.cpp | 2 +-
- src/liborcus/css_document_tree.cpp | 3 ++
- src/liborcus/dom_tree.cpp | 2 +-
- src/liborcus/gnumeric_cell_context_test.cpp | 14 +++---
- src/liborcus/json_document_tree.cpp | 6 +--
- src/liborcus/json_structure_mapper.cpp | 2 +-
- src/liborcus/json_structure_tree.cpp | 4 +-
- src/liborcus/mock_spreadsheet.cpp | 14 +++---
- src/liborcus/ods_dde_links_context.cpp | 10 ++--
- src/liborcus/opc_context.cpp | 16 +++----
- src/liborcus/orcus_json.cpp | 4 +-
- src/liborcus/orcus_xml_map_def.cpp | 4 +-
- src/liborcus/spreadsheet_interface.cpp | 4 +-
- src/liborcus/xls_xml_context.cpp | 12 ++---
- src/liborcus/xls_xml_detection_handler.cpp | 2 +-
- src/liborcus/xlsx_drawing_context.cpp | 2 +-
- src/liborcus/xlsx_sheet_context.cpp | 2 +-
- src/liborcus/xlsx_sheet_context_test.cpp | 8 ++--
- src/liborcus/xlsx_table_context.cpp | 2 +-
- src/liborcus/xml_structure_tree.cpp | 6 +--
- src/liborcus/xpath_parser_test.cpp | 2 +-
- src/orcus_env_dump.cpp | 2 +-
- src/orcus_test_json_mapped.cpp | 2 +-
- src/orcus_test_xml.cpp | 2 +-
- src/orcus_test_xml_mapped.cpp | 2 +-
- src/parser/sax_token_parser_test.cpp | 2 +-
- src/parser/sax_token_parser_thread.cpp | 2 +-
- src/parser/utf8.cpp | 2 +-
- src/parser/utf8_test.cpp | 2 +-
- src/parser/xml_writer_test.cpp | 2 +-
- src/python/cell.cpp | 2 +-
- src/python/document.cpp | 4 +-
- src/python/formula_tokens.cpp | 2 +-
- src/python/global.cpp | 2 +-
- src/python/json.cpp | 4 +-
- src/python/named_expression.cpp | 2 +-
- src/python/named_expressions.cpp | 4 +-
- src/python/sheet.cpp | 6 +--
- src/python/sheet_rows.cpp | 2 +-
- src/spreadsheet/factory_sheet.cpp | 18 +++----
- src/spreadsheet/sheet_impl.cpp | 2 +-
- 45 files changed, 143 insertions(+), 157 deletions(-)
-
-diff --git a/doc_example/json_parser_1.cpp b/doc_example/json_parser_1.cpp
-index 6fc6de12..832e5176 100644
---- a/doc_example/json_parser_1.cpp
-+++ b/doc_example/json_parser_1.cpp
-@@ -8,12 +8,12 @@ using namespace std;
- class json_parser_handler : public orcus::json_handler
- {
- public:
-- void object_key(const char* p, size_t len, bool transient)
-+ void object_key(const char* p, size_t len, bool /*transient*/)
- {
- cout << "object key: " << std::string_view(p, len) << endl;
- }
-
-- void string(const char* p, size_t len, bool transient)
-+ void string(const char* p, size_t len, bool /*transient*/)
- {
- cout << "string: " << std::string_view(p, len) << endl;
- }
-diff --git a/doc_example/spreadsheet_doc_2_sheets_no_string_pool.cpp b/doc_example/spreadsheet_doc_2_sheets_no_string_pool.cpp
-index 63ffacc3..0aa86caf 100644
---- a/doc_example/spreadsheet_doc_2_sheets_no_string_pool.cpp
-+++ b/doc_example/spreadsheet_doc_2_sheets_no_string_pool.cpp
-@@ -64,22 +64,17 @@ public:
- }
-
- // We don't implement these methods for now.
-- virtual void set_auto(ss::row_t row, ss::col_t col, std::string_view s) override {}
-+ virtual void set_auto(ss::row_t, ss::col_t, std::string_view) override {}
-
-- virtual void set_bool(ss::row_t row, ss::col_t col, bool value) override {}
-+ virtual void set_bool(ss::row_t, ss::col_t, bool) override {}
-
-- virtual void set_date_time(
-- ss::row_t row, ss::col_t col,
-- int year, int month, int day, int hour, int minute, double second) override {}
-+ virtual void set_date_time(ss::row_t, ss::col_t, int, int, int, int, int, double) override {}
-
-- virtual void set_format(ss::row_t row, ss::col_t col, std::size_t xf_index) override {}
-+ virtual void set_format(ss::row_t, ss::col_t, std::size_t) override {}
-
-- virtual void set_format(
-- ss::row_t row_start, ss::col_t col_start, ss::row_t row_end, ss::col_t col_end,
-- std::size_t xf_index) override {}
-+ virtual void set_format(ss::row_t, ss::col_t, ss::row_t, ss::col_t, std::size_t) override {}
-
-- virtual void fill_down_cells(
-- ss::row_t src_row, ss::col_t src_col, ss::row_t range_size) override {}
-+ virtual void fill_down_cells(ss::row_t, ss::col_t, ss::row_t) override {}
- };
- //!code-end: my_sheet
-
-@@ -89,14 +84,13 @@ class my_import_factory : public ss::iface::import_factory
- std::vector<std::unique_ptr<my_sheet>> m_sheets;
-
- public:
-- virtual ss::iface::import_sheet* append_sheet(
-- ss::sheet_t sheet_index, std::string_view name) override
-+ virtual ss::iface::import_sheet* append_sheet(ss::sheet_t, std::string_view) override
- {
- m_sheets.push_back(std::make_unique<my_sheet>(m_sheets.size()));
- return m_sheets.back().get();
- }
-
-- virtual ss::iface::import_sheet* get_sheet(std::string_view name) override
-+ virtual ss::iface::import_sheet* get_sheet(std::string_view) override
- {
- // TODO : implement this.
- return nullptr;
-diff --git a/doc_example/spreadsheet_doc_2_sheets_with_formula.cpp b/doc_example/spreadsheet_doc_2_sheets_with_formula.cpp
-index 1c3f3d5b..11e1932e 100644
---- a/doc_example/spreadsheet_doc_2_sheets_with_formula.cpp
-+++ b/doc_example/spreadsheet_doc_2_sheets_with_formula.cpp
-@@ -87,15 +87,15 @@ public:
- m_formula.grammar = grammar;
- }
-
-- virtual void set_shared_formula_index(std::size_t index) override {}
-+ virtual void set_shared_formula_index(std::size_t) override {}
-
-- virtual void set_result_string(std::string_view value) override {}
-+ virtual void set_result_string(std::string_view) override {}
-
-- virtual void set_result_value(double value) override {}
-+ virtual void set_result_value(double) override {}
-
- virtual void set_result_empty() override {}
-
-- virtual void set_result_bool(bool value) override {}
-+ virtual void set_result_bool(bool) override {}
-
- virtual void commit() override
- {
-@@ -154,22 +154,17 @@ public:
- }
-
- // We don't implement these methods for now.
-- virtual void set_auto(ss::row_t row, ss::col_t col, std::string_view s) override {}
-+ virtual void set_auto(ss::row_t, ss::col_t, std::string_view) override {}
-
-- virtual void set_bool(ss::row_t row, ss::col_t col, bool value) override {}
-+ virtual void set_bool(ss::row_t, ss::col_t, bool) override {}
-
-- virtual void set_date_time(
-- ss::row_t row, ss::col_t col,
-- int year, int month, int day, int hour, int minute, double second) override {}
-+ virtual void set_date_time(ss::row_t, ss::col_t, int, int, int, int, int, double) override {}
-
-- virtual void set_format(ss::row_t row, ss::col_t col, std::size_t xf_index) override {}
-+ virtual void set_format(ss::row_t, ss::col_t, std::size_t) override {}
-
-- virtual void set_format(
-- ss::row_t row_start, ss::col_t col_start, ss::row_t row_end, ss::col_t col_end,
-- std::size_t xf_index) override {}
-+ virtual void set_format(ss::row_t, ss::col_t, ss::row_t, ss::col_t, std::size_t) override {}
-
-- virtual void fill_down_cells(
-- ss::row_t src_row, ss::col_t src_col, ss::row_t range_size) override {}
-+ virtual void fill_down_cells(ss::row_t, ss::col_t, ss::row_t) override {}
-
- virtual ss::iface::import_formula* get_formula() override
- {
-@@ -208,21 +203,21 @@ public:
- }
-
- // The following methods are for formatted text segments, which we ignore for now.
-- virtual void set_segment_bold(bool b) override {}
-+ virtual void set_segment_bold(bool) override {}
-
-- virtual void set_segment_font(std::size_t font_index) override {}
-+ virtual void set_segment_font(std::size_t) override {}
-
- virtual void set_segment_font_color(
-- ss::color_elem_t alpha,
-- ss::color_elem_t red,
-- ss::color_elem_t green,
-- ss::color_elem_t blue) override {}
-+ ss::color_elem_t,
-+ ss::color_elem_t,
-+ ss::color_elem_t,
-+ ss::color_elem_t) override {}
-
-- virtual void set_segment_font_name(std::string_view s) override {}
-+ virtual void set_segment_font_name(std::string_view) override {}
-
-- virtual void set_segment_font_size(double point) override {}
-+ virtual void set_segment_font_size(double) override {}
-
-- virtual void set_segment_italic(bool b) override {}
-+ virtual void set_segment_italic(bool) override {}
-
- virtual void append_segment(std::string_view s) override
- {
-@@ -256,14 +251,14 @@ public:
- return &m_shared_strings;
- }
-
-- virtual ss::iface::import_sheet* append_sheet(ss::sheet_t sheet_index, std::string_view name) override
-+ virtual ss::iface::import_sheet* append_sheet(ss::sheet_t, std::string_view) override
- {
- // Pass the string pool to each sheet instance.
- m_sheets.push_back(std::make_unique<my_sheet>(m_sheets.size(), m_string_pool));
- return m_sheets.back().get();
- }
-
-- virtual ss::iface::import_sheet* get_sheet(std::string_view name) override
-+ virtual ss::iface::import_sheet* get_sheet(std::string_view) override
- {
- // TODO : implement this.
- return nullptr;
-diff --git a/doc_example/spreadsheet_doc_2_sheets_with_string_pool.cpp b/doc_example/spreadsheet_doc_2_sheets_with_string_pool.cpp
-index ff69c835..0153dd08 100644
---- a/doc_example/spreadsheet_doc_2_sheets_with_string_pool.cpp
-+++ b/doc_example/spreadsheet_doc_2_sheets_with_string_pool.cpp
-@@ -70,22 +70,17 @@ public:
- }
-
- // We don't implement these methods for now.
-- virtual void set_auto(ss::row_t row, ss::col_t col, std::string_view s) override {}
-+ virtual void set_auto(ss::row_t, ss::col_t, std::string_view) override {}
-
-- virtual void set_bool(ss::row_t row, ss::col_t col, bool value) override {}
-+ virtual void set_bool(ss::row_t, ss::col_t, bool) override {}
-
-- virtual void set_date_time(
-- ss::row_t row, ss::col_t col,
-- int year, int month, int day, int hour, int minute, double second) override {}
-+ virtual void set_date_time(ss::row_t, ss::col_t, int, int, int, int, int, double) override {}
-
-- virtual void set_format(ss::row_t row, ss::col_t col, std::size_t xf_index) override {}
-+ virtual void set_format(ss::row_t, ss::col_t, std::size_t) override {}
-
-- virtual void set_format(
-- ss::row_t row_start, ss::col_t col_start, ss::row_t row_end, ss::col_t col_end,
-- std::size_t xf_index) override {}
-+ virtual void set_format(ss::row_t, ss::col_t, ss::row_t, ss::col_t, std::size_t) override {}
-
-- virtual void fill_down_cells(
-- ss::row_t src_row, ss::col_t src_col, ss::row_t range_size) override {}
-+ virtual void fill_down_cells(ss::row_t, ss::col_t, ss::row_t) override {}
- };
-
- //!code-start: my_shared_strings
-@@ -119,21 +114,21 @@ public:
- }
-
- // The following methods are for formatted text segments, which we ignore for now.
-- virtual void set_segment_bold(bool b) override {}
-+ virtual void set_segment_bold(bool) override {}
-
-- virtual void set_segment_font(std::size_t font_index) override {}
-+ virtual void set_segment_font(std::size_t) override {}
-
- virtual void set_segment_font_color(
-- ss::color_elem_t alpha,
-- ss::color_elem_t red,
-- ss::color_elem_t green,
-- ss::color_elem_t blue) override {}
-+ ss::color_elem_t,
-+ ss::color_elem_t,
-+ ss::color_elem_t,
-+ ss::color_elem_t) override {}
-
-- virtual void set_segment_font_name(std::string_view s) override {}
-+ virtual void set_segment_font_name(std::string_view) override {}
-
-- virtual void set_segment_font_size(double point) override {}
-+ virtual void set_segment_font_size(double) override {}
-
-- virtual void set_segment_italic(bool b) override {}
-+ virtual void set_segment_italic(bool) override {}
-
- virtual void append_segment(std::string_view s) override
- {
-@@ -169,15 +164,14 @@ public:
- return &m_shared_strings;
- }
-
-- virtual ss::iface::import_sheet* append_sheet(
-- ss::sheet_t sheet_index, std::string_view name) override
-+ virtual ss::iface::import_sheet* append_sheet(ss::sheet_t, std::string_view) override
- {
- // Pass the string pool to each sheet instance.
- m_sheets.push_back(std::make_unique<my_sheet>(m_sheets.size(), m_string_pool));
- return m_sheets.back().get();
- }
-
-- virtual ss::iface::import_sheet* get_sheet(std::string_view name) override
-+ virtual ss::iface::import_sheet* get_sheet(std::string_view) override
- {
- // TODO : implement this.
- return nullptr;
-diff --git a/doc_example/xml_mapping_1.cpp b/doc_example/xml_mapping_1.cpp
-index f23d620c..33d6ff22 100644
---- a/doc_example/xml_mapping_1.cpp
-+++ b/doc_example/xml_mapping_1.cpp
-@@ -118,7 +118,7 @@ void run_xmlns_different_ns_same_alias()
- cout << (alias_1 == alias_2 ? "same" : "different") << endl;
- }
-
--int main(int argc, char** argv)
-+int main()
- {
- run_xmlns_example();
- run_xmlns_stacked();
-diff --git a/src/liborcus/css_document_tree.cpp b/src/liborcus/css_document_tree.cpp
-index 5f84c013..46bf7e91 100644
---- a/src/liborcus/css_document_tree.cpp
-+++ b/src/liborcus/css_document_tree.cpp
-@@ -54,6 +54,9 @@ public:
- {
- #if ORCUS_DEBUG_CSS_DOCTREE
- cout << "@" << string(p, n).c_str();
-+#else
-+ (void)p;
-+ (void)n;
- #endif
- }
-
-diff --git a/src/liborcus/dom_tree.cpp b/src/liborcus/dom_tree.cpp
-index 51db6ef8..64ecf8ef 100644
---- a/src/liborcus/dom_tree.cpp
-+++ b/src/liborcus/dom_tree.cpp
-@@ -527,7 +527,7 @@ void document_tree::impl::end_element(const sax_ns_parser_element& elem)
- m_elem_stack.pop_back();
- }
-
--void document_tree::impl::characters(const pstring& val, bool transient)
-+void document_tree::impl::characters(const pstring& val, bool /*transient*/)
- {
- if (m_elem_stack.empty())
- // No root element has been encountered. Ignore this.
-diff --git a/src/liborcus/gnumeric_cell_context_test.cpp b/src/liborcus/gnumeric_cell_context_test.cpp
-index fc543096..aeec16bd 100644
---- a/src/liborcus/gnumeric_cell_context_test.cpp
-+++ b/src/liborcus/gnumeric_cell_context_test.cpp
-@@ -41,19 +41,19 @@ public:
- assert(formula == "=arrayFormula");
- }
-
-- virtual void set_result_bool(row_t row, col_t col, bool value) override
-+ virtual void set_result_bool(row_t, col_t, bool) override
- {
- }
-
-- virtual void set_result_empty(row_t row, col_t col) override
-+ virtual void set_result_empty(row_t, col_t) override
- {
- }
-
-- virtual void set_result_string(row_t row, col_t col, std::string_view) override
-+ virtual void set_result_string(row_t, col_t, std::string_view) override
- {
- }
-
-- virtual void set_result_value(row_t row, col_t col, double value) override
-+ virtual void set_result_value(row_t, col_t, double) override
- {
- }
-
-@@ -77,11 +77,11 @@ public:
- assert(formula == "=formula");
- }
-
-- virtual void set_shared_formula_index(size_t index) override
-+ virtual void set_shared_formula_index(size_t) override
- {
- }
-
-- virtual void set_result_bool(bool value) override
-+ virtual void set_result_bool(bool) override
- {
- }
-
-@@ -93,7 +93,7 @@ public:
- {
- }
-
-- virtual void set_result_value(double value) override
-+ virtual void set_result_value(double) override
- {
- }
-
-diff --git a/src/liborcus/json_document_tree.cpp b/src/liborcus/json_document_tree.cpp
-index 4eedea47..c163a364 100644
---- a/src/liborcus/json_document_tree.cpp
-+++ b/src/liborcus/json_document_tree.cpp
-@@ -1217,7 +1217,7 @@ array::array(std::initializer_list<detail::init::node> vs)
- array::~array() {}
-
- object::object() {}
--object::object(object&& other) {}
-+object::object(object&& /*other*/) {}
- object::~object() {}
-
- namespace {
-@@ -1388,7 +1388,7 @@ struct node::impl
- m_value_array(std::move(array.m_vs))
- {}
-
-- impl(json::object obj) :
-+ impl(json::object /*obj*/) :
- m_type(detail::node_t::object) {}
- };
-
-@@ -1634,7 +1634,7 @@ document_tree::document_tree(array vs) : mp_impl(std::make_unique<impl>())
- }
- }
-
--document_tree::document_tree(object obj) : mp_impl(std::make_unique<impl>())
-+document_tree::document_tree(object /*obj*/) : mp_impl(std::make_unique<impl>())
- {
- mp_impl->m_root = mp_impl->m_res.obj_pool.construct(detail::node_t::object);
- mp_impl->m_root->value.object = mp_impl->m_res.obj_pool_jvo.construct();
-diff --git a/src/liborcus/json_structure_mapper.cpp b/src/liborcus/json_structure_mapper.cpp
-index 111d1674..09a9e97e 100644
---- a/src/liborcus/json_structure_mapper.cpp
-+++ b/src/liborcus/json_structure_mapper.cpp
-@@ -40,7 +40,7 @@ void structure_mapper::push_range()
- m_current_range.row_groups.clear();
- }
-
--void structure_mapper::traverse(size_t pos)
-+void structure_mapper::traverse(size_t /*pos*/)
- {
- json::structure_tree::node_properties node = m_walker.get_node();
-
-diff --git a/src/liborcus/json_structure_tree.cpp b/src/liborcus/json_structure_tree.cpp
-index 5c9d600c..3ae8ecc0 100644
---- a/src/liborcus/json_structure_tree.cpp
-+++ b/src/liborcus/json_structure_tree.cpp
-@@ -235,12 +235,12 @@ struct structure_tree::impl
- push_value();
- }
-
-- void string(const char* p, size_t len, bool transient)
-+ void string(const char* /*p*/, size_t /*len*/, bool /*transient*/)
- {
- push_value();
- }
-
-- void number(double val)
-+ void number(double /*val*/)
- {
- push_value();
- }
-diff --git a/src/liborcus/mock_spreadsheet.cpp b/src/liborcus/mock_spreadsheet.cpp
-index 3bde38ff..4042bdc9 100644
---- a/src/liborcus/mock_spreadsheet.cpp
-+++ b/src/liborcus/mock_spreadsheet.cpp
-@@ -211,22 +211,22 @@ import_formula::~import_formula()
- {
- }
-
--void import_formula::set_position(row_t row, col_t col)
-+void import_formula::set_position(row_t, col_t)
- {
- assert(false);
- }
-
--void import_formula::set_formula(formula_grammar_t grammar, std::string_view)
-+void import_formula::set_formula(formula_grammar_t, std::string_view)
- {
- assert(false);
- }
-
--void import_formula::set_shared_formula_index(size_t index)
-+void import_formula::set_shared_formula_index(size_t)
- {
- assert(false);
- }
-
--void import_formula::set_result_value(double value)
-+void import_formula::set_result_value(double)
- {
- assert(false);
- }
-@@ -236,7 +236,7 @@ void import_formula::set_result_string(std::string_view)
- assert(false);
- }
-
--void import_formula::set_result_bool(bool value)
-+void import_formula::set_result_bool(bool)
- {
- assert(false);
- }
-@@ -257,7 +257,7 @@ import_sheet::~import_sheet()
- {
- }
-
--void import_sheet::set_auto(row_t, col_t, std::string_view s)
-+void import_sheet::set_auto(row_t, col_t, std::string_view)
- {
- assert(false);
- }
-@@ -292,7 +292,7 @@ void import_sheet::set_format(row_t, col_t, row_t, col_t, size_t)
- assert(false);
- }
-
--void import_sheet::fill_down_cells(row_t src_row, col_t src_col, row_t range_size)
-+void import_sheet::fill_down_cells(row_t, col_t, row_t)
- {
- assert(false);
- }
-diff --git a/src/liborcus/ods_dde_links_context.cpp b/src/liborcus/ods_dde_links_context.cpp
-index db7ab672..783b106f 100644
---- a/src/liborcus/ods_dde_links_context.cpp
-+++ b/src/liborcus/ods_dde_links_context.cpp
-@@ -14,21 +14,21 @@ ods_dde_links_context::ods_dde_links_context(session_context& session_cxt, const
-
- ods_dde_links_context::~ods_dde_links_context() {}
-
--bool ods_dde_links_context::can_handle_element(xmlns_id_t ns, xml_token_t name) const
-+bool ods_dde_links_context::can_handle_element(xmlns_id_t /*ns*/, xml_token_t /*name*/) const
- {
- return true;
- }
-
--xml_context_base* ods_dde_links_context::create_child_context(xmlns_id_t ns, xml_token_t name)
-+xml_context_base* ods_dde_links_context::create_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/)
- {
- return nullptr;
- }
-
--void ods_dde_links_context::end_child_context(xmlns_id_t ns, xml_token_t name, xml_context_base *child)
-+void ods_dde_links_context::end_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/, xml_context_base* /*child*/)
- {
- }
-
--void ods_dde_links_context::start_element(xmlns_id_t ns, xml_token_t name, const::std::vector<xml_token_attr_t> &attrs)
-+void ods_dde_links_context::start_element(xmlns_id_t ns, xml_token_t name, const::std::vector<xml_token_attr_t>& /*attrs*/)
- {
- xml_token_pair_t parent = push_stack(ns, name);
- (void)parent;
-@@ -41,7 +41,7 @@ bool ods_dde_links_context::end_element(xmlns_id_t ns, xml_token_t name)
- return pop_stack(ns, name);
- }
-
--void ods_dde_links_context::characters(const pstring &str, bool transient)
-+void ods_dde_links_context::characters(const pstring& /*str*/, bool /*transient*/)
- {
- }
-
-diff --git a/src/liborcus/opc_context.cpp b/src/liborcus/opc_context.cpp
-index ef1a591f..d3cddabd 100644
---- a/src/liborcus/opc_context.cpp
-+++ b/src/liborcus/opc_context.cpp
-@@ -90,17 +90,17 @@ opc_content_types_context::~opc_content_types_context()
- {
- }
-
--bool opc_content_types_context::can_handle_element(xmlns_id_t ns, xml_token_t name) const
-+bool opc_content_types_context::can_handle_element(xmlns_id_t /*ns*/, xml_token_t /*name*/) const
- {
- return true;
- }
-
--xml_context_base* opc_content_types_context::create_child_context(xmlns_id_t ns, xml_token_t name)
-+xml_context_base* opc_content_types_context::create_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/)
- {
- return nullptr;
- }
-
--void opc_content_types_context::end_child_context(xmlns_id_t ns, xml_token_t name, xml_context_base *child)
-+void opc_content_types_context::end_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/, xml_context_base* /*child*/)
- {
- }
-
-@@ -153,7 +153,7 @@ bool opc_content_types_context::end_element(xmlns_id_t ns, xml_token_t name)
- return pop_stack(ns, name);
- }
-
--void opc_content_types_context::characters(const pstring &str, bool transient)
-+void opc_content_types_context::characters(const pstring& /*str*/, bool /*transient*/)
- {
- }
-
-@@ -256,17 +256,17 @@ opc_relations_context::~opc_relations_context()
- {
- }
-
--bool opc_relations_context::can_handle_element(xmlns_id_t ns, xml_token_t name) const
-+bool opc_relations_context::can_handle_element(xmlns_id_t /*ns*/, xml_token_t /*name*/) const
- {
- return true;
- }
-
--xml_context_base* opc_relations_context::create_child_context(xmlns_id_t ns, xml_token_t name)
-+xml_context_base* opc_relations_context::create_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/)
- {
- return nullptr;
- }
-
--void opc_relations_context::end_child_context(xmlns_id_t ns, xml_token_t name, xml_context_base *child)
-+void opc_relations_context::end_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/, xml_context_base* /*child*/)
- {
- }
-
-@@ -302,7 +302,7 @@ bool opc_relations_context::end_element(xmlns_id_t ns, xml_token_t name)
- return pop_stack(ns, name);
- }
-
--void opc_relations_context::characters(const pstring &str, bool transient)
-+void opc_relations_context::characters(const pstring& /*str*/, bool /*transient*/)
- {
- }
-
-diff --git a/src/liborcus/orcus_json.cpp b/src/liborcus/orcus_json.cpp
-index 2b5967d5..69672190 100644
---- a/src/liborcus/orcus_json.cpp
-+++ b/src/liborcus/orcus_json.cpp
-@@ -137,7 +137,7 @@ public:
- push_node(json_map_tree::input_node_type::object);
- }
-
-- void object_key(const char* p, size_t len, bool transient)
-+ void object_key(const char* p, size_t len, bool /*transient*/)
- {
- m_walker.set_object_key(p, len);
- }
-@@ -168,7 +168,7 @@ public:
- pop_node(json_map_tree::input_node_type::value);
- }
-
-- void string(const char* p, size_t len, bool transient)
-+ void string(const char* p, size_t len, bool /*transient*/)
- {
- push_node(json_map_tree::input_node_type::value);
- commit_value(json_value(p, len));
-diff --git a/src/liborcus/orcus_xml_map_def.cpp b/src/liborcus/orcus_xml_map_def.cpp
-index 4c70e060..889dbcb0 100644
---- a/src/liborcus/orcus_xml_map_def.cpp
-+++ b/src/liborcus/orcus_xml_map_def.cpp
-@@ -43,9 +43,9 @@ public:
- xml_map_sax_handler(orcus_xml& app) : m_app(app) {}
-
- void doctype(const sax::doctype_declaration&) {}
-- void start_declaration(const pstring& name) {}
-+ void start_declaration(const pstring& /*name*/) {}
-
-- void end_declaration(const pstring& name)
-+ void end_declaration(const pstring& /*name*/)
- {
- m_attrs.clear();
- }
-diff --git a/src/liborcus/spreadsheet_interface.cpp b/src/liborcus/spreadsheet_interface.cpp
-index 87103233..985caf45 100644
---- a/src/liborcus/spreadsheet_interface.cpp
-+++ b/src/liborcus/spreadsheet_interface.cpp
-@@ -124,13 +124,13 @@ import_reference_resolver* import_factory::get_reference_resolver(formula_ref_co
- }
-
- import_pivot_cache_definition* import_factory::create_pivot_cache_definition(
-- orcus::spreadsheet::pivot_cache_id_t cache_id)
-+ orcus::spreadsheet::pivot_cache_id_t /*cache_id*/)
- {
- return nullptr;
- }
-
- import_pivot_cache_records* import_factory::create_pivot_cache_records(
-- orcus::spreadsheet::pivot_cache_id_t cache_id)
-+ orcus::spreadsheet::pivot_cache_id_t /*cache_id*/)
- {
- return nullptr;
- }
-diff --git a/src/liborcus/xls_xml_context.cpp b/src/liborcus/xls_xml_context.cpp
-index f5b8fe26..b2d6d398 100644
---- a/src/liborcus/xls_xml_context.cpp
-+++ b/src/liborcus/xls_xml_context.cpp
-@@ -90,17 +90,17 @@ xls_xml_data_context::xls_xml_data_context(
-
- xls_xml_data_context::~xls_xml_data_context() {}
-
--bool xls_xml_data_context::can_handle_element(xmlns_id_t ns, xml_token_t name) const
-+bool xls_xml_data_context::can_handle_element(xmlns_id_t /*ns*/, xml_token_t /*name*/) const
- {
- return true;
- }
-
--xml_context_base* xls_xml_data_context::create_child_context(xmlns_id_t ns, xml_token_t name)
-+xml_context_base* xls_xml_data_context::create_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/)
- {
- return nullptr;
- }
-
--void xls_xml_data_context::end_child_context(xmlns_id_t ns, xml_token_t name, xml_context_base* child)
-+void xls_xml_data_context::end_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/, xml_context_base* /*child*/)
- {
- }
-
-@@ -254,7 +254,7 @@ void xls_xml_data_context::reset()
- }
-
- void xls_xml_data_context::start_element_data(
-- const xml_token_pair_t& parent, const xml_attrs_t& attrs)
-+ const xml_token_pair_t& /*parent*/, const xml_attrs_t& attrs)
- {
- m_cell_type = ct_unknown;
- m_cell_string.clear();
-@@ -776,7 +776,7 @@ xml_context_base* xls_xml_context::create_child_context(xmlns_id_t ns, xml_token
- return nullptr;
- }
-
--void xls_xml_context::end_child_context(xmlns_id_t ns, xml_token_t name, xml_context_base* child)
-+void xls_xml_context::end_child_context(xmlns_id_t /*ns*/, xml_token_t /*name*/, xml_context_base* /*child*/)
- {
- }
-
-@@ -1217,7 +1217,7 @@ void xls_xml_context::characters(const pstring& str, bool /*transient*/)
- }
- }
-
--void xls_xml_context::start_element_borders(const xml_token_pair_t& parent, const xml_attrs_t& attrs)
-+void xls_xml_context::start_element_borders(const xml_token_pair_t& parent, const xml_attrs_t& /*attrs*/)
- {
- xml_element_expected(parent, NS_xls_xml_ss, XML_Style);
- m_current_style->borders.clear();
-diff --git a/src/liborcus/xls_xml_detection_handler.cpp b/src/liborcus/xls_xml_detection_handler.cpp
-index aaa1b148..2b18c8ee 100644
---- a/src/liborcus/xls_xml_detection_handler.cpp
-+++ b/src/liborcus/xls_xml_detection_handler.cpp
-@@ -36,7 +36,7 @@ public:
- return nullptr;
- }
-
-- virtual void start_element(xmlns_id_t ns, xml_token_t name, const::std::vector<xml_token_attr_t>& attrs)
-+ virtual void start_element(xmlns_id_t ns, xml_token_t name, const::std::vector<xml_token_attr_t>& /*attrs*/)
- {
- xml_token_pair_t parent = push_stack(ns, name);
- if (ns == NS_xls_xml_ss)
-diff --git a/src/liborcus/xlsx_drawing_context.cpp b/src/liborcus/xlsx_drawing_context.cpp
-index f7dc31ab..380d7852 100644
---- a/src/liborcus/xlsx_drawing_context.cpp
-+++ b/src/liborcus/xlsx_drawing_context.cpp
-@@ -41,7 +41,7 @@ void xlsx_drawing_context::end_child_context(xmlns_id_t /*ns*/, xml_token_t /*na
- {
- }
-
--void xlsx_drawing_context::start_element(xmlns_id_t ns, xml_token_t name, const::std::vector<xml_token_attr_t>& attrs)
-+void xlsx_drawing_context::start_element(xmlns_id_t ns, xml_token_t name, const::std::vector<xml_token_attr_t>& /*attrs*/)
- {
- xml_token_pair_t parent = push_stack(ns, name);
-
-diff --git a/src/liborcus/xlsx_sheet_context.cpp b/src/liborcus/xlsx_sheet_context.cpp
-index 669f604f..50018c32 100644
---- a/src/liborcus/xlsx_sheet_context.cpp
-+++ b/src/liborcus/xlsx_sheet_context.cpp
-@@ -845,7 +845,7 @@ void xlsx_sheet_context::push_raw_cell_value()
- }
-
- void xlsx_sheet_context::push_raw_cell_result(
-- range_formula_results& res, size_t row_offset, size_t col_offset, xlsx_session_data& session_data) const
-+ range_formula_results& res, size_t row_offset, size_t col_offset, xlsx_session_data& /*session_data*/) const
- {
- if (m_cur_value.empty())
- return;
-diff --git a/src/liborcus/xlsx_sheet_context_test.cpp b/src/liborcus/xlsx_sheet_context_test.cpp
-index 9cb0d2a5..11ec8b71 100644
---- a/src/liborcus/xlsx_sheet_context_test.cpp
-+++ b/src/liborcus/xlsx_sheet_context_test.cpp
-@@ -64,19 +64,19 @@ public:
- assert(formula == "A1:A2");
- }
-
-- virtual void set_result_bool(row_t row, col_t col, bool value) override
-+ virtual void set_result_bool(row_t, col_t, bool) override
- {
- }
-
-- virtual void set_result_empty(row_t row, col_t col) override
-+ virtual void set_result_empty(row_t, col_t) override
- {
- }
-
-- virtual void set_result_string(row_t row, col_t col, std::string_view) override
-+ virtual void set_result_string(row_t, col_t, std::string_view) override
- {
- }
-
-- virtual void set_result_value(row_t row, col_t col, double value) override
-+ virtual void set_result_value(row_t, col_t, double) override
- {
- }
-
-diff --git a/src/liborcus/xlsx_table_context.cpp b/src/liborcus/xlsx_table_context.cpp
-index e135f44d..d8c360df 100644
---- a/src/liborcus/xlsx_table_context.cpp
-+++ b/src/liborcus/xlsx_table_context.cpp
-@@ -317,7 +317,7 @@ bool xlsx_table_context::end_element(xmlns_id_t ns, xml_token_t name)
- return pop_stack(ns, name);
- }
-
--void xlsx_table_context::characters(const pstring& str, bool transient)
-+void xlsx_table_context::characters(const pstring& /*str*/, bool /*transient*/)
- {
- }
-
-diff --git a/src/liborcus/xml_structure_tree.cpp b/src/liborcus/xml_structure_tree.cpp
-index 9eaf3c07..5185049e 100644
---- a/src/liborcus/xml_structure_tree.cpp
-+++ b/src/liborcus/xml_structure_tree.cpp
-@@ -125,11 +125,11 @@ public:
-
- void doctype(const sax::doctype_declaration&) {}
-
-- void start_declaration(const pstring& name)
-+ void start_declaration(const pstring& /*name*/)
- {
- }
-
-- void end_declaration(const pstring& name)
-+ void end_declaration(const pstring& /*name*/)
- {
- m_attrs.clear();
- }
-@@ -185,7 +185,7 @@ public:
- m_stack.push_back(ref);
- }
-
-- void end_element(const sax_ns_parser_element& elem)
-+ void end_element(const sax_ns_parser_element& /*elem*/)
- {
- if (m_stack.empty())
- throw general_error("Element stack is empty.");
-diff --git a/src/liborcus/xpath_parser_test.cpp b/src/liborcus/xpath_parser_test.cpp
-index 12242f62..f67c0dc6 100644
---- a/src/liborcus/xpath_parser_test.cpp
-+++ b/src/liborcus/xpath_parser_test.cpp
-@@ -64,7 +64,7 @@ void test_attributes()
- assert(token.attribute);
- }
-
--int main(int argc, char** argv)
-+int main()
- {
- test_elements();
- test_attributes();
-diff --git a/src/orcus_env_dump.cpp b/src/orcus_env_dump.cpp
-index ad60927a..99f53718 100644
---- a/src/orcus_env_dump.cpp
-+++ b/src/orcus_env_dump.cpp
-@@ -13,7 +13,7 @@
- using std::cout;
- using std::endl;
-
--int main(int argc, char** argv)
-+int main()
- {
- cout << "CPU flags:" << endl;
- cout << " SSE 4.2: " << orcus::detail::cpu::has_sse42() << endl;
-diff --git a/src/orcus_test_json_mapped.cpp b/src/orcus_test_json_mapped.cpp
-index ed10a842..c504e156 100644
---- a/src/orcus_test_json_mapped.cpp
-+++ b/src/orcus_test_json_mapped.cpp
-@@ -88,7 +88,7 @@ void test_invalid_map_definition()
- }
- }
-
--int main(int argc, char** argv)
-+int main()
- {
- test_mapped_json_import();
- test_invalid_map_definition();
-diff --git a/src/orcus_test_xml.cpp b/src/orcus_test_xml.cpp
-index 2a44a8ac..de5197cf 100644
---- a/src/orcus_test_xml.cpp
-+++ b/src/orcus_test_xml.cpp
-@@ -85,7 +85,7 @@ const char* sax_parser_parse_only_test_dirs[] = {
- SRCDIR"/test/xml/parse-only/rss/"
- };
-
--void parse_file(dom::document_tree& tree, const char* filepath, string& strm)
-+void parse_file(dom::document_tree& tree, const char* filepath, std::string& /*strm*/)
- {
- cout << "testing " << filepath << endl;
- file_content content(filepath);
-diff --git a/src/orcus_test_xml_mapped.cpp b/src/orcus_test_xml_mapped.cpp
-index b90ea020..8e18cfda 100644
---- a/src/orcus_test_xml_mapped.cpp
-+++ b/src/orcus_test_xml_mapped.cpp
-@@ -66,7 +66,7 @@ void test_mapped_xml_import()
- { SRCDIR"/test/xml-mapped/nested-repeats-4", false },
- };
-
-- auto dump_xml_structure = [](string& dump_content, string& strm, const char* filepath, xmlns_context& cxt)
-+ auto dump_xml_structure = [](std::string& dump_content, std::string& /*strm*/, const char* filepath, xmlns_context& cxt)
- {
- file_content content(filepath);
- dom::document_tree tree(cxt);
-diff --git a/src/parser/sax_token_parser_test.cpp b/src/parser/sax_token_parser_test.cpp
-index 2647444c..6ff8c932 100644
---- a/src/parser/sax_token_parser_test.cpp
-+++ b/src/parser/sax_token_parser_test.cpp
-@@ -146,7 +146,7 @@ void test_unicode_string()
- {
- }
-
-- void characters(std::string_view val, bool transient)
-+ void characters(std::string_view val, bool /*transient*/)
- {
- std::cout << "charachters:" << std::endl;
- std::cout << val << std::endl;
-diff --git a/src/parser/sax_token_parser_thread.cpp b/src/parser/sax_token_parser_thread.cpp
-index b9166e3c..d21ae6d7 100644
---- a/src/parser/sax_token_parser_thread.cpp
-+++ b/src/parser/sax_token_parser_thread.cpp
-@@ -86,7 +86,7 @@ struct parser_thread::impl
- m_token_buffer.abort();
- }
-
-- void declaration(const orcus::xml_declaration_t& decl)
-+ void declaration(const orcus::xml_declaration_t& /*decl*/)
- {
- }
-
-diff --git a/src/parser/utf8.cpp b/src/parser/utf8.cpp
-index f3b264a7..e02d2244 100644
---- a/src/parser/utf8.cpp
-+++ b/src/parser/utf8.cpp
-@@ -231,7 +231,7 @@ bool parse_3b_second_char(uint8_t c1, uint8_t c2, uint8_t c3)
- }
-
- // [#x10000-#xEFFFF]: F0 90 80 80 -> F3 AF BF BF
--bool parse_4b_char(uint8_t c1, uint8_t c2, uint8_t c3, uint8_t c4)
-+bool parse_4b_char(uint8_t c1, uint8_t c2, uint8_t /*c3*/, uint8_t /*c4*/)
- {
- // F0 90 80 80 -> F3 AF BF BF
- // - F0 90 xx xx -> F0 xx xx xx
-diff --git a/src/parser/utf8_test.cpp b/src/parser/utf8_test.cpp
-index 78b7656a..88dcd3e8 100644
---- a/src/parser/utf8_test.cpp
-+++ b/src/parser/utf8_test.cpp
-@@ -159,7 +159,7 @@ void test_xml_name_char()
- assert(res);
- }
-
--int main(int argc, char** argv)
-+int main()
- {
- test_xml_name_start_char();
- test_xml_name_char();
-diff --git a/src/parser/xml_writer_test.cpp b/src/parser/xml_writer_test.cpp
-index e5a22357..8687db32 100644
---- a/src/parser/xml_writer_test.cpp
-+++ b/src/parser/xml_writer_test.cpp
-@@ -28,7 +28,7 @@ void test_encoded_content()
- {
- std::ostringstream os_content;
-
-- void characters(std::string_view val, bool transient)
-+ void characters(std::string_view val, bool /*transient*/)
- {
- os_content << val;
- }
-diff --git a/src/python/cell.cpp b/src/python/cell.cpp
-index 536b5c4d..16374b8f 100644
---- a/src/python/cell.cpp
-+++ b/src/python/cell.cpp
-@@ -115,7 +115,7 @@ int tp_init(pyobj_cell* self, PyObject* args, PyObject* kwargs)
- return 0;
- }
-
--PyObject* cell_get_formula_tokens(PyObject* self, PyObject* args, PyObject* kwargs)
-+PyObject* cell_get_formula_tokens(PyObject* self, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- pyobj_cell* obj = reinterpret_cast<pyobj_cell*>(self);
- cell_data& data = *obj->data;
-diff --git a/src/python/document.cpp b/src/python/document.cpp
-index b06463bc..02a2dc49 100644
---- a/src/python/document.cpp
-+++ b/src/python/document.cpp
-@@ -69,12 +69,12 @@ PyObject* tp_new(PyTypeObject* type, PyObject* /*args*/, PyObject* /*kwargs*/)
- return reinterpret_cast<PyObject*>(self);
- }
-
--int tp_init(pyobj_document* self, PyObject* /*args*/, PyObject* /*kwargs*/)
-+int tp_init(pyobj_document* /*self*/, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- return 0;
- }
-
--PyObject* doc_get_named_expressions(PyObject* self, PyObject* args, PyObject* kwargs)
-+PyObject* doc_get_named_expressions(PyObject* self, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- const ss::document& doc = *t(self)->data->m_doc;
- const ixion::model_context& cxt = doc.get_model_context();
-diff --git a/src/python/formula_tokens.cpp b/src/python/formula_tokens.cpp
-index 569d1a7a..3eece2d4 100644
---- a/src/python/formula_tokens.cpp
-+++ b/src/python/formula_tokens.cpp
-@@ -56,7 +56,7 @@ void tp_dealloc(pyobj_formula_tokens* self)
- Py_TYPE(self)->tp_free(reinterpret_cast<PyObject*>(self));
- }
-
--int tp_init(pyobj_formula_tokens* self, PyObject* /*args*/, PyObject* /*kwargs*/)
-+int tp_init(pyobj_formula_tokens* /*self*/, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- return 0;
- }
-diff --git a/src/python/global.cpp b/src/python/global.cpp
-index 7a21f960..f8623e0d 100644
---- a/src/python/global.cpp
-+++ b/src/python/global.cpp
-@@ -16,7 +16,7 @@ void set_python_exception(PyObject* type, const std::exception& e)
- {
- std::ostringstream os;
- os << "C++ exception caught: " << e.what();
-- PyErr_SetString(PyExc_RuntimeError, os.str().data());
-+ PyErr_SetString(type, os.str().data());
- }
-
- PyObject* get_python_enum_value(const char* enum_class_name, const char* value_name)
-diff --git a/src/python/json.cpp b/src/python/json.cpp
-index fdeea10c..f22cf666 100644
---- a/src/python/json.cpp
-+++ b/src/python/json.cpp
-@@ -177,7 +177,7 @@ public:
- }
- }
-
-- void object_key(const char* p, size_t len, bool transient)
-+ void object_key(const char* p, size_t len, bool /*transient*/)
- {
- parser_stack& cur = m_stack.back();
- cur.key = PyUnicode_FromStringAndSize(p, len);
-@@ -213,7 +213,7 @@ public:
- push_value(Py_None);
- }
-
-- void string(const char* p, size_t len, bool transient)
-+ void string(const char* p, size_t len, bool /*transient*/)
- {
- push_value(PyUnicode_FromStringAndSize(p, len));
- }
-diff --git a/src/python/named_expression.cpp b/src/python/named_expression.cpp
-index 8edeeacf..1402daa0 100644
---- a/src/python/named_expression.cpp
-+++ b/src/python/named_expression.cpp
-@@ -81,7 +81,7 @@ PyObject* tp_new(PyTypeObject* type, PyObject* /*args*/, PyObject* /*kwargs*/)
- return reinterpret_cast<PyObject*>(self);
- }
-
--PyObject* ne_get_formula_tokens(PyObject* self, PyObject* args, PyObject* kwargs)
-+PyObject* ne_get_formula_tokens(PyObject* self, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- named_exp_data& data = *t(self)->data;
- if (!data.tokens)
-diff --git a/src/python/named_expressions.cpp b/src/python/named_expressions.cpp
-index 235389ac..6faffee5 100644
---- a/src/python/named_expressions.cpp
-+++ b/src/python/named_expressions.cpp
-@@ -44,7 +44,7 @@ inline pyobj_named_exps* t(PyObject* self)
- return reinterpret_cast<pyobj_named_exps*>(self);
- }
-
--PyObject* named_exps_names(PyObject* self, PyObject* args, PyObject* kwargs)
-+PyObject* named_exps_names(PyObject* self, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- named_exps_data& data = *t(self)->data;
- PyObject* s = PySet_New(nullptr);
-@@ -64,7 +64,7 @@ void tp_dealloc(pyobj_named_exps* self)
- Py_TYPE(self)->tp_free(reinterpret_cast<PyObject*>(self));
- }
-
--int tp_init(pyobj_named_exps* self, PyObject* /*args*/, PyObject* /*kwargs*/)
-+int tp_init(pyobj_named_exps* /*self*/, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- return 0;
- }
-diff --git a/src/python/sheet.cpp b/src/python/sheet.cpp
-index 0ccc39bd..38b96241 100644
---- a/src/python/sheet.cpp
-+++ b/src/python/sheet.cpp
-@@ -85,12 +85,12 @@ PyObject* tp_new(PyTypeObject* type, PyObject* /*args*/, PyObject* /*kwargs*/)
- return reinterpret_cast<PyObject*>(self);
- }
-
--int tp_init(pyobj_sheet* self, PyObject* /*args*/, PyObject* /*kwargs*/)
-+int tp_init(pyobj_sheet* /*self*/, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- return 0;
- }
-
--PyObject* sheet_get_rows(PyObject* self, PyObject* args, PyObject* kwargs)
-+PyObject* sheet_get_rows(PyObject* self, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- PyTypeObject* sr_type = get_sheet_rows_type();
-
-@@ -210,7 +210,7 @@ PyObject* sheet_write(PyObject* self, PyObject* args, PyObject* kwargs)
- return Py_None;
- }
-
--PyObject* sheet_get_named_expressions(PyObject* self, PyObject* args, PyObject* kwargs)
-+PyObject* sheet_get_named_expressions(PyObject* self, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- const ss::document& doc = *t(self)->data->m_doc;
- ss::sheet_t si = t(self)->data->m_sheet->get_index();
-diff --git a/src/python/sheet_rows.cpp b/src/python/sheet_rows.cpp
-index 7fa869ea..be495894 100644
---- a/src/python/sheet_rows.cpp
-+++ b/src/python/sheet_rows.cpp
-@@ -49,7 +49,7 @@ PyObject* sheet_rows_new(PyTypeObject* type, PyObject* /*args*/, PyObject* /*kwa
- return reinterpret_cast<PyObject*>(self);
- }
-
--int sheet_rows_init(pyobj_sheet_rows* self, PyObject* /*args*/, PyObject* /*kwargs*/)
-+int sheet_rows_init(pyobj_sheet_rows* /*self*/, PyObject* /*args*/, PyObject* /*kwargs*/)
- {
- return 0;
- }
-diff --git a/src/spreadsheet/factory_sheet.cpp b/src/spreadsheet/factory_sheet.cpp
-index 3e04295c..61541174 100644
---- a/src/spreadsheet/factory_sheet.cpp
-+++ b/src/spreadsheet/factory_sheet.cpp
-@@ -74,19 +74,19 @@ void import_data_table::reset()
- {
- }
-
--void import_data_table::set_type(data_table_type_t type)
-+void import_data_table::set_type(data_table_type_t /*type*/)
- {
- }
-
--void import_data_table::set_range(const range_t& range)
-+void import_data_table::set_range(const range_t& /*range*/)
- {
- }
-
--void import_data_table::set_first_reference(std::string_view ref, bool deleted)
-+void import_data_table::set_first_reference(std::string_view /*ref*/, bool /*deleted*/)
- {
- }
-
--void import_data_table::set_second_reference(std::string_view ref, bool deleted)
-+void import_data_table::set_second_reference(std::string_view /*ref*/, bool /*deleted*/)
- {
- }
-
-@@ -193,7 +193,7 @@ void import_array_formula::set_range(const range_t& range)
- }
- }
-
--void import_array_formula::set_formula(formula_grammar_t grammar, std::string_view formula)
-+void import_array_formula::set_formula(formula_grammar_t /*grammar*/, std::string_view formula)
- {
- const ixion::formula_name_resolver* resolver =
- m_doc.get_formula_name_resolver(spreadsheet::formula_ref_context_t::global);
-@@ -223,12 +223,12 @@ void import_array_formula::set_result_value(row_t row, col_t col, double value)
- m_result_mtx.set(row, col, value);
- }
-
--void import_array_formula::set_result_string(row_t row, col_t col, std::string_view value)
-+void import_array_formula::set_result_string(row_t /*row*/, col_t /*col*/, std::string_view /*value*/)
- {
- // TODO : handle this
- }
-
--void import_array_formula::set_result_empty(row_t row, col_t col)
-+void import_array_formula::set_result_empty(row_t /*row*/, col_t /*col*/)
- {
- // TODO : handle this
- }
-@@ -282,7 +282,7 @@ void import_formula::set_position(row_t row, col_t col)
- m_col = col;
- }
-
--void import_formula::set_formula(formula_grammar_t grammar, std::string_view formula)
-+void import_formula::set_formula(formula_grammar_t /*grammar*/, std::string_view formula)
- {
- if (m_row < 0 || m_col < 0)
- return;
-@@ -331,7 +331,7 @@ void import_formula::set_result_string(std::string_view value)
- }
-
- void import_formula::set_result_empty() {}
--void import_formula::set_result_bool(bool value) {}
-+void import_formula::set_result_bool(bool /*value*/) {}
-
- void import_formula::commit()
- {
-diff --git a/src/spreadsheet/sheet_impl.cpp b/src/spreadsheet/sheet_impl.cpp
-index 72e521c5..c2e7ecb6 100644
---- a/src/spreadsheet/sheet_impl.cpp
-+++ b/src/spreadsheet/sheet_impl.cpp
-@@ -12,7 +12,7 @@
-
- namespace orcus { namespace spreadsheet {
-
--sheet_impl::sheet_impl(document& doc, sheet& sh, sheet_t sheet_index) :
-+sheet_impl::sheet_impl(document& doc, sheet& /*sh*/, sheet_t sheet_index) :
- m_doc(doc),
- m_col_widths(0, m_doc.get_sheet_size().columns, get_default_column_width()),
- m_row_heights(0, m_doc.get_sheet_size().rows, get_default_row_height()),
---
-2.25.1
-
diff --git a/external/liborcus/unused-variables.patch.1 b/external/liborcus/unused-variables.patch.1
deleted file mode 100644
index 77b88fae288c..000000000000
--- a/external/liborcus/unused-variables.patch.1
+++ /dev/null
@@ -1,24 +0,0 @@
-From 5fccafa297ce2439ee850e13ccbeea3edb1750af Mon Sep 17 00:00:00 2001
-From: Kohei Yoshida <kohei.yoshida@gmail.com>
-Date: Tue, 2 Nov 2021 20:42:45 -0400
-Subject: [PATCH] Unused variables.
-
----
- include/orcus/sax_parser.hpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/include/orcus/sax_parser.hpp b/include/orcus/sax_parser.hpp
-index 24b1e8ea..15e8d917 100644
---- a/include/orcus/sax_parser.hpp
-+++ b/include/orcus/sax_parser.hpp
-@@ -539,7 +539,6 @@ template<typename _Handler, typename _Config>
- void sax_parser<_Handler,_Config>::attribute()
- {
- sax::parser_attribute attr;
-- std::string_view attr_ns_name, attr_name, attr_value;
- attribute_name(attr.ns, attr.name);
-
- #if ORCUS_DEBUG_SAX_PARSER
---
-2.25.1
-
diff --git a/external/liborcus/windows-constants-hack.patch b/external/liborcus/windows-constants-hack.patch
index 51aabfa1fb47..e86c74a722f3 100644
--- a/external/liborcus/windows-constants-hack.patch
+++ b/external/liborcus/windows-constants-hack.patch
@@ -8,8 +8,8 @@ index ae571f5..539ce18 100644
-#include "constants.inl"
+#define ORCUS_MAJOR_VERSION 0
-+#define ORCUS_MINOR_VERSION 16
-+#define ORCUS_MICRO_VERSION 0
++#define ORCUS_MINOR_VERSION 17
++#define ORCUS_MICRO_VERSION 2
namespace orcus {