From 9e58705a7f9728f10b2e0f0c9adc6e6ecff7486e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 31 May 2019 10:40:00 -0400 Subject: [PATCH] Make our perfect hash functions be valid C++. While C is happy to cast "const void *" to "const unsigned char *" silently, C++ insists on an explicit cast. Since we put these functions into header files, cpluspluscheck whines about that. Add the cast to pacify it. Discussion: https://postgr.es/m/b517ec3918d645eb950505eac8dd434e@gaz-is.ru --- src/tools/PerfectHash.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/PerfectHash.pm b/src/tools/PerfectHash.pm index bd339e38a2..54f5d4e994 100644 --- a/src/tools/PerfectHash.pm +++ b/src/tools/PerfectHash.pm @@ -131,7 +131,7 @@ sub generate_hash_function } $f .= sprintf "\n" if ($nhash % 8 != 0); $f .= sprintf "\t};\n\n"; - $f .= sprintf "\tconst unsigned char *k = key;\n"; + $f .= sprintf "\tconst unsigned char *k = (const unsigned char *) key;\n"; $f .= sprintf "\tsize_t\t\tkeylen = %d;\n", $options{fixed_key_length} if (defined $options{fixed_key_length}); $f .= sprintf "\tuint32\t\ta = %d;\n", $hash_seed1;