diff options
Diffstat (limited to 'external')
-rw-r--r-- | external/liborcus/ExternalPackage_liborcus.mk | 8 | ||||
-rw-r--r-- | external/liborcus/ExternalProject_liborcus.mk | 4 | ||||
-rw-r--r-- | external/liborcus/Library_orcus-parser.mk | 1 | ||||
-rw-r--r-- | external/liborcus/UnpackedTarball_liborcus.mk | 9 | ||||
-rw-r--r-- | external/liborcus/allow-utf-8-in-xml-names.patch | 301 | ||||
-rw-r--r-- | external/liborcus/boost-filesystem.patch.1 | 41 | ||||
-rw-r--r-- | external/liborcus/inc/pch/precompiled_orcus-parser.hxx | 1 | ||||
-rw-r--r-- | external/liborcus/inc/pch/precompiled_orcus.hxx | 1 | ||||
-rw-r--r-- | external/liborcus/include.patch.0 | 30 | ||||
-rw-r--r-- | external/liborcus/remove-unused-parameters.patch.1 | 1209 | ||||
-rw-r--r-- | external/liborcus/std-get-busted.patch.1 | 418 | ||||
-rw-r--r-- | external/liborcus/unused-variables.patch.1 | 24 | ||||
-rw-r--r-- | external/mdds/UnpackedTarball_mdds.mk | 6 | ||||
-rw-r--r-- | external/mdds/Wunused-but-set-variable.patch | 46 | ||||
-rw-r--r-- | external/mdds/remove-more-unused-parameters.patch.1 | 42 | ||||
-rw-r--r-- | external/mdds/remove-unused-parameters.patch.1 | 93 |
16 files changed, 1840 insertions, 394 deletions
diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk index 747691809d2e..13d61a8fecbd 100644 --- a/external/liborcus/ExternalPackage_liborcus.mk +++ b/external/liborcus/ExternalPackage_liborcus.mk @@ -12,11 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,liborcus,liborcus)) $(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus)) ifeq ($(OS),MACOSX) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.0.dylib,src/liborcus/.libs/liborcus-0.16.0.dylib)) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.0.dylib,src/parser/.libs/liborcus-parser-0.16.0.dylib)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.17.0.dylib,src/liborcus/.libs/liborcus-0.17.0.dylib)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.17.0.dylib,src/parser/.libs/liborcus-parser-0.17.0.dylib)) else ifeq ($(DISABLE_DYNLOADING),) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.so.0,src/liborcus/.libs/liborcus-0.16.so.0.0.0)) -$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.so.0,src/parser/.libs/liborcus-parser-0.16.so.0.0.0)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.17.so.0,src/liborcus/.libs/liborcus-0.17.so.0.0.0)) +$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.17.so.0,src/parser/.libs/liborcus-parser-0.17.so.0.0.0)) endif # vim: set noet sw=4 ts=4: diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk index c7dd76ebfee5..76a2a6afb1f2 100644 --- a/external/liborcus/ExternalProject_liborcus.mk +++ b/external/liborcus/ExternalProject_liborcus.mk @@ -123,8 +123,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) : $(MAKE) \ $(if $(filter MACOSX,$(OS)),\ && $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \ - $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.16.0.dylib \ - $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.16.0.dylib \ + $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.17.0.dylib \ + $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.17.0.dylib \ ) \ ) $(call gb_Trace_EndRange,liborcus,EXTERNAL) diff --git a/external/liborcus/Library_orcus-parser.mk b/external/liborcus/Library_orcus-parser.mk index 4e46591b98fe..f26657756273 100644 --- a/external/liborcus/Library_orcus-parser.mk +++ b/external/liborcus/Library_orcus-parser.mk @@ -62,6 +62,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus-parser,\ UnpackedTarball/liborcus/src/parser/string_pool \ UnpackedTarball/liborcus/src/parser/tokens \ UnpackedTarball/liborcus/src/parser/types \ + UnpackedTarball/liborcus/src/parser/utf8 \ UnpackedTarball/liborcus/src/parser/xml_namespace \ UnpackedTarball/liborcus/src/parser/xml_writer \ UnpackedTarball/liborcus/src/parser/yaml_parser_base \ diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk index 710d126a8c17..3d2cec42e55e 100644 --- a/external/liborcus/UnpackedTarball_liborcus.mk +++ b/external/liborcus/UnpackedTarball_liborcus.mk @@ -20,12 +20,11 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ external/liborcus/gcc9.patch.0 \ external/liborcus/libtool.patch.0 \ external/liborcus/fix-pch.patch.0 \ - external/liborcus/include.patch.0 \ external/liborcus/liborcus_newline.patch.1 \ -)) - -$(eval $(call gb_UnpackedTarball_add_patches,liborcus,\ - external/liborcus/allow-utf-8-in-xml-names.patch \ + 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 \ )) ifeq ($(OS),WNT) diff --git a/external/liborcus/allow-utf-8-in-xml-names.patch b/external/liborcus/allow-utf-8-in-xml-names.patch deleted file mode 100644 index e3430881053d..000000000000 --- a/external/liborcus/allow-utf-8-in-xml-names.patch +++ /dev/null @@ -1,301 +0,0 @@ -From fa9b6845ed583f5486372c6ffbc59e02a140d303 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@centrum.cz> -Date: Thu, 29 Apr 2021 19:12:20 +0200 -Subject: [PATCH] allow utf-8 in xml names (#137) - -https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-NameStartChar -has a list of all allowed characters. ---- - include/orcus/sax_parser_base.hpp | 3 + - src/orcus_test_xml.cpp | 1 + - src/parser/sax_parser_base.cpp | 201 ++++++++++++++++++++++++++++-- - test/xml/non-ascii/check.txt | 4 + - test/xml/non-ascii/input.xml | 4 + - 5 files changed, 201 insertions(+), 12 deletions(-) - create mode 100644 test/xml/non-ascii/check.txt - create mode 100644 test/xml/non-ascii/input.xml - -diff --git a/include/orcus/sax_parser_base.hpp b/include/orcus/sax_parser_base.hpp -index 9939e133..8394c07b 100644 ---- a/include/orcus/sax_parser_base.hpp -+++ b/include/orcus/sax_parser_base.hpp -@@ -218,6 +218,9 @@ protected: - void element_name(parser_element& elem, std::ptrdiff_t begin_pos); - void attribute_name(pstring& attr_ns, pstring& attr_name); - void characters_with_encoded_char(cell_buffer& buf); -+ -+ int is_name_char(); -+ int is_name_start_char(); - }; - - }} -diff --git a/src/orcus_test_xml.cpp b/src/orcus_test_xml.cpp -index 8a864d68..35f3dea7 100644 ---- a/src/orcus_test_xml.cpp -+++ b/src/orcus_test_xml.cpp -@@ -77,6 +77,7 @@ const char* sax_parser_test_dirs[] = { - SRCDIR"/test/xml/no-decl-1/", - SRCDIR"/test/xml/underscore-identifier/", - SRCDIR"/test/xml/self-closing-root/", -+ SRCDIR"/test/xml/non-ascii/", - }; - - const char* sax_parser_parse_only_test_dirs[] = { -diff --git a/src/parser/sax_parser_base.cpp b/src/parser/sax_parser_base.cpp -index 97aa34ec..db51ff94 100644 ---- a/src/parser/sax_parser_base.cpp -+++ b/src/parser/sax_parser_base.cpp -@@ -328,20 +328,182 @@ bool parser_base::value(pstring& str, bool decode) - return transient_stream(); - } - -+// https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-NameStartChar -+// Return length of the character in bytes, otherwise 0. -+template< bool only_start_name > -+static -+int is_name_char_helper(const char* mp_char, const char* mp_end) -+{ -+ const unsigned char first = mp_char[0]; -+ // Note that ':' technically is an allowed name character, but it is handled separately -+ // e.g. in element_name(), so here pretend it isn't. -+ if (/*first == ':' ||*/ first == '_' || (first >= 'A' && first <= 'Z') || (first >= 'a' && first <= 'z')) -+ return 1; -+ if (!only_start_name && (first == '-' || first == '.' || (first >= '0' && first <= '9'))) -+ return 1; -+ -+ if (first < 0x7f) // other ascii characters are not allowed -+ return 0; -+ if (mp_end < mp_char + 1) -+ return 0; -+ const unsigned char second = mp_char[1]; -+ -+ // 0xb7 = 0xc2 0xb7 utf-8 -+ if (!only_start_name && first == 0xc2 && second == 0xb7) -+ return 2; -+ -+ // [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] -+ // 0xc0 = 0xc3 0x80 utf-8 -+ if (first < 0xc3) -+ return 0; -+ // xd7 = 0xc3 0x97 utf-8, 0xf7 = 0xc3 0xb7 utf-8 -+ if (first == 0xc3) -+ return second >= 0x80 && second <= 0xff && second != 0x97 && second != 0xb7 ? 2 : 0; -+ // 0x2ff = 0xcb 0xbf utf-8, 0x300 = 0xcc 0x80 utf-8 -+ if (first >= 0xc4 && first <= 0xcb) -+ return 2; -+ -+ // [#x0300-#x036F] -+ // 0x0300 = 0xcc 0x80 utf-8, 0x36f = 0xcd 0xaf utf-8 -+ if (!only_start_name && first == 0xcc) -+ return 2; -+ if (!only_start_name && first == 0xcd && second <= 0xaf) -+ return 2; -+ -+ // [#x370-#x37D] | [#x37F-#x1FFF] -+ // 0x370 = 0xcd 0xb0 utf-8, 0x37e = 0xcd 0xbe -+ if (first < 0xcd) -+ return 0; -+ if (first == 0xcd) -+ return second >= 0xb0 && second != 0xbe ? 2 : 0; -+ // 0x07ff = 0xdf 0xbf utf-8 (the last 2-byte utf-8) -+ if (first <= 0xdf) -+ return 2; -+ -+ if (first < 0xe0) -+ return 0; -+ if (mp_end < mp_char + 2) -+ return 0; -+ const unsigned char third = mp_char[2]; -+ -+ // 0x0800 = 0xe0 0xa0 0x80 utf-8, 0x1fff = 0xe1 0xbf 0xbf utf-8, 0x2000 = 0xe2 0x80 0x80 -+ if (first == 0xe0 || first == 0xe1) -+ return 3; -+ -+ // [#x200C-#x200D] -+ // 0x200c = 0xe2 0x80 0x8c utf-8, 0x200d = 0xe2 0x80 0x8d utf-8 -+ if (first < 0xe2) -+ return 0; -+ if (first == 0xe2 && second == 0x80 && (third == 0x8c || third == 0x8d)) -+ return 3; -+ -+ // [#x203F-#x2040] -+ // 0x203f = 0xe2 0x80 0xbf utf-8, 0x2040 = 0xe2 0x81 0x80 utf-8 -+ if (!only_start_name && first == 0xe2 && second == 0x80 && third == 0xbf) -+ return 3; -+ if (!only_start_name && first == 0xe2 && second == 0x81 && third == 0x80) -+ return 3; -+ -+ // [#x2070-#x218F] -+ // 0x2070 = 0xe2 0x81 0xb0 utf-8, 0x218f = 0xe2 0x86 0x8f utf-8 -+ if (first == 0xe2) -+ { -+ if (second < 0x81) -+ return 0; -+ if (second >= 0x81 && second < 0x86) -+ return 3; -+ if (second == 0x86 && third <= 0x8f) -+ return 3; -+ } -+ -+ // [#x2C00-#x2FEF] -+ // 0x2c00 = 0xe2 0xb0 0x80 utf-8, 0x2fef = 0xe2 0xbf 0xaf utf-8 -+ if (first == 0xe2) -+ { -+ if (second < 0xb0) -+ return 0; -+ if (second < 0xbf) -+ return 3; -+ if (second == 0xbf && third <= 0xaf) -+ return 3; -+ } -+ -+ // [#x3001-#xD7FF] -+ // 0x3001 = 0xe3 0x80 0x81 utf-8, 0xd7ff = 0xed 0x9f 0xbf utf-8, 0xd800 = 0xed 0xa0 0x80 utf-8 -+ if (first < 0xe3) -+ return 0; -+ if (first < 0xed) -+ return 3; -+ if (first == 0xed && second <= 0x9f) -+ return 3; -+ -+ // [#xF900-#xFDCF] -+ // 0xf900 = 0xef 0xa4 0x80 utf-8, 0xfdcf = 0xef 0xb7 0x8f utf-8 -+ if (first == 0xef) -+ { -+ if (second < 0xa4) -+ return 0; -+ if (second < 0xb7) -+ return 3; -+ if (second == 0xb7 && third <= 0x8f) -+ return 3; -+ } -+ -+ // [#xFDF0-#xFFFD] -+ // 0xfdf0 = 0xef 0xb7 0xb0 utf-8, 0xfffd = 0xef 0xbf 0xbd utf-8 -+ if (first == 0xef) -+ { -+ assert(second >= 0xb7); -+ if (second == 0xb7 && third < 0xb0) -+ return 0; -+ if (second < 0xbe) -+ return 3; -+ if (second == 0xbf && third <= 0xbd) -+ return 3; -+ } -+ -+ if (first < 0xf0) -+ return 0; -+ if (mp_end < mp_char + 3) -+ return 0; -+ // const unsigned char fourth = mp_char[3]; -+ -+ // [#x10000-#xEFFFF] -+ // 0x10000 = 0xf0 0x90 0x80 0x80 utf-8, 0xeffff = 0xf3 0xaf 0xbf 0xbf utf-8, -+ // 0xf0000 = 0xf3 0xb0 0x80 0x80 utf-8 -+ if (first >= 0xf0 && first < 0xf2) -+ return 4; -+ if (first == 0xf3 && second < 0xb0) -+ return 4; -+ -+ return 0; -+} -+ -+int parser_base::is_name_char() -+{ -+ return is_name_char_helper<false>(mp_char, mp_end); -+} -+ -+int parser_base::is_name_start_char() -+{ -+ return is_name_char_helper<true>(mp_char, mp_end); -+} -+ - void parser_base::name(pstring& str) - { - const char* p0 = mp_char; -- char c = cur_char(); -- if (!is_alpha(c) && c != '_') -+ int skip = is_name_start_char(); -+ if (skip == 0) - { - ::std::ostringstream os; -- os << "name must begin with an alphabet, but got this instead '" << c << "'"; -+ os << "name must begin with an alphabet, but got this instead '" << cur_char() << "'"; - throw malformed_xml_error(os.str(), offset()); - } -+ next(skip); - - #if defined(__ORCUS_CPU_FEATURES) && defined(__SSE4_2__) - -- const __m128i match = _mm_loadu_si128((const __m128i*)"azAZ09--__"); -+ const __m128i match = _mm_loadu_si128((const __m128i*)"azAZ09--__.."); - const int mode = _SIDD_LEAST_SIGNIFICANT | _SIDD_CMP_RANGES | _SIDD_UBYTE_OPS | _SIDD_NEGATIVE_POLARITY; - - size_t n_total = available_size(); -@@ -351,20 +513,35 @@ void parser_base::name(pstring& str) - __m128i char_block = _mm_loadu_si128((const __m128i*)mp_char); - - int n = std::min<size_t>(16u, n_total); -- int r = _mm_cmpestri(match, 10, char_block, n, mode); -+ int r = _mm_cmpestri(match, 12, char_block, n, mode); - mp_char += r; // Move the current char position. -+ n_total -= r; - -- if (r < 16) -- // No need to move to the next segment. Stop here. -- break; -+ if (r < 16 && n_total) -+ { -+ // There is a character that does not match the SSE-based ASCII-only check. -+ // It may either by an ascii character that is not allowed, in which case stop, -+ // or it may possibly be an allowed utf-8 character, in which case move over it -+ // using the slow function. -+ skip = is_name_char(); -+ if(skip == 0) -+ break; -+ next(skip); -+ n_total -= skip; -+ } - -- // Skip 16 chars to the next segment. -- n_total -= 16; - } -+ cur_char_checked(); // check end of xml stream - - #else -- while (is_alpha(c) || is_numeric(c) || is_name_char(c)) -- c = next_char_checked(); -+ for(;;) -+ { -+ cur_char_checked(); // check end of xml stream -+ skip = is_name_char(); -+ if(skip == 0) -+ break; -+ next(skip); -+ } - #endif - - str = pstring(p0, mp_char-p0); -diff --git a/test/xml/non-ascii/check.txt b/test/xml/non-ascii/check.txt -new file mode 100644 -index 00000000..77b7c003 ---- /dev/null -+++ b/test/xml/non-ascii/check.txt -@@ -0,0 +1,4 @@ -+/Myšička -+/Myšička@jméno="Žužla" -+/Myšička/Nožičky -+/Myšička/Nožičky"4" -diff --git a/test/xml/non-ascii/input.xml b/test/xml/non-ascii/input.xml -new file mode 100644 -index 00000000..c516744b ---- /dev/null -+++ b/test/xml/non-ascii/input.xml -@@ -0,0 +1,4 @@ -+<?xml version="1.0" encoding="UTF-8"?> -+<Myšička jméno="Žužla"> -+ <Nožičky>4</Nožičky> -+</Myšička> --- -2.26.2 - diff --git a/external/liborcus/boost-filesystem.patch.1 b/external/liborcus/boost-filesystem.patch.1 new file mode 100644 index 000000000000..14128b4e1c67 --- /dev/null +++ b/external/liborcus/boost-filesystem.patch.1 @@ -0,0 +1,41 @@ +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/inc/pch/precompiled_orcus-parser.hxx b/external/liborcus/inc/pch/precompiled_orcus-parser.hxx index 1427148445d1..a8047d5c9e0a 100644 --- a/external/liborcus/inc/pch/precompiled_orcus-parser.hxx +++ b/external/liborcus/inc/pch/precompiled_orcus-parser.hxx @@ -69,7 +69,6 @@ #include <orcus/json_parser_thread.hpp> #include <orcus/parser_base.hpp> #include <orcus/parser_global.hpp> -#include <orcus/pstring.hpp> #include <orcus/sax_parser_base.hpp> #include <orcus/sax_token_parser.hpp> #include <orcus/sax_token_parser_thread.hpp> diff --git a/external/liborcus/inc/pch/precompiled_orcus.hxx b/external/liborcus/inc/pch/precompiled_orcus.hxx index 9edb13aec79b..9543b44eb7c5 100644 --- a/external/liborcus/inc/pch/precompiled_orcus.hxx +++ b/external/liborcus/inc/pch/precompiled_orcus.hxx @@ -81,7 +81,6 @@ #include <orcus/orcus_xml.hpp> #include <orcus/parser_base.hpp> #include <orcus/parser_global.hpp> -#include <orcus/pstring.hpp> #include <orcus/sax_ns_parser.hpp> #include <orcus/sax_parser.hpp> #include <orcus/sax_parser_base.hpp> diff --git a/external/liborcus/include.patch.0 b/external/liborcus/include.patch.0 deleted file mode 100644 index a3275b1b13fa..000000000000 --- a/external/liborcus/include.patch.0 +++ /dev/null @@ -1,30 +0,0 @@ ---- src/liborcus/orcus_xlsx.cpp -+++ src/liborcus/orcus_xlsx.cpp -@@ -32,6 +32,7 @@ - - #include <cstdlib> - #include <iostream> -+#include <limits> - #include <string> - #include <cstring> - #include <sstream> ---- src/liborcus/xls_xml_context.cpp -+++ src/liborcus/xls_xml_context.cpp -@@ -16,6 +16,7 @@ - #include <mdds/sorted_string_map.hpp> - - #include <iostream> -+#include <limits> - - using namespace std; - namespace ss = orcus::spreadsheet; ---- src/liborcus/xlsx_revision_context.cpp -+++ src/liborcus/xlsx_revision_context.cpp -@@ -16,6 +16,7 @@ - #include "orcus/global.hpp" - - #include <iostream> -+#include <limits> - - using namespace std; - diff --git a/external/liborcus/remove-unused-parameters.patch.1 b/external/liborcus/remove-unused-parameters.patch.1 new file mode 100644 index 000000000000..251ed804acaf --- /dev/null +++ b/external/liborcus/remove-unused-parameters.patch.1 @@ -0,0 +1,1209 @@ +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/std-get-busted.patch.1 b/external/liborcus/std-get-busted.patch.1 new file mode 100644 index 000000000000..40b839f65f47 --- /dev/null +++ b/external/liborcus/std-get-busted.patch.1 @@ -0,0 +1,418 @@ +From f917ed284c52ae12fb0d752c17141f355158470e Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida <kohei.yoshida@gmail.com> +Date: Tue, 2 Nov 2021 22:07:51 -0400 +Subject: [PATCH] std::get<T>(...) may be flaky with some version of clang. + +As workaround, use boost::variant and boost::get. + +c.f. https://stackoverflow.com/questions/52521388/stdvariantget-does-not-compile-with-apple-llvm-10-0 +--- + include/orcus/config.hpp | 4 ++-- + include/orcus/css_selector.hpp | 5 +++-- + include/orcus/json_parser_thread.hpp | 4 ++-- + include/orcus/sax_token_parser_thread.hpp | 5 +++-- + include/orcus/spreadsheet/pivot.hpp | 7 ++++--- + include/orcus/threaded_json_parser.hpp | 8 ++++---- + include/orcus/threaded_sax_token_parser.hpp | 8 ++++---- + src/liborcus/css_document_tree.cpp | 2 +- + src/liborcus/css_selector.cpp | 12 ++++++------ + src/liborcus/orcus_csv.cpp | 4 ++-- + src/orcus_csv_main.cpp | 2 +- + src/orcus_test_csv.cpp | 8 ++++---- + src/orcus_test_xlsx.cpp | 4 ++-- + src/parser/json_parser_thread.cpp | 8 ++++---- + src/python/sheet_rows.cpp | 3 +++ + 15 files changed, 45 insertions(+), 39 deletions(-) + +diff --git a/include/orcus/config.hpp b/include/orcus/config.hpp +index 17743e6a..fe9a7d81 100644 +--- a/include/orcus/config.hpp ++++ b/include/orcus/config.hpp +@@ -12,7 +12,7 @@ + #include "orcus/types.hpp" + + #include <string> +-#include <variant> ++#include <boost/variant.hpp> + + namespace orcus { + +@@ -37,7 +37,7 @@ struct ORCUS_DLLPUBLIC config + }; + + // TODO: add config for other formats as needed. +- using data_type = std::variant<csv_config>; ++ using data_type = boost::variant<csv_config>; + + /** + * Enable or disable runtime debug output to stdout or stderr. +diff --git a/include/orcus/css_selector.hpp b/include/orcus/css_selector.hpp +index 1e41d544..dafeddf5 100644 +--- a/include/orcus/css_selector.hpp ++++ b/include/orcus/css_selector.hpp +@@ -12,11 +12,12 @@ + #include "css_types.hpp" + + #include <ostream> +-#include <variant> + #include <vector> + #include <unordered_set> + #include <unordered_map> + ++#include <boost/variant.hpp> ++ + namespace orcus { + + struct ORCUS_DLLPUBLIC css_simple_selector_t +@@ -73,7 +74,7 @@ struct ORCUS_DLLPUBLIC css_selector_t + */ + struct ORCUS_DLLPUBLIC css_property_value_t + { +- using value_type = std::variant<std::string_view, css::rgba_color_t, css::hsla_color_t>; ++ using value_type = boost::variant<std::string_view, css::rgba_color_t, css::hsla_color_t>; + + css::property_value_t type; + value_type value; +diff --git a/include/orcus/json_parser_thread.hpp b/include/orcus/json_parser_thread.hpp +index 8328ef11..565008da 100644 +--- a/include/orcus/json_parser_thread.hpp ++++ b/include/orcus/json_parser_thread.hpp +@@ -14,7 +14,7 @@ + #include <memory> + #include <vector> + #include <ostream> +-#include <variant> ++#include <boost/variant.hpp> + + namespace orcus { + +@@ -47,7 +47,7 @@ enum class parse_token_t + + struct ORCUS_PSR_DLLPUBLIC parse_token + { +- using value_type = std::variant<std::string_view, parse_error_value_t, double>; ++ using value_type = boost::variant<std::string_view, parse_error_value_t, double>; + + parse_token_t type; + value_type value; +diff --git a/include/orcus/sax_token_parser_thread.hpp b/include/orcus/sax_token_parser_thread.hpp +index b3645735..e0842013 100644 +--- a/include/orcus/sax_token_parser_thread.hpp ++++ b/include/orcus/sax_token_parser_thread.hpp +@@ -12,10 +12,11 @@ + #include "types.hpp" + + #include <memory> +-#include <variant> + #include <vector> + #include <ostream> + ++#include <boost/variant.hpp> ++ + namespace orcus { + + class tokens; +@@ -36,7 +37,7 @@ enum class parse_token_t + + struct ORCUS_PSR_DLLPUBLIC parse_token + { +- using value_type = std::variant<std::string_view, parse_error_value_t, const xml_token_element_t*>; ++ using value_type = boost::variant<std::string_view, parse_error_value_t, const xml_token_element_t*>; + + parse_token_t type; + value_type value; +diff --git a/include/orcus/spreadsheet/pivot.hpp b/include/orcus/spreadsheet/pivot.hpp +index dee25596..fa091160 100644 +--- a/include/orcus/spreadsheet/pivot.hpp ++++ b/include/orcus/spreadsheet/pivot.hpp +@@ -15,9 +15,10 @@ + #include <memory> + #include <vector> + #include <limits> +-#include <variant> + #include <optional> + ++#include <boost/variant.hpp> ++ + namespace ixion { + + struct abs_range_t; +@@ -36,7 +37,7 @@ using pivot_cache_indices_t = std::vector<size_t>; + + struct ORCUS_SPM_DLLPUBLIC pivot_cache_record_value_t + { +- using value_type = std::variant<bool, double, std::size_t, std::string_view, date_time_t>; ++ using value_type = boost::variant<bool, double, std::size_t, std::string_view, date_time_t>; + + enum class record_type + { +@@ -66,7 +67,7 @@ using pivot_cache_record_t = std::vector<pivot_cache_record_value_t>; + + struct ORCUS_SPM_DLLPUBLIC pivot_cache_item_t + { +- using value_type = std::variant<bool, double, std::string_view, date_time_t, error_value_t>; ++ using value_type = boost::variant<bool, double, std::string_view, date_time_t, error_value_t>; + + enum class item_type + { +diff --git a/include/orcus/threaded_json_parser.hpp b/include/orcus/threaded_json_parser.hpp +index 51cdaced..3bf6e591 100644 +--- a/include/orcus/threaded_json_parser.hpp ++++ b/include/orcus/threaded_json_parser.hpp +@@ -151,23 +151,23 @@ void threaded_json_parser<_Handler>::process_tokens(json::parse_tokens_t& tokens + m_handler.null(); + break; + case json::parse_token_t::number: +- m_handler.number(std::get<double>(t.value)); ++ m_handler.number(boost::get<double>(t.value)); + break; + case json::parse_token_t::object_key: + { +- auto s = std::get<std::string_view>(t.value); ++ auto s = boost::get<std::string_view>(t.value); + m_handler.object_key(s.data(), s.size(), false); + break; + } + case json::parse_token_t::string: + { +- auto s = std::get<std::string_view>(t.value); ++ auto s = boost::get<std::string_view>(t.value); + m_handler.string(s.data(), s.size(), false); + break; + } + case json::parse_token_t::parse_error: + { +- auto v = std::get<parse_error_value_t>(t.value); ++ auto v = boost::get<parse_error_value_t>(t.value); + throw json::parse_error(std::string{v.str}, v.offset); + } + case json::parse_token_t::unknown: +diff --git a/include/orcus/threaded_sax_token_parser.hpp b/include/orcus/threaded_sax_token_parser.hpp +index 59ea967a..1b389be2 100644 +--- a/include/orcus/threaded_sax_token_parser.hpp ++++ b/include/orcus/threaded_sax_token_parser.hpp +@@ -131,25 +131,25 @@ void threaded_sax_token_parser<_Handler>::process_tokens(const sax::parse_tokens + { + case sax::parse_token_t::start_element: + { +- const auto* elem = std::get<const xml_token_element_t*>(t.value); ++ const auto* elem = boost::get<const xml_token_element_t*>(t.value); + m_handler.start_element(*elem); + break; + } + case sax::parse_token_t::end_element: + { +- const auto* elem = std::get<const xml_token_element_t*>(t.value); ++ const auto* elem = boost::get<const xml_token_element_t*>(t.value); + m_handler.end_element(*elem); + break; + } + case sax::parse_token_t::characters: + { +- auto s = std::get<std::string_view>(t.value); ++ auto s = boost::get<std::string_view>(t.value); + m_handler.characters(s, false); + break; + } + case sax::parse_token_t::parse_error: + { +- auto v = std::get<parse_error_value_t>(t.value); ++ auto v = boost::get<parse_error_value_t>(t.value); + throw sax::malformed_xml_error(std::string{v.str}, v.offset); + } + default: +diff --git a/src/liborcus/css_document_tree.cpp b/src/liborcus/css_document_tree.cpp +index 46bf7e91..4b44edff 100644 +--- a/src/liborcus/css_document_tree.cpp ++++ b/src/liborcus/css_document_tree.cpp +@@ -317,7 +317,7 @@ public: + { + // String value needs interning. + css_property_value_t interned = v; +- auto s = std::get<std::string_view>(v.value); ++ auto s = boost::get<std::string_view>(v.value); + interned.value = m_sp.intern(s).first; + m_dest.push_back(interned); + break; +diff --git a/src/liborcus/css_selector.cpp b/src/liborcus/css_selector.cpp +index b7b63f37..de522062 100644 +--- a/src/liborcus/css_selector.cpp ++++ b/src/liborcus/css_selector.cpp +@@ -155,7 +155,7 @@ std::ostream& operator<< (std::ostream& os, const css_property_value_t& v) + { + case css::property_value_t::hsl: + { +- auto c = std::get<css::hsla_color_t>(v.value); ++ auto c = boost::get<css::hsla_color_t>(v.value); + os << "hsl(" + << (int)c.hue << sep + << (int)c.saturation << sep +@@ -165,7 +165,7 @@ std::ostream& operator<< (std::ostream& os, const css_property_value_t& v) + } + case css::property_value_t::hsla: + { +- auto c = std::get<css::hsla_color_t>(v.value); ++ auto c = boost::get<css::hsla_color_t>(v.value); + os << "hsla(" + << (int)c.hue << sep + << (int)c.saturation << sep +@@ -176,7 +176,7 @@ std::ostream& operator<< (std::ostream& os, const css_property_value_t& v) + } + case css::property_value_t::rgb: + { +- auto c = std::get<css::rgba_color_t>(v.value); ++ auto c = boost::get<css::rgba_color_t>(v.value); + os << "rgb(" + << (int)c.red << sep + << (int)c.green << sep +@@ -186,7 +186,7 @@ std::ostream& operator<< (std::ostream& os, const css_property_value_t& v) + } + case css::property_value_t::rgba: + { +- auto c = std::get<css::rgba_color_t>(v.value); ++ auto c = boost::get<css::rgba_color_t>(v.value); + os << "rgba(" + << (int)c.red << sep + << (int)c.green << sep +@@ -196,10 +196,10 @@ std::ostream& operator<< (std::ostream& os, const css_property_value_t& v) + break; + } + case css::property_value_t::string: +- os << std::get<std::string_view>(v.value); ++ os << boost::get<std::string_view>(v.value); + break; + case css::property_value_t::url: +- os << "url(" << std::get<std::string_view>(v.value) << ")"; ++ os << "url(" << boost::get<std::string_view>(v.value) << ")"; + break; + case css::property_value_t::none: + default: +diff --git a/src/liborcus/orcus_csv.cpp b/src/liborcus/orcus_csv.cpp +index 5c71bcf5..637308ab 100644 +--- a/src/liborcus/orcus_csv.cpp ++++ b/src/liborcus/orcus_csv.cpp +@@ -63,7 +63,7 @@ public: + // 0. + if (m_row >= mp_sheet->get_sheet_size().rows) + { +- auto csv = std::get<config::csv_config>(m_app_config.data); ++ auto csv = boost::get<config::csv_config>(m_app_config.data); + + if (!csv.split_to_multiple_sheets) + throw max_row_size_reached(); +@@ -93,7 +93,7 @@ public: + + void cell(const char* p, size_t n, bool transient) + { +- auto csv = std::get<config::csv_config>(m_app_config.data); ++ auto csv = boost::get<config::csv_config>(m_app_config.data); + + if (m_sheet == 0 && size_t(m_row) < csv.header_row_size) + { +diff --git a/src/orcus_csv_main.cpp b/src/orcus_csv_main.cpp +index 4f6d7173..446f2684 100644 +--- a/src/orcus_csv_main.cpp ++++ b/src/orcus_csv_main.cpp +@@ -45,7 +45,7 @@ public: + + virtual void map_to_config(config& opt, const po::variables_map& vm) override + { +- auto csv = std::get<config::csv_config>(opt.data); ++ auto csv = boost::get<config::csv_config>(opt.data); + + if (vm.count("row-header")) + csv.header_row_size = vm["row-header"].as<size_t>(); +diff --git a/src/orcus_test_csv.cpp b/src/orcus_test_csv.cpp +index 310ace9d..0b9ba994 100644 +--- a/src/orcus_test_csv.cpp ++++ b/src/orcus_test_csv.cpp +@@ -95,8 +95,8 @@ void test_csv_import_split_sheet() + std::cout << "checking " << path << "..." << std::endl; + + config conf(format_t::csv); +- std::get<config::csv_config>(conf.data).header_row_size = 0; +- std::get<config::csv_config>(conf.data).split_to_multiple_sheets = true; ++ boost::get<config::csv_config>(conf.data).header_row_size = 0; ++ boost::get<config::csv_config>(conf.data).split_to_multiple_sheets = true; + + // Set the row size to 11 to make sure the split occurs. + spreadsheet::range_size_t ss{11, 4}; +@@ -126,7 +126,7 @@ void test_csv_import_split_sheet() + path = dir; + path.append("input.csv"); + doc.clear(); +- std::get<config::csv_config>(conf.data).header_row_size = 1; ++ boost::get<config::csv_config>(conf.data).header_row_size = 1; + { + spreadsheet::import_factory factory(doc); + orcus_csv app(&factory); +@@ -149,7 +149,7 @@ void test_csv_import_split_sheet() + + // Re-import it again, but this time disable the splitting. The data should + // get trucated on the first sheet. +- std::get<config::csv_config>(conf.data).split_to_multiple_sheets = false; ++ boost::get<config::csv_config>(conf.data).split_to_multiple_sheets = false; + + path = dir; + path.append("input.csv"); +diff --git a/src/orcus_test_xlsx.cpp b/src/orcus_test_xlsx.cpp +index 807c61e4..632fb1e7 100644 +--- a/src/orcus_test_xlsx.cpp ++++ b/src/orcus_test_xlsx.cpp +@@ -1154,8 +1154,8 @@ void test_xlsx_pivot_group_by_numbers() + for (const pivot_cache_item_t& item : fld->items) + { + assert(item.type == pivot_cache_item_t::item_type::numeric); +- assert(*fld->min_value <= std::get<double>(item.value)); +- assert(std::get<double>(item.value) <= *fld->max_value); ++ assert(*fld->min_value <= boost::get<double>(item.value)); ++ assert(boost::get<double>(item.value) <= *fld->max_value); + } + + // This field is also gruop field with 7 numeric intervals of width 2. +diff --git a/src/parser/json_parser_thread.cpp b/src/parser/json_parser_thread.cpp +index 36bbe6e6..65fb6255 100644 +--- a/src/parser/json_parser_thread.cpp ++++ b/src/parser/json_parser_thread.cpp +@@ -237,19 +237,19 @@ std::ostream& operator<< (std::ostream& os, const parse_tokens_t& tokens) + os << "- null" << endl; + break; + case parse_token_t::number: +- os << "- number (v=" << std::get<double>(t.value) << ")" << endl; ++ os << "- number (v=" << boost::get<double>(t.value) << ")" << endl; + break; + case parse_token_t::object_key: +- os << "- object_key (v=" << std::get<std::string_view>(t.value) << ")" << endl; ++ os << "- object_key (v=" << boost::get<std::string_view>(t.value) << ")" << endl; + break; + case parse_token_t::parse_error: + { +- auto v = std::get<parse_error_value_t>(t.value); ++ auto v = boost::get<parse_error_value_t>(t.value); + os << "- parse_error (v=" << v.str << ", offset=" << v.offset << ")" << endl; + break; + } + case parse_token_t::string: +- os << "- string (" << std::get<std::string_view>(t.value) << ")" << endl; ++ os << "- string (" << boost::get<std::string_view>(t.value) << ")" << endl; + break; + case parse_token_t::unknown: + os << "- unknown" << endl; +diff --git a/src/python/sheet_rows.cpp b/src/python/sheet_rows.cpp +index be495894..0d21ba71 100644 +--- a/src/python/sheet_rows.cpp ++++ b/src/python/sheet_rows.cpp +@@ -135,7 +135,10 @@ PyObject* sheet_rows_iternext(PyObject* self) + break; + } + case ixion::celltype_t::unknown: ++ { ++ PyErr_SetString(PyExc_RuntimeError, "Unknown cell type."); + break; ++ } + } + + if (!obj) +-- +2.25.1 + diff --git a/external/liborcus/unused-variables.patch.1 b/external/liborcus/unused-variables.patch.1 new file mode 100644 index 000000000000..77b88fae288c --- /dev/null +++ b/external/liborcus/unused-variables.patch.1 @@ -0,0 +1,24 @@ +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/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk index 3c664336430b..cf5bd48a1eb6 100644 --- a/external/mdds/UnpackedTarball_mdds.mk +++ b/external/mdds/UnpackedTarball_mdds.mk @@ -13,11 +13,9 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0)) -# * external/mdds/Wunused-but-set-variable.patch upstream at -# <https://gitlab.com/mdds/mdds/-/merge_requests/29> "-Werror,-Wunused-but-set-variable (Clang 13 -# trunk)": $(eval $(call gb_UnpackedTarball_add_patches,mdds,\ - external/mdds/Wunused-but-set-variable.patch \ + external/mdds/remove-unused-parameters.patch.1 \ + external/mdds/remove-more-unused-parameters.patch.1 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/mdds/Wunused-but-set-variable.patch b/external/mdds/Wunused-but-set-variable.patch deleted file mode 100644 index ba28cb18eded..000000000000 --- a/external/mdds/Wunused-but-set-variable.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- include/mdds/multi_type_vector_def.inl -+++ include/mdds/multi_type_vector_def.inl -@@ -843,18 +843,12 @@ - typename multi_type_vector<_CellBlockFunc, _EventFunc>::iterator - multi_type_vector<_CellBlockFunc, _EventFunc>::push_back_empty() - { -- size_type last_block_size = 0; -- if (!m_blocks.empty()) -- last_block_size = m_blocks.back().m_size; -- - size_type block_index = m_blocks.size(); -- size_type start_pos = m_cur_size; - - if (!append_empty(1)) - { - // Last empty block has been extended. - --block_index; -- start_pos -= last_block_size; - } - - // Get the iterator of the last block. -@@ -3923,8 +3917,6 @@ - size_type offset = start_row - start_row_in_block1; - size_type end_row_in_block2 = start_row_in_block2 + blk2->m_size - 1; - -- size_type start_row_itr = start_row_in_block1; -- - // Initially set to erase blocks between block 1 and block 2 non-inclusive at either end. - typename blocks_type::iterator it_erase_begin = m_blocks.begin() + block_index1 + 1; - typename blocks_type::iterator it_erase_end = m_blocks.begin() + block_index2; -@@ -3948,7 +3940,6 @@ - data_blk.mp_data = blk0->mp_data; - blk0->mp_data = nullptr; - -- start_row_itr -= blk0->m_size; - data_blk.m_size += blk0->m_size; - data_blk.m_position = blk0->m_position; - -@@ -3967,7 +3958,6 @@ - element_block_func::resize_block(*blk1->mp_data, offset); - } - blk1->m_size = offset; -- start_row_itr += offset; - } - - if (blk0_copied) diff --git a/external/mdds/remove-more-unused-parameters.patch.1 b/external/mdds/remove-more-unused-parameters.patch.1 new file mode 100644 index 000000000000..c0c29471c9ed --- /dev/null +++ b/external/mdds/remove-more-unused-parameters.patch.1 @@ -0,0 +1,42 @@ +From cc24c84d35274aead5afe574c87ecd6368aa5e2a Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida <kohei.yoshida@gmail.com> +Date: Tue, 2 Nov 2021 18:24:30 -0400 +Subject: [PATCH] More unused parameters. + +I personally cannot reproduce the warnings. But The android x86 build +of LibreOffice generates the following build warnings: + +In file included from /home/tdf/lode/jenkins/workspace/android_x86/svl/source/misc/gridprinter.cxx:16: +In file included from /home/tdf/lode/jenkins/workspace/android_x86/workdir/UnpackedTarball/mdds/include/mdds/multi_type_matrix.hpp:37: +In file included from /home/tdf/lode/jenkins/workspace/android_x86/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector.hpp:31: +In file included from /home/tdf/lode/jenkins/workspace/android_x86/workdir/UnpackedTarball/mdds/include/mdds/./multi_type_vector/soa/main.hpp:35: +/home/tdf/lode/jenkins/workspace/android_x86/workdir/UnpackedTarball/mdds/include/mdds/./multi_type_vector/soa/./block_util.hpp:49:27: error: unused parameter 'block_store' [-Werror,-Wunused-parameter] + void operator()(Blks& block_store, int64_t start_block_index, int64_t delta) const + ^ +/home/tdf/lode/jenkins/workspace/android_x86/workdir/UnpackedTarball/mdds/include/mdds/./multi_type_vector/soa/./block_util.hpp:49:48: error: unused parameter 'start_block_index' [-Werror,-Wunused-parameter] + void operator()(Blks& block_store, int64_t start_block_index, int64_t delta) const + ^ +/home/tdf/lode/jenkins/workspace/android_x86/workdir/UnpackedTarball/mdds/include/mdds/./multi_type_vector/soa/./block_util.hpp:49:75: error: unused parameter 'delta' [-Werror,-Wunused-parameter] + void operator()(Blks& block_store, int64_t start_block_index, int64_t delta) const + ^ +3 errors generated. +--- + include/mdds/multi_type_vector/soa/block_util.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/mdds/multi_type_vector/soa/block_util.hpp b/include/mdds/multi_type_vector/soa/block_util.hpp +index d10ee67..73ba27c 100644 +--- a/include/mdds/multi_type_vector/soa/block_util.hpp ++++ b/include/mdds/multi_type_vector/soa/block_util.hpp +@@ -46,7 +46,7 @@ namespace detail { + template<typename Blks, lu_factor_t F> + struct adjust_block_positions + { +- void operator()(Blks& block_store, int64_t start_block_index, int64_t delta) const ++ void operator()(Blks& /*block_store*/, int64_t /*start_block_index*/, int64_t /*delta*/) const + { + static_assert(invalid_static_int<F>, "The loop-unrolling factor must be one of 0, 4, 8, 16, or 32."); + } +-- +2.25.1 + diff --git a/external/mdds/remove-unused-parameters.patch.1 b/external/mdds/remove-unused-parameters.patch.1 new file mode 100644 index 000000000000..ebfc94fbf107 --- /dev/null +++ b/external/mdds/remove-unused-parameters.patch.1 @@ -0,0 +1,93 @@ +From 695e4c73fb55b1002237b0a22f13162c5c91aa68 Mon Sep 17 00:00:00 2001 +From: Kohei Yoshida <kohei.yoshida@gmail.com> +Date: Mon, 1 Nov 2021 14:54:36 -0400 +Subject: [PATCH] Remove unused parameter warnings in public headers. + +--- + include/mdds/multi_type_vector/util.hpp | 10 ++++++++-- + include/mdds/trie_map_def.inl | 12 ++++++------ + 2 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/include/mdds/multi_type_vector/util.hpp b/include/mdds/multi_type_vector/util.hpp +index d21e302..a1cb1f9 100644 +--- a/include/mdds/multi_type_vector/util.hpp ++++ b/include/mdds/multi_type_vector/util.hpp +@@ -51,7 +51,10 @@ struct empty_event_func + * + * @param block pointer to the acquired element block instance. + */ +- void element_block_acquired(const base_element_block* block) {} ++ void element_block_acquired(const base_element_block* block) ++ { ++ (void)block; ++ } + + /** + * Callback function for element block release events. This gets called +@@ -61,7 +64,10 @@ struct empty_event_func + * + * @param block pointer to the element block instance being released. + */ +- void element_block_released(const base_element_block* block) {} ++ void element_block_released(const base_element_block* block) ++ { ++ (void)block; ++ } + }; + + /** +diff --git a/include/mdds/trie_map_def.inl b/include/mdds/trie_map_def.inl +index 49e6de0..be18aec 100644 +--- a/include/mdds/trie_map_def.inl ++++ b/include/mdds/trie_map_def.inl +@@ -1004,7 +1004,7 @@ packed_trie_map<_KeyTrait,_ValueT>::packed_trie_map(const packed_trie_map& other + { + packed_trie_map& m_parent; + +- void node(const uintptr_t* node_pos, key_unit_type c, size_t depth, size_t index_size) ++ void node(const uintptr_t* node_pos, key_unit_type /*c*/, size_t /*depth*/, size_t /*index_size*/) + { + uintptr_t value_ptr = *node_pos; + +@@ -1315,13 +1315,13 @@ void packed_trie_map<_KeyTrait,_ValueT>::save_state(std::ostream& os) const + } + + /** first element in the buffer. */ +- void root_offset(size_t i, const uintptr_t& v) const ++ void root_offset(size_t /*i*/, const uintptr_t& v) const + { + write(v); + } + + /** first element in each node section. */ +- void node_value(size_t i, const uintptr_t& v) const ++ void node_value(size_t /*i*/, const uintptr_t& v) const + { + const value_type* p = reinterpret_cast<const value_type*>(v); + if (p) +@@ -1348,19 +1348,19 @@ void packed_trie_map<_KeyTrait,_ValueT>::save_state(std::ostream& os) const + * second element in each node section that stores the size of + * the child data sub-section. + */ +- void node_index_size(size_t i, const uintptr_t& v) const ++ void node_index_size(size_t /*i*/, const uintptr_t& v) const + { + write(v); + } + + /** element that stores the key value for child node. */ +- void node_child_key(size_t i, const uintptr_t& v) const ++ void node_child_key(size_t /*i*/, const uintptr_t& v) const + { + write(v); + } + + /** element that stores the relative offset of the child node. */ +- void node_child_offset(size_t i, const uintptr_t& v) const ++ void node_child_offset(size_t /*i*/, const uintptr_t& v) const + { + write(v); + } +-- +2.25.1 + |