Hi, Vicentiu! On Dec 19, Vicentiu Ciorbaru wrote:
revision-id: 64149590c47d1cf6b1b227d8c90bdc23d20a8956 (mariadb-5.5.47-8-g6414959) parent(s): f89c9fc4b7b5d82c79775cb848225900b45a6b79 author: Vicențiu Ciorbaru committer: Vicențiu Ciorbaru timestamp: 2015-12-19 14:14:10 +0200 message:
MDEV-7526: TokuDB doesn't build on OS X
This patch fixes another compilation error caused by specifying attribute nonnull for all the parameters of the copyout function. This is incorrect as the function actually gets called with null parameters indirectly and thus only the output parameter should be nonnull.
diff --git a/storage/tokudb/ft-index/util/dmt.h b/storage/tokudb/ft-index/util/dmt.h index d4b032f..43e44df 100644 --- a/storage/tokudb/ft-index/util/dmt.h +++ b/storage/tokudb/ft-index/util/dmt.h @@ -679,16 +679,16 @@ class dmt { __attribute__((nonnull)) void rebalance(subtree *const subtree);
- __attribute__((nonnull)) + __attribute__((nonnull(3))) static void copyout(uint32_t *const outlen, dmtdata_t *const out, const dmt_node *const n);
Where is copyout called with the null parameter? In 10.0 they've fixed it differently, it seems E.g. if (value != nullptr) { copyout(value, &this->d.a.values[best_zero]); } May be we'd better use the upstream fix? Regards, Sergei Chief Architect MariaDB and security@mariadb.org -- Vote for my Percona Live 2016 talks: https://www.percona.com/live/data-performance-conference-2016/sessions/maria... https://www.percona.com/live/data-performance-conference-2016/sessions/maria...