summaryrefslogtreecommitdiff
path: root/storage/xtradb/ibuf
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2016-11-25 06:09:00 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2016-11-25 09:09:51 +0200
commit8da33e3a868e7ab4472823f8f3bfab3d5cd1833e (patch)
treeb255d46a4c0afe7c2ad6396eda024989ebea65be /storage/xtradb/ibuf
parent1d8eafbeafbc4a77153d6ceb974dbbeff543e648 (diff)
downloadmariadb-git-8da33e3a868e7ab4472823f8f3bfab3d5cd1833e.tar.gz
MDEV-11349 (1/2) Fix some clang 4.0 warnings
In InnoDB and XtraDB functions that declare pointer parameters as nonnull, remove nullness checks, because GCC would optimize them away anyway. Use #ifdef instead of #if when checking for a configuration flag. Clang says that left shifts of negative values are undefined. So, use ~0U instead of ~0 in a number of macros. Some functions that were defined as UNIV_INLINE were declared as UNIV_INTERN. Consistently use the same type of linkage. ibuf_merge_or_delete_for_page() could pass bitmap_page=NULL to buf_page_print(), conflicting with the __attribute__((nonnull)).
Diffstat (limited to 'storage/xtradb/ibuf')
-rw-r--r--storage/xtradb/ibuf/ibuf0ibuf.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/storage/xtradb/ibuf/ibuf0ibuf.cc b/storage/xtradb/ibuf/ibuf0ibuf.cc
index 13597d38433..c1d735eecdd 100644
--- a/storage/xtradb/ibuf/ibuf0ibuf.cc
+++ b/storage/xtradb/ibuf/ibuf0ibuf.cc
@@ -4732,8 +4732,14 @@ ibuf_merge_or_delete_for_page(
bitmap_page = ibuf_bitmap_get_map_page(space, page_no,
zip_size, &mtr);
- buf_page_print(bitmap_page, 0,
- BUF_PAGE_PRINT_NO_CRASH);
+ if (bitmap_page == NULL)
+ {
+ fputs("InnoDB: cannot retrieve bitmap page\n",
+ stderr);
+ } else {
+ buf_page_print(bitmap_page, 0,
+ BUF_PAGE_PRINT_NO_CRASH);
+ }
ibuf_mtr_commit(&mtr);
fputs("\nInnoDB: Dump of the page:\n", stderr);