backout 21539073/21539091 - not invited s11u3-sru
authorMike Sullivan <Mike.Sullivan@Oracle.COM>
Sat, 25 Jun 2016 11:17:54 -0700
branchs11u3-sru
changeset 6285 8e22d153c3d9
parent 6284 71199f3a4dcd
child 6296 7bc41d30dd23
backout 21539073/21539091 - not invited
components/mysql-5-6/Makefile
components/mysql-5-6/Solaris/mysql_56
components/mysql-5-6/mysql-56.p5m
components/mysql-5-6/mysql-56client.p5m
components/mysql-5-6/mysql-56lib.p5m
components/mysql-5-6/mysql-56test.p5m
components/mysql-5-6/patches/bug22552923.patch
components/mysql-5-6/patches/bug22932576.patch
components/mysql-5-6/patches/bug23022999.patch
--- a/components/mysql-5-6/Makefile	Sat Jun 25 10:48:59 2016 -0700
+++ b/components/mysql-5-6/Makefile	Sat Jun 25 11:17:54 2016 -0700
@@ -18,31 +18,21 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME        = mysql
-COMPONENT_VERSION     = 5.6.29
+COMPONENT_VERSION     = 5.6.21
 COMPONENT_SRC         = $(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE     = $(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH= \
-         sha256:6ac85b75b2dfa8c232725dda25469df37bf4e48b408cc0978d0dfc34c25a817f
-COMPONENT_ARCHIVE_URL = http://cdn.mysql.com/Downloads/MySQL-5.6/$(COMPONENT_ARCHIVE)
+         sha256:ea4daf6a8f4b1a9c62e416249a08fbdcbf686667d738004ef82044def96feb7c
+COMPONENT_ARCHIVE_URL = http://downloads.mysql.com/archives/mysql-5.6/$(COMPONENT_ARCHIVE)
 COMPONENT_PROJECT_URL = http://dev.mysql.com/ 
 COMPONENT_BUGDB       = database/mysql
-
-# Using the latest SunStudio to use the GCC C++ runtime library
-SPRO_VROOT =    $(SPRO_ROOT)/solarisstudio12.4
-
-# Keeping SunStudio first in path
-PATH=$(SPRO_VROOT)/bin:/usr/bin:/usr/gnu/bin
-
-#We use cp(1) instead of cloney because we use TAR to copy files and the TAR 
-#used doesn't handle long links
-CLONEY = echo
-COMPONENT_PRE_BUILD_ACTION +=  $(CP) -rp $(SOURCE_DIR)/* $(@D);
+COMPILER              = gcc
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/justmake.mk
@@ -64,10 +54,8 @@
 CMAKE_LIBDIR.64     = lib/$(MACH64)
 CMAKE_PLUGINDIR.32  = lib/plugin
 CMAKE_PLUGINDIR.64  = lib/$(MACH64)/plugin
-CMAKE_CFLAGS.32     = -m32
 CMAKE_CFLAGS.64     = -m64
-CMAKE_CXXFLAGS.32   = "-m32 -xnorunpath -std=c++03"
-CMAKE_CXXFLAGS.64   = "-m64 -xnorunpath -std=c++03"
+CMAKE_CXXFLAGS.64   = -m64
 
 # Providing component specific build options to cmake
 CMAKE_OPTIONS += -DBUILD_CONFIG=mysql_release
@@ -95,13 +83,11 @@
 CMAKE_OPTIONS += -DCMAKE_C_COMPILER=$(CC)
 CMAKE_OPTIONS += -DCMAKE_C_FLAGS=$(CMAKE_CFLAGS.$(BITS))
 CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS=$(CMAKE_CXXFLAGS.$(BITS))
-
 CMAKE_OPTIONS += '-DCOMPILATION_COMMENT=MySQL Community Server (GPL)'
 CMAKE_OPTIONS += -DFEATURE_SET=community
-CMAKE_OPTIONS += -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE
 
 COMPONENT_PRE_BUILD_ACTION += cd $(@D);
-COMPONENT_PRE_BUILD_ACTION += export LDFLAGS="$(CMAKE_CXXFLAGS.$(BITS))";
+COMPONENT_PRE_BUILD_ACTION += export LDFLAGS=$(CMAKE_CXXFLAGS.$(BITS));
 COMPONENT_PRE_BUILD_ACTION += echo Running cmake with $(CMAKE_OPTIONS);
 COMPONENT_PRE_BUILD_ACTION += $(CMAKE) . $(CMAKE_OPTIONS);
 
@@ -116,7 +102,7 @@
 REQUIRED_PACKAGES += runtime/perl-512
 REQUIRED_PACKAGES += shell/ksh93
 REQUIRED_PACKAGES += system/core-os
-REQUIRED_PACKAGES += system/library/c++-runtime
+REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime
 REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
 REQUIRED_PACKAGES += system/library/math
--- a/components/mysql-5-6/Solaris/mysql_56	Sat Jun 25 10:48:59 2016 -0700
+++ b/components/mysql-5-6/Solaris/mysql_56	Sat Jun 25 11:17:54 2016 -0700
@@ -19,7 +19,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 . /lib/svc/share/smf_include.sh
@@ -41,7 +41,6 @@
 MYSQLBIN=`getproparg mysql/bin`
 MYSQLDATA=`getproparg mysql/data`
 PIDFILE=${MYSQLDATA}/`/usr/bin/uname -n`.pid
-LOG_ERROR=${MYSQLDATA}/`/usr/bin/uname -n`.err
 
 if [ -z ${MYSQLCNF} ]; then
         echo "mysql/cnf property not set"
@@ -64,8 +63,8 @@
 fi
 
 if [ ! -d ${MYSQLDATA}/mysql ]; then
-	echo ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} --log-error=${LOG_ERROR}
-	${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} --log-error=${LOG_ERROR}
+	echo ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA}
+	${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA}
 fi
 
 # refresh method for this service is not defined because mysqld by itself
--- a/components/mysql-5-6/mysql-56.p5m	Sat Jun 25 10:48:59 2016 -0700
+++ b/components/mysql-5-6/mysql-56.p5m	Sat Jun 25 11:17:54 2016 -0700
@@ -18,12 +18,10 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-<transform file path=usr/mysql/5.6/bin/.+ -> set pkg.depend.bypass-generate .*>
-<transform file path=usr/mysql/5.6/lib/.+ -> set pkg.depend.bypass-generate .*>
 set name=pkg.fmri \
     value=pkg:/database/mysql-56@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="MySQL 5.6 Database Management System"
@@ -45,6 +43,7 @@
 
 # Regular mysql-56 files
 file path=usr/mysql/5.6/COPYING
+file path=usr/mysql/5.6/INSTALL-BINARY
 file path=usr/mysql/5.6/README
 file path=usr/mysql/5.6/bin/$(MACH32)/mysql_config
 file path=usr/mysql/5.6/bin/innochecksum
@@ -76,7 +75,6 @@
 file path=usr/mysql/5.6/docs/ChangeLog
 file path=usr/mysql/5.6/docs/INFO_BIN
 file path=usr/mysql/5.6/docs/INFO_SRC
-file path=usr/mysql/5.6/docs/INSTALL-BINARY
 file path=usr/mysql/5.6/include/big_endian.h
 file path=usr/mysql/5.6/include/byte_order_generic.h
 file path=usr/mysql/5.6/include/byte_order_generic_x86.h
@@ -104,17 +102,13 @@
 file path=usr/mysql/5.6/include/mysql.h
 file path=usr/mysql/5.6/include/mysql/client_authentication.h
 file path=usr/mysql/5.6/include/mysql/client_plugin.h
-file path=usr/mysql/5.6/include/mysql/client_plugin.h.pp
 file path=usr/mysql/5.6/include/mysql/get_password.h
 file path=usr/mysql/5.6/include/mysql/innodb_priv.h
 file path=usr/mysql/5.6/include/mysql/plugin.h
 file path=usr/mysql/5.6/include/mysql/plugin_audit.h
-file path=usr/mysql/5.6/include/mysql/plugin_audit.h.pp
 file path=usr/mysql/5.6/include/mysql/plugin_auth.h
-file path=usr/mysql/5.6/include/mysql/plugin_auth.h.pp
 file path=usr/mysql/5.6/include/mysql/plugin_auth_common.h
 file path=usr/mysql/5.6/include/mysql/plugin_ftparser.h
-file path=usr/mysql/5.6/include/mysql/plugin_ftparser.h.pp
 file path=usr/mysql/5.6/include/mysql/plugin_validate_password.h
 file path=usr/mysql/5.6/include/mysql/psi/mysql_file.h
 file path=usr/mysql/5.6/include/mysql/psi/mysql_idle.h
@@ -142,7 +136,6 @@
 file path=usr/mysql/5.6/include/plugin.h
 file path=usr/mysql/5.6/include/plugin_audit.h
 file path=usr/mysql/5.6/include/plugin_ftparser.h
-file path=usr/mysql/5.6/include/plugin_validate_password.h
 file path=usr/mysql/5.6/include/sql_common.h
 file path=usr/mysql/5.6/include/sql_state.h
 file path=usr/mysql/5.6/include/sslopt-case.h
@@ -156,7 +149,6 @@
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/ha_example.so
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/libdaemon_example.so
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/mypluglib.so
-file path=usr/mysql/5.6/lib/$(MACH64)/plugin/mysql_no_login.so
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/qa_auth_client.so
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/qa_auth_interface.so
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/qa_auth_server.so
@@ -164,14 +156,12 @@
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/semisync_slave.so
 file path=usr/mysql/5.6/lib/$(MACH64)/plugin/validate_password.so
 file path=usr/mysql/5.6/lib/plugin/adt_null.so
-file path=usr/mysql/5.6/lib/plugin/adt_null.so
 file path=usr/mysql/5.6/lib/plugin/auth.so
 file path=usr/mysql/5.6/lib/plugin/auth_test_plugin.so
 file path=usr/mysql/5.6/lib/plugin/daemon_example.ini
 file path=usr/mysql/5.6/lib/plugin/ha_example.so
 file path=usr/mysql/5.6/lib/plugin/libdaemon_example.so
 file path=usr/mysql/5.6/lib/plugin/mypluglib.so
-file path=usr/mysql/5.6/lib/plugin/mysql_no_login.so
 file path=usr/mysql/5.6/lib/plugin/qa_auth_client.so
 file path=usr/mysql/5.6/lib/plugin/qa_auth_interface.so
 file path=usr/mysql/5.6/lib/plugin/qa_auth_server.so
@@ -185,7 +175,6 @@
 file path=usr/mysql/5.6/man/man1/myisamchk.1
 file path=usr/mysql/5.6/man/man1/myisamlog.1
 file path=usr/mysql/5.6/man/man1/myisampack.1
-file path=usr/mysql/5.6/man/man1/mysql-test-run.pl.1
 file path=usr/mysql/5.6/man/man1/mysql.server.1
 file path=usr/mysql/5.6/man/man1/mysql_config.1
 file path=usr/mysql/5.6/man/man1/mysql_convert_table_format.1
@@ -196,7 +185,6 @@
 file path=usr/mysql/5.6/man/man1/mysql_tzinfo_to_sql.1
 file path=usr/mysql/5.6/man/man1/mysql_upgrade.1
 file path=usr/mysql/5.6/man/man1/mysql_zap.1
-file path=usr/mysql/5.6/man/man1/mysqlbug.1
 file path=usr/mysql/5.6/man/man1/mysqld_multi.1
 file path=usr/mysql/5.6/man/man1/mysqld_safe.1
 file path=usr/mysql/5.6/man/man1/mysqlhotcopy.1
@@ -266,14 +254,16 @@
 file path=usr/mysql/5.6/share/spanish/errmsg.sys
 file path=usr/mysql/5.6/share/swedish/errmsg.sys
 file path=usr/mysql/5.6/share/ukrainian/errmsg.sys
+file path=usr/mysql/5.6/support-files/binary-configure
+file path=usr/mysql/5.6/support-files/magic
 file path=usr/mysql/5.6/support-files/my-default.cnf mode=0644 preserve=true
+file path=usr/mysql/5.6/support-files/mysql-log-rotate
+file path=usr/mysql/5.6/support-files/mysql.server
+file path=usr/mysql/5.6/support-files/mysqld_multi.server
 
 # added ownership of var/mysql/* to mysql user/ group
 dir  path=var/mysql owner=mysql group=mysql mode=0700
 dir  path=var/mysql/5.6 owner=mysql group=mysql mode=0700
 dir  path=var/mysql/5.6/data owner=mysql group=mysql mode=0700
 license mysql-56.license license=GPLv2
-
-# added dependency on mysql-common and mysql-56/client package
-depend type=require fmri=database/mysql-56/client
 depend type=require fmri=database/mysql-common
--- a/components/mysql-5-6/mysql-56client.p5m	Sat Jun 25 10:48:59 2016 -0700
+++ b/components/mysql-5-6/mysql-56client.p5m	Sat Jun 25 11:17:54 2016 -0700
@@ -18,11 +18,10 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
-<transform file path=usr/mysql/5.6/bin/.+ -> set pkg.depend.bypass-generate .*>
 set name=pkg.fmri \
     value=pkg:/database/mysql-56/client@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary value="MySQL 5.6 Client Executables"
--- a/components/mysql-5-6/mysql-56lib.p5m	Sat Jun 25 10:48:59 2016 -0700
+++ b/components/mysql-5-6/mysql-56lib.p5m	Sat Jun 25 11:17:54 2016 -0700
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
 set name=pkg.fmri \
@@ -38,8 +38,7 @@
 link path=usr/mysql/5.6/lib/$(MACH64)/libmysqlclient.so.18 \
     target=libmysqlclient.so.18.1.0
 #
-file path=usr/mysql/5.6/lib/$(MACH64)/libmysqlclient.so.18.1.0 \
-    pkg.depend.bypass-generate=.*
+file path=usr/mysql/5.6/lib/$(MACH64)/libmysqlclient.so.18.1.0
 link path=usr/mysql/5.6/lib/$(MACH64)/libmysqlclient_r.so \
     target=libmysqlclient.so
 link path=usr/mysql/5.6/lib/$(MACH64)/libmysqlclient_r.so.18 \
@@ -49,8 +48,7 @@
 link path=usr/mysql/5.6/lib/64 target=$(MACH64)
 link path=usr/mysql/5.6/lib/libmysqlclient.so target=libmysqlclient.so.18
 link path=usr/mysql/5.6/lib/libmysqlclient.so.18 target=libmysqlclient.so.18.1.0
-file path=usr/mysql/5.6/lib/libmysqlclient.so.18.1.0 \
-    pkg.depend.bypass-generate=.*
+file path=usr/mysql/5.6/lib/libmysqlclient.so.18.1.0
 link path=usr/mysql/5.6/lib/libmysqlclient_r.so target=libmysqlclient.so
 link path=usr/mysql/5.6/lib/libmysqlclient_r.so.18 target=libmysqlclient.so
 link path=usr/mysql/5.6/lib/libmysqlclient_r.so.18.1.0 target=libmysqlclient.so
--- a/components/mysql-5-6/mysql-56test.p5m	Sat Jun 25 10:48:59 2016 -0700
+++ b/components/mysql-5-6/mysql-56test.p5m	Sat Jun 25 11:17:54 2016 -0700
@@ -18,10 +18,9 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 #
-<transform file path=usr/mysql/5.6/bin/.+ -> set pkg.depend.bypass-generate .*>
-<transform file path=usr/mysql/5.6/mysql-test/lib/My/SafeProcess/my_safe_process -> set pkg.depend.bypass-generate .*>
+
 <transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
 set name=pkg.fmri \
     value=pkg:/database/mysql-56/tests@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
@@ -36,6 +35,7 @@
 set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
 set name=org.opensolaris.arc-caseid value=PSARC/2014/431
 set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+#
 file path=usr/mysql/5.6/bin/mysql_client_test
 file path=usr/mysql/5.6/bin/mysql_client_test_embedded
 file path=usr/mysql/5.6/bin/mysqltest_embedded
@@ -69,7 +69,6 @@
 file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_cache_stat.test
 file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_implicit_commit.inc
 file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_innodb.inc
-file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_insert_delayed.test
 file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_fill.inc
 file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_row.inc
 file path=usr/mysql/5.6/mysql-test/extra/binlog_tests/binlog_mysqlbinlog_start_stop.inc
@@ -123,9 +122,6 @@
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_foreign_key.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_gtid_drop_table.inc
-file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_gtid_mts_relay_log_recovery.test
-file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_gtid_temp_table_in_func_or_trigger.inc
-file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_gtids_restart_slave_io_lost_trx.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_heartbeat_2slaves.inc
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_ignore_table_filter_insensitive.inc
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_ignore_table_filter_sensitive.inc
@@ -147,7 +143,6 @@
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_mixing_engines.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.inc
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_mts_crash_safe.test
-file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_mts_execute_partial_trx_in_relay_log.inc
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_multi_query.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_multi_update.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_multi_update2.test
@@ -159,7 +154,6 @@
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_record_compare.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_relayrotate.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_reset_slave.test
-file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_rollback_to_savepoint.inc
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_row_001.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_row_UUID.test
 file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_row_basic.test
@@ -204,7 +198,6 @@
 file path=usr/mysql/5.6/mysql-test/include/analyze-timeout.test
 file path=usr/mysql/5.6/mysql-test/include/assert.inc
 file path=usr/mysql/5.6/mysql-test/include/assert_command_output.inc
-file path=usr/mysql/5.6/mysql-test/include/assert_grep.inc
 file path=usr/mysql/5.6/mysql-test/include/begin_include_file.inc
 file path=usr/mysql/5.6/mysql-test/include/big_test.inc
 file path=usr/mysql/5.6/mysql-test/include/binlog_inject_error.inc
@@ -289,7 +282,6 @@
 file path=usr/mysql/5.6/mysql-test/include/func_in.inc
 file path=usr/mysql/5.6/mysql-test/include/function_defaults.inc
 file path=usr/mysql/5.6/mysql-test/include/function_defaults_notembedded.inc
-file path=usr/mysql/5.6/mysql-test/include/get_file_permissions.inc
 file path=usr/mysql/5.6/mysql-test/include/get_ndb_epochs.inc
 file path=usr/mysql/5.6/mysql-test/include/get_relay_log_pos.inc
 file path=usr/mysql/5.6/mysql-test/include/gis_debug.inc
@@ -363,7 +355,6 @@
 file path=usr/mysql/5.6/mysql-test/include/have_memcached_plugin.inc
 file path=usr/mysql/5.6/mysql-test/include/have_mrr.inc
 file path=usr/mysql/5.6/mysql-test/include/have_multi_ndb.inc
-file path=usr/mysql/5.6/mysql-test/include/have_mysql_no_login_plugin.inc
 file path=usr/mysql/5.6/mysql-test/include/have_mysql_upgrade.inc
 file path=usr/mysql/5.6/mysql-test/include/have_ndb.inc
 file path=usr/mysql/5.6/mysql-test/include/have_ndb_extra.inc
@@ -371,7 +362,6 @@
 file path=usr/mysql/5.6/mysql-test/include/have_nodebug.inc
 file path=usr/mysql/5.6/mysql-test/include/have_not_innodb_plugin.inc
 file path=usr/mysql/5.6/mysql-test/include/have_null_audit_plugin.inc
-file path=usr/mysql/5.6/mysql-test/include/have_numa.inc
 file path=usr/mysql/5.6/mysql-test/include/have_openssl.inc
 file path=usr/mysql/5.6/mysql-test/include/have_optimizer_trace.inc
 file path=usr/mysql/5.6/mysql-test/include/have_outfile.inc
@@ -400,7 +390,6 @@
 file path=usr/mysql/5.6/mysql-test/include/have_utf32.inc
 file path=usr/mysql/5.6/mysql-test/include/have_utf8.inc
 file path=usr/mysql/5.6/mysql-test/include/have_utf8mb4.inc
-file path=usr/mysql/5.6/mysql-test/include/have_util_nc.inc
 file path=usr/mysql/5.6/mysql-test/include/have_valgrind.inc
 file path=usr/mysql/5.6/mysql-test/include/have_validate_password_plugin.inc
 file path=usr/mysql/5.6/mysql-test/include/ib_logfile_size_check.inc
@@ -463,7 +452,6 @@
 file path=usr/mysql/5.6/mysql-test/include/ndb_restore_slave_eoption.inc
 file path=usr/mysql/5.6/mysql-test/include/ndb_setup_slave.inc
 file path=usr/mysql/5.6/mysql-test/include/ndb_wait_connected.inc
-file path=usr/mysql/5.6/mysql-test/include/no_protocol.inc
 file path=usr/mysql/5.6/mysql-test/include/no_running_event_scheduler.inc
 file path=usr/mysql/5.6/mysql-test/include/no_running_events.inc
 file path=usr/mysql/5.6/mysql-test/include/no_valgrind_without_big.inc
@@ -565,8 +553,6 @@
 file path=usr/mysql/5.6/mysql-test/include/set_binlog_format_row.sql
 file path=usr/mysql/5.6/mysql-test/include/set_binlog_format_statement.sql
 file path=usr/mysql/5.6/mysql-test/include/setup_fake_relay_log.inc
-file path=usr/mysql/5.6/mysql-test/include/show_all_binlogs.inc
-file path=usr/mysql/5.6/mysql-test/include/show_all_relay_logs.inc
 file path=usr/mysql/5.6/mysql-test/include/show_binary_logs.inc
 file path=usr/mysql/5.6/mysql-test/include/show_binlog_events.inc
 file path=usr/mysql/5.6/mysql-test/include/show_binlog_events2.inc
@@ -630,7 +616,6 @@
 file path=usr/mysql/5.6/mysql-test/include/wait_for_slave_sql_to_stop.inc
 file path=usr/mysql/5.6/mysql-test/include/wait_for_slave_to_start.inc
 file path=usr/mysql/5.6/mysql-test/include/wait_for_slave_to_stop.inc
-file path=usr/mysql/5.6/mysql-test/include/wait_for_slave_to_sync_with_master.inc
 file path=usr/mysql/5.6/mysql-test/include/wait_for_status_var.inc
 file path=usr/mysql/5.6/mysql-test/include/wait_innodb_all_purged.inc
 file path=usr/mysql/5.6/mysql-test/include/wait_show_condition.inc
@@ -770,7 +755,6 @@
 file path=usr/mysql/5.6/mysql-test/r/concurrent_innodb_safelog.result
 file path=usr/mysql/5.6/mysql-test/r/concurrent_innodb_unsafelog.result
 file path=usr/mysql/5.6/mysql-test/r/connect.result
-file path=usr/mysql/5.6/mysql-test/r/connect_debug.result
 file path=usr/mysql/5.6/mysql-test/r/consistent_snapshot.result
 file path=usr/mysql/5.6/mysql-test/r/constraints.result
 file path=usr/mysql/5.6/mysql-test/r/count_distinct.result
@@ -789,7 +773,6 @@
 file path=usr/mysql/5.6/mysql-test/r/ctype_collate.result
 file path=usr/mysql/5.6/mysql-test/r/ctype_cp1250_ch.result
 file path=usr/mysql/5.6/mysql-test/r/ctype_cp1251.result
-file path=usr/mysql/5.6/mysql-test/r/ctype_cp932.result
 file path=usr/mysql/5.6/mysql-test/r/ctype_cp932_binlog_row.result
 file path=usr/mysql/5.6/mysql-test/r/ctype_cp932_binlog_stm.result
 file path=usr/mysql/5.6/mysql-test/r/ctype_create.result
@@ -852,7 +835,6 @@
 file path=usr/mysql/5.6/mysql-test/r/ds_mrr-big.result
 file path=usr/mysql/5.6/mysql-test/r/dynamic_tracing.result
 file path=usr/mysql/5.6/mysql-test/r/empty_table.result
-file path=usr/mysql/5.6/mysql-test/r/enable_cleartext_plugin.result
 file path=usr/mysql/5.6/mysql-test/r/endspace.result
 file path=usr/mysql/5.6/mysql-test/r/eq_range_idx_stat.result
 file path=usr/mysql/5.6/mysql-test/r/error_simulation.result
@@ -935,8 +917,6 @@
 file path=usr/mysql/5.6/mysql-test/r/func_sapdb.result
 file path=usr/mysql/5.6/mysql-test/r/func_set.result
 file path=usr/mysql/5.6/mysql-test/r/func_str.result
-file path=usr/mysql/5.6/mysql-test/r/func_str_debug.result
-file path=usr/mysql/5.6/mysql-test/r/func_str_no_ps.result
 file path=usr/mysql/5.6/mysql-test/r/func_system.result
 file path=usr/mysql/5.6/mysql-test/r/func_test.result
 file path=usr/mysql/5.6/mysql-test/r/func_time.result
@@ -1050,14 +1030,11 @@
 file path=usr/mysql/5.6/mysql-test/r/innodb_mrr_cost.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_mrr_cost_all.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_mrr_cost_icp.result
-file path=usr/mysql/5.6/mysql-test/r/innodb_mrr_icp.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_mrr_none.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_mysql_lock.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_mysql_lock2.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_mysql_sync.result
 file path=usr/mysql/5.6/mysql-test/r/innodb_pk_extension_off.result
-file path=usr/mysql/5.6/mysql-test/r/innodb_pk_extension_on.result
-file path=usr/mysql/5.6/mysql-test/r/innodb_recovery_with_upper_case_names.result
 file path=usr/mysql/5.6/mysql-test/r/insert.result
 file path=usr/mysql/5.6/mysql-test/r/insert_notembedded.result
 file path=usr/mysql/5.6/mysql-test/r/insert_select.result
@@ -1100,8 +1077,6 @@
 file path=usr/mysql/5.6/mysql-test/r/lock_multi_bug38691.result
 file path=usr/mysql/5.6/mysql-test/r/lock_sync.result
 file path=usr/mysql/5.6/mysql-test/r/lock_tables_lost_commit.result
-file path=usr/mysql/5.6/mysql-test/r/log_empty_name.result
-file path=usr/mysql/5.6/mysql-test/r/log_errchk.result
 file path=usr/mysql/5.6/mysql-test/r/log_state.result
 file path=usr/mysql/5.6/mysql-test/r/log_state_bug33693.result
 file path=usr/mysql/5.6/mysql-test/r/log_tables-big.result
@@ -1113,11 +1088,11 @@
 file path=usr/mysql/5.6/mysql-test/r/lowercase1.require
 file path=usr/mysql/5.6/mysql-test/r/lowercase2.require
 file path=usr/mysql/5.6/mysql-test/r/lowercase_fs_off.result
-file path=usr/mysql/5.6/mysql-test/r/lowercase_fs_on.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_mixed_tmpdir.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_mixed_tmpdir_innodb.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_table.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_table2.result
+file path=usr/mysql/5.6/mysql-test/r/lowercase_table3.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_table4.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_table_grant.result
 file path=usr/mysql/5.6/mysql-test/r/lowercase_table_qcache.result
@@ -1128,6 +1103,7 @@
 file path=usr/mysql/5.6/mysql-test/r/merge.result
 file path=usr/mysql/5.6/mysql-test/r/merge_innodb.result
 file path=usr/mysql/5.6/mysql-test/r/merge_mmap.result
+file path=usr/mysql/5.6/mysql-test/r/merge_recover.result
 file path=usr/mysql/5.6/mysql-test/r/metadata.result
 file path=usr/mysql/5.6/mysql-test/r/mix2_myisam.result
 file path=usr/mysql/5.6/mysql-test/r/mix2_myisam_ucs2.result
@@ -1158,7 +1134,6 @@
 file path=usr/mysql/5.6/mysql-test/r/myisam_mrr_cost_icp.result
 file path=usr/mysql/5.6/mysql-test/r/myisam_mrr_icp.result
 file path=usr/mysql/5.6/mysql-test/r/myisam_mrr_none.result
-file path=usr/mysql/5.6/mysql-test/r/myisam_recover.result
 file path=usr/mysql/5.6/mysql-test/r/myisam_row_rpl.result
 file path=usr/mysql/5.6/mysql-test/r/myisampack.result
 file path=usr/mysql/5.6/mysql-test/r/mysql-bug41486.result
@@ -1181,7 +1156,6 @@
 file path=usr/mysql/5.6/mysql-test/r/mysqladmin.result
 file path=usr/mysql/5.6/mysql-test/r/mysqlbinlog.result
 file path=usr/mysql/5.6/mysql-test/r/mysqlbinlog_debug.result
-file path=usr/mysql/5.6/mysql-test/r/mysqlbinlog_mixed_or_statment.result
 file path=usr/mysql/5.6/mysql-test/r/mysqlbinlog_raw_mode.result
 file path=usr/mysql/5.6/mysql-test/r/mysqlbinlog_raw_mode_win.result
 file path=usr/mysql/5.6/mysql-test/r/mysqlbinlog_row_big.result
@@ -1349,7 +1323,6 @@
 file path=usr/mysql/5.6/mysql-test/r/row.result
 file path=usr/mysql/5.6/mysql-test/r/rowid_order_innodb.result
 file path=usr/mysql/5.6/mysql-test/r/rpl_colSize.result
-file path=usr/mysql/5.6/mysql-test/r/rpl_extraColmaster_innodb.result
 file path=usr/mysql/5.6/mysql-test/r/rpl_extraColmaster_myisam.result
 file path=usr/mysql/5.6/mysql-test/r/rpl_mysqldump_slave.result
 file path=usr/mysql/5.6/mysql-test/r/schema.result
@@ -1379,13 +1352,11 @@
 file path=usr/mysql/5.6/mysql-test/r/signal_demo2.result
 file path=usr/mysql/5.6/mysql-test/r/signal_demo3.result
 file path=usr/mysql/5.6/mysql-test/r/signal_sqlmode.result
-file path=usr/mysql/5.6/mysql-test/r/single_delete_update.result
 file path=usr/mysql/5.6/mysql-test/r/skip_grants.result
 file path=usr/mysql/5.6/mysql-test/r/skip_log_bin.result
 file path=usr/mysql/5.6/mysql-test/r/skip_name_resolve.result
 file path=usr/mysql/5.6/mysql-test/r/slave-running.result
 file path=usr/mysql/5.6/mysql-test/r/slave-stopped.result
-file path=usr/mysql/5.6/mysql-test/r/sort_buffer_size_functionality.result
 file path=usr/mysql/5.6/mysql-test/r/sp-big.result
 file path=usr/mysql/5.6/mysql-test/r/sp-bugs.result
 file path=usr/mysql/5.6/mysql-test/r/sp-code.result
@@ -1426,7 +1397,6 @@
 file path=usr/mysql/5.6/mysql-test/r/status.result
 file path=usr/mysql/5.6/mysql-test/r/status2.result
 file path=usr/mysql/5.6/mysql-test/r/status_bug17954.result
-file path=usr/mysql/5.6/mysql-test/r/status_debug.result
 file path=usr/mysql/5.6/mysql-test/r/strict.result
 file path=usr/mysql/5.6/mysql-test/r/strict_autoinc_1myisam.result
 file path=usr/mysql/5.6/mysql-test/r/strict_autoinc_2innodb.result
@@ -1492,7 +1462,6 @@
 file path=usr/mysql/5.6/mysql-test/r/table_open_cache_functionality.result
 file path=usr/mysql/5.6/mysql-test/r/tablelock.result
 file path=usr/mysql/5.6/mysql-test/r/tablespace.result
-file path=usr/mysql/5.6/mysql-test/r/temp_pool.result
 file path=usr/mysql/5.6/mysql-test/r/temp_table.result
 file path=usr/mysql/5.6/mysql-test/r/temporal_literal.result
 file path=usr/mysql/5.6/mysql-test/r/testdb_only.require
@@ -1578,11 +1547,7 @@
 file path=usr/mysql/5.6/mysql-test/std_data/bad_gis_data.dat
 file path=usr/mysql/5.6/mysql-test/std_data/binlog_savepoint.000001
 file path=usr/mysql/5.6/mysql-test/std_data/binlog_transaction.000001
-file path=usr/mysql/5.6/mysql-test/std_data/binlog_transaction_with_GTID.000001
-file path=usr/mysql/5.6/mysql-test/std_data/binlog_transaction_with_anonymous_GTID.000001
 file path=usr/mysql/5.6/mysql-test/std_data/bug15328.cnf
-file path=usr/mysql/5.6/mysql-test/std_data/bug16171518_1.dat
-file path=usr/mysql/5.6/mysql-test/std_data/bug16171518_2.dat
 file path=usr/mysql/5.6/mysql-test/std_data/bug16266.000001
 file path=usr/mysql/5.6/mysql-test/std_data/bug17532932.MYD
 file path=usr/mysql/5.6/mysql-test/std_data/bug17532932.MYI
@@ -1615,7 +1580,6 @@
 file path=usr/mysql/5.6/mysql-test/std_data/bug49823.CSM
 file path=usr/mysql/5.6/mysql-test/std_data/bug49823.CSV
 file path=usr/mysql/5.6/mysql-test/std_data/bug49823.frm
-file path=usr/mysql/5.6/mysql-test/std_data/ca-cert-verify.pem
 file path=usr/mysql/5.6/mysql-test/std_data/ca-sha512.pem
 file path=usr/mysql/5.6/mysql-test/std_data/cacert.pem
 file path=usr/mysql/5.6/mysql-test/std_data/charset_utf8.txt
@@ -1707,17 +1671,11 @@
 file path=usr/mysql/5.6/mysql-test/std_data/rsa_private_key.pem
 file path=usr/mysql/5.6/mysql-test/std_data/rsa_public_key.pem
 file path=usr/mysql/5.6/mysql-test/std_data/server-cert-sha512.pem
-file path=usr/mysql/5.6/mysql-test/std_data/server-cert-verify-fail.pem
-file path=usr/mysql/5.6/mysql-test/std_data/server-cert-verify-pass.pem
 file path=usr/mysql/5.6/mysql-test/std_data/server-cert.pem
 file path=usr/mysql/5.6/mysql-test/std_data/server-key-sha512.pem
-file path=usr/mysql/5.6/mysql-test/std_data/server-key-verify-fail.pem
-file path=usr/mysql/5.6/mysql-test/std_data/server-key-verify-pass.pem
 file path=usr/mysql/5.6/mysql-test/std_data/server-key.pem
 file path=usr/mysql/5.6/mysql-test/std_data/server8k-cert.pem
 file path=usr/mysql/5.6/mysql-test/std_data/server8k-key.pem
-file path=usr/mysql/5.6/mysql-test/std_data/slave-relay-bin_linux.index
-file path=usr/mysql/5.6/mysql-test/std_data/slave-relay-bin_win.index
 file path=usr/mysql/5.6/mysql-test/std_data/system_tap.stp
 file path=usr/mysql/5.6/mysql-test/std_data/trunc_binlog.000001
 file path=usr/mysql/5.6/mysql-test/std_data/untrusted-cacert.pem
@@ -1742,12 +1700,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/include/not_sha256_rsa_auth.inc
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/include/not_ssl.inc
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/access_credential_control.result
-file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/cert_verify.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/have_mysql_upgrade.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/have_ssl.require
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/key_value_auth.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/mysql_native_plugin.result
-file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/mysql_no_login.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/mysql_old_passwords.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/mysql_old_plugin.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/mysql_sha256_plugin.result
@@ -1762,13 +1718,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/r/server_withssl_client_withssl.result
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/access_credential_control-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/access_credential_control.test
-file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/cert_verify.test
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/key_value_auth-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/key_value_auth.test
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/key_value_auth.test_old
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/mysql_native_plugin.test
-file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/mysql_no_login-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/mysql_no_login.test
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/mysql_old_passwords-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/mysql_old_passwords.test
 file path=usr/mysql/5.6/mysql-test/suite/auth_sec/t/mysql_old_plugin.test
@@ -1793,12 +1746,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_delete_and_flush_index.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_drop_if_exists.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_enforce_gtid_consistency.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_error_action.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_format_switch_in_tmp_table.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_grant.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_cache.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_errors.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_exhausted.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_implicit_commit.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row.result
@@ -1806,7 +1757,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_row_myisam.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_mysqlbinlog_start_stop.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_row_ctype_ucs.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_simple_recovery.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_stm_ctype_ucs.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_gtid_utils.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_hexdump.result
@@ -1824,7 +1774,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_multi_engine.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_mysqlbinlog-cp932.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_mysqlbinlog_base64.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_mysqlbinlog_concat.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_mysqlbinlog_filter.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_mysqlbinlog_row_innodb.result
@@ -1836,7 +1785,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_query_filter_rules.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_reset_master.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_rewrite.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_rotate_bgc_sync.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_row_binlog.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_row_cache_stat.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_row_ctype_cp932.result
@@ -1880,8 +1828,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_variables_relay_log.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_variables_relay_log_index.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_write_error.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_xa_handling.result
-file path=usr/mysql/5.6/mysql-test/suite/binlog/r/show_binlog_events_no_lock.result
+file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlogging_impossible.result
 file path=usr/mysql/5.6/mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001
 file path=usr/mysql/5.6/mysql-test/suite/binlog/std_data/bug11747887-bin.000003
 file path=usr/mysql/5.6/mysql-test/suite/binlog/std_data/bug32407.001
@@ -1906,16 +1853,12 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_delete_and_flush_index.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_drop_if_exists.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_enforce_gtid_consistency.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_error_action-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_error_action.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_format_switch_in_tmp_table.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_grant.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_cache-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_cache.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_errors-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_errors.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_exhausted-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_exhausted.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_implicit_commit.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_innodb.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_row.test
@@ -1923,7 +1866,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_row_myisam.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_mysqlbinlog_start_stop.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_row_ctype_ucs.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_simple_recovery.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_stm_ctype_ucs.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_gtid_utils.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_hexdump.test
@@ -1946,7 +1888,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog-cp932.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog_base64.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog_concat.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog_filter.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_mysqlbinlog_row_innodb.test
@@ -1959,7 +1900,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_query_filter_rules.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_reset_master.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_rewrite.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_rotate_bgc_sync.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_row_binlog-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_row_binlog.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_row_cache_stat.test
@@ -1977,7 +1917,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_server_id.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_server_start_options.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_sf.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_simplified_binlog_gtid_recovery-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_spurious_ddl_errors.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_sql_mode.test
@@ -2018,9 +1957,8 @@
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_variables_relay_log_index-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_variables_relay_log_index.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_write_error.test
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_xa_handling.test
+file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlogging_impossible.test
 file path=usr/mysql/5.6/mysql-test/suite/binlog/t/disabled.def
-file path=usr/mysql/5.6/mysql-test/suite/binlog/t/show_binlog_events_no_lock.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/README
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/r/ai_init_alter_table.result
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/r/ai_init_create_table.result
@@ -2635,7 +2573,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_loaddata_m-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_loaddata_m.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_loaddata_s-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_loaddata_s.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_loaddatalocal.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_loadfile.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_log_pos.test
@@ -2649,7 +2586,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_multi_update4-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_multi_update4.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_ps.test
-file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_rbr_to_sbr.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_relayspace-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_relayspace.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_replicate_ignore_db-slave.opt
@@ -2693,7 +2629,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_start_stop_slave.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_stm_max_relay_size.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_stm_mystery22.test
-file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_stm_no_op.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_stm_reset_slave.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_switch_stm_row_mixed.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/funcs/t/rpl_temp_table.test
@@ -2905,7 +2840,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/include/check_for_error_rollback_skip.inc
 file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/include/check_repeatable_read_all_columns.inc
 file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/include/record_query_all_columns.inc
-file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/include/rr_init.test
 file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/init_innodb.txt
 file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/r/init_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/engines/rr_trx/r/rr_c_count_not_zero.result
@@ -3289,7 +3223,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/funcs_1/triggers/triggers_09.inc
 file path=usr/mysql/5.6/mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc
 file path=usr/mysql/5.6/mysql-test/suite/funcs_1/views/func_view.inc
-file path=usr/mysql/5.6/mysql-test/suite/funcs_1/views/fv1.inc
 file path=usr/mysql/5.6/mysql-test/suite/funcs_1/views/fv2.inc
 file path=usr/mysql/5.6/mysql-test/suite/funcs_1/views/fv_cast.inc
 file path=usr/mysql/5.6/mysql-test/suite/funcs_1/views/fv_if1.inc
@@ -3311,30 +3244,19 @@
 file path=usr/mysql/5.6/mysql-test/suite/funcs_2/t/memory_charset.test
 file path=usr/mysql/5.6/mysql-test/suite/funcs_2/t/myisam_charset.test
 file path=usr/mysql/5.6/mysql-test/suite/funcs_2/t/suite.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb/include/checksum_not_strict.inc
-file path=usr/mysql/5.6/mysql-test/suite/innodb/include/import.inc
 file path=usr/mysql/5.6/mysql-test/suite/innodb/include/innodb_dict.inc
 file path=usr/mysql/5.6/mysql-test/suite/innodb/include/innodb_stats.inc
 file path=usr/mysql/5.6/mysql-test/suite/innodb/include/innodb_stats_table_flag.inc
 file path=usr/mysql/5.6/mysql-test/suite/innodb/include/innodb_stats_table_flag_analyze.inc
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/add_foreign_key.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/alter_rename_existing.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/analyze_table.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/blob-update-debug.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/blob_redo.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/checksum.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/create-index.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/dropdb.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/foreign_key.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/import.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/index_tree_operation.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-2byte-collation.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-ac-non-locking-select.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-alter-autoinc.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-alter-debug.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-alter-discard.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-alter-nullable.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-alter-tempfile.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-alter.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-analyze.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-autoinc-18274.result
@@ -3357,7 +3279,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index-online.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index_ucs2.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-lock-inherit-read_commited.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-lock.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-log-file-size-1.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-log-file-size.result
@@ -3387,7 +3308,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-wl6445.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_autoinc_lock_mode_zero.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_autoinc_reset.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_blob_unrecoverable_crash.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_buffer_pool_load.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_bug-13628249.result
@@ -3460,13 +3380,13 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_corrupt_bit.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_ctype_ldml.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_file_format.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_force_recovery.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_gis.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_i_s_innodb_locks.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_i_s_innodb_trx.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_information_schema_buffer.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_lock_wait_timeout_1.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_misc1.result
+file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_monitor.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_multi_update.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_mysql.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_mysql_rbk.result
@@ -3497,27 +3417,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_trx_weight.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_upd_stats_if_needed_not_inited.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_ut_format_name.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/insert_debug.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/monitor.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/monitor_debug.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/sp_temp_table.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/strict_checksum.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/strict_mode.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/tmpdir.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/r/xa_recovery.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/add_foreign_key.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/alter_rename_existing.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/analyze_table.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/blob-update-debug.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/blob_redo-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/blob_redo.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/checksum.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/create-index.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/disabled.def
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/dropdb.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/foreign_key.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/import.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/index_tree_operation.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-2byte-collation-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-2byte-collation.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-ac-non-locking-select.test
@@ -3525,7 +3428,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-alter-debug.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-alter-discard.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-alter-nullable.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-alter-tempfile.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-alter.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-analyze.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-autoinc-18274.test
@@ -3546,7 +3448,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-consistent-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-consistent.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-double-write.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-debug-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-debug.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-online-delete.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-online-fk.test
@@ -3555,7 +3456,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-online.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index_ucs2.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-lock-inherit-read_commited.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-lock.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-log-file-size-1.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-log-file-size.test
@@ -3590,7 +3490,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_autoinc_lock_mode_zero-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_autoinc_lock_mode_zero.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_autoinc_reset.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_blob_unrecoverable_crash.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_buffer_pool_load-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_buffer_pool_load.test
@@ -3670,6 +3569,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_bug60049.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_bug60196-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_bug60196.test
+file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_bug60229-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_bug60229.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_bug70867.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_corrupt_bit.test
@@ -3677,7 +3577,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_ctype_ldml.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_file_format-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_file_format.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_force_recovery.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_gis.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_i_s_innodb_locks.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_i_s_innodb_trx.test
@@ -3686,6 +3585,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_lock_wait_timeout_1.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_misc1-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_misc1.test
+file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_monitor.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_multi_update.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_mysql-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_mysql.test
@@ -3721,18 +3621,8 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_trx_weight.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_upd_stats_if_needed_not_inited.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_ut_format_name.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/insert_debug.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/monitor.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/monitor_debug.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/portability_wl5980_linux.zip
 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/portability_wl5980_windows.zip
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/sp_temp_table.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/strict_checksum.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/strict_mode.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/tmpdir.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb/t/xa_recovery.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/fts_compatibility.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/fts_compatibility_win.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/fulltext.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/fulltext2.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/fulltext3.result
@@ -3762,11 +3652,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/innodb_fts_savepoint.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/innodb_fts_stopword_charset.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/innodb_fts_transaction.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/phrase.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/subexpr.result
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/disabled.def
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/fts_compatibility.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/fts_compatibility_win.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/fulltext.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/fulltext2.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/fulltext3.test
@@ -3797,107 +3683,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/innodb_fts_savepoint.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/innodb_fts_stopword_charset.test
 file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/innodb_fts_transaction.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/phrase.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/subexpr.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/include/innodb_stress.inc
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_blob.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_blob_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_crash.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_crash_blob.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_crash_blob_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_crash_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_bigstress_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_blob.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_blob_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_crash.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_crash_blob.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_crash_blob_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_crash_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_hugestress_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_blob.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_blob_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_crash.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_crash_blob.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_crash_blob_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_crash_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/r/innodb_stress_nocompress.result
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/Readme
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_blob-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_blob-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_blob.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_blob_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_blob_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_blob_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_blob-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_blob-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_blob.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_blob_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_blob_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_blob_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_crash_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_bigstress_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_blob-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_blob-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_blob.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_blob_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_blob_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_blob_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_blob-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_blob-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_blob.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_blob_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_blob_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_blob_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_crash_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_hugestress_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_blob-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_blob-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_blob.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_blob_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_blob_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_blob_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_blob-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_blob-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_blob.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_blob_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_blob_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_blob_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_crash_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_nocompress-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_nocompress-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/innodb_stress_nocompress.test
-file path=usr/mysql/5.6/mysql-test/suite/innodb_stress/t/load_generator.py
 file path=usr/mysql/5.6/mysql-test/suite/innodb_zip/include/innodb_create_tab_indx.inc
 file path=usr/mysql/5.6/mysql-test/suite/innodb_zip/include/innodb_fetch_records.inc
 file path=usr/mysql/5.6/mysql-test/suite/innodb_zip/include/innodb_load_data.inc
@@ -4094,9 +3879,13 @@
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_create_tbl_ucs2.test
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_create_tbl_ujis.test
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_create_tbl_utf8.test
+file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_sjis-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_sjis.test
+file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_ucs2-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_ucs2.test
+file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_ujis-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_ujis.test
+file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_utf8-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_enum_utf8.test
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_insert_sjis.test
 file path=usr/mysql/5.6/mysql-test/suite/jp/t/jp_insert_ucs2.test
@@ -4381,7 +4170,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_conv_lossy_integral.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_conv_padding.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_conv_promotion.result
-file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_discover.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_misc.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_print.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb/r/ndb_restore_schema_blobs.result
@@ -4526,7 +4314,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_conv_lossy_integral.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_conv_padding.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_conv_promotion.test
-file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_discover.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_misc.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_print.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb/t/ndb_restore_schema_blobs.test
@@ -4589,7 +4376,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_ddl_multi.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_discover.result
-file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_format.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_ignore_db.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_log_apply_status.result
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/r/ndb_binlog_log_bin.result
@@ -4608,6 +4394,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_log_apply_status.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_log_bin.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_multi.test
+file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_restore-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_restore.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_unique_epoch.cnf
 file path=usr/mysql/5.6/mysql-test/suite/ndb_binlog/t/ndb_binlog_unique_epoch.test
@@ -4780,7 +4567,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/ndb_rpl_sync.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/ndb_rpl_ui.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/ndb_rpl_ui2.test
-file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/ndb_rpl_ui3.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/ndb_rpl_xxx_innodb.inc
 file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/rpl_truncate_7ndb.test
 file path=usr/mysql/5.6/mysql-test/suite/ndb_rpl/t/rpl_truncate_7ndb_2.test
@@ -5297,6 +5083,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/have_aligned_memory.inc
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/hostcache_dump.inc
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/hostcache_set_state.inc
+file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/no_protocol.inc
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/privilege.inc
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/rpl_statements_truncate.inc
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/schema.inc
@@ -5393,9 +5180,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/ddl_threads.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/ddl_tiws_by_index_usage.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/ddl_tiws_by_table.result
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/ddl_tlws_by_table.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/ddl_users.result
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/digest_null_literal.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/digest_table_full.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_accounts.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_cond_instances.result
@@ -5443,7 +5228,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_setup_objects.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_setup_timers.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_socket_instances.result
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_socket_summary_by_event_name.result
 #file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_socket_summary_by_name.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_socket_summary_by_instance.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_threads.result
@@ -5555,7 +5339,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_disable_statements.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_disable_waits.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_innodb.result
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_low_digest.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_no_account.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_no_cond_class.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/start_server_no_cond_inst.result
@@ -5637,7 +5420,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/threads_insert_delayed.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/threads_mysql.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/trigger_table_io.result
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/unary_digest.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/view_table_io.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/aggregate.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/all_tests.test
@@ -5723,7 +5505,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/ddl_tiws_by_table.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/ddl_tlws_by_table.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/ddl_users.test
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/digest_null_literal.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/digest_table_full-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/digest_table_full.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/disabled.def
@@ -5769,7 +5550,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_session_connect_attrs.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_setup_actors.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_setup_consumers.test
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_setup_instruments.test
 #file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_setup_instruments.result
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_setup_objects.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/dml_setup_timers.test
@@ -5829,7 +5609,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_bad_deny.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_allow.test
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_good_deny.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/hostcache_ipv6_addrinfo_noname_allow.test
@@ -5938,8 +5717,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_disable_waits.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_innodb-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_innodb.test
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_low_digest-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_low_digest.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_no_account-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_no_account.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt
@@ -6058,7 +5835,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/threads_mysql-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/threads_mysql.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/trigger_table_io.test
-file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/unary_digest.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/view_table_io.test
 file path=usr/mysql/5.6/mysql-test/suite/perfschema_stress/README
 file path=usr/mysql/5.6/mysql-test/suite/perfschema_stress/include/settings.inc
@@ -6110,16 +5886,11 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_alter.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_alter_db.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_alter_repository.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_apply_binlog_with_anonymous_gtid.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_apply_binlog_with_anonymous_gtid_when_gtid_mode_on.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_apply_binlog_with_gtid_when_gtid_mode_off.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_auto_increment.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_auto_increment_11932.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_auto_increment_bug33029.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_auto_increment_bug45679.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_auto_increment_update_failure.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_autogen_query_multi_byte_char.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_avoid_temporal_upgrade.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_binlog_corruption.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_binlog_errors.result
@@ -6152,7 +5923,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_connection.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_corruption.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_crash_safe_master.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_crc_check.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_create_database.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_create_drop_temp_table.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_create_if_not_exists.result
@@ -6171,15 +5941,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_do_table_filter_sensitive.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop_db.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop_db_fail.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop_temp.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop_temp_gtid.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop_temp_tbl_with_rewrite_db.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_drop_view.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_dual_pos_advance.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_dump_thread_kill.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_empty_master_host.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_empty_multi_update.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_err_ignoredtable.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_events.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_extra_col_master_innodb.result
@@ -6196,7 +5961,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_foreign_key_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_free_items.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_function_defaults.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gap_in_retrieved_gtid_set.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_general_log.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_geometry.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_get_lock.result
@@ -6204,7 +5968,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_grant.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_grant_plugin.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_group_commit_deadlock.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_binary_log_as_relay_log.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_binlog_errors.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_do_table_filter_insensitive.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_do_table_filter_sensitive.result
@@ -6217,13 +5980,9 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_ignore_table_filter_sensitive.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_loaddata_s.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_mode.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_mode_off_new_master.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_mode_on_new_master.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_mts_relay_log_recovery_auto_pos_on_off.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_parallel.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_purged_fail_to_connect.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_purged_maintained.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_replay_relaylog.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_row_event_max_size.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_row_show_relaylog_events.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_server_sighup.result
@@ -6231,10 +5990,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_stm_insert_delayed.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_stm_mix_show_relaylog_events.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_stress_failover.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_temp_table.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_transaction_split_across_relay_logs.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_validate_slave_gtids.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtids_restart_slave_io_lost_trx.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_heartbeat.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_heartbeat_2slaves.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_heartbeat_basic.result
@@ -6281,7 +6036,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_locale.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_log_pos.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_lost_events_on_rotate.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_low_slave_net_time_out.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_manual_change_index_file.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_many_optimize.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_master_connection.result
@@ -6290,7 +6044,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_misc_functions.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mix_found_rows.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mix_insert_delayed.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mix_missing_data_on_slave.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mixed_bit_pk.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mixed_ddl_dml.result
@@ -6299,11 +6052,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_debug.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_execute_partial_trx_with_auto_pos_off.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_execute_partial_trx_with_auto_pos_on.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_gtids_restart_slave_io_lost_trx.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_slave_hang_with_partial_trx.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_stop_slave.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_multi_delete.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_multi_delete2.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_multi_engine.result
@@ -6346,9 +6094,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_read_old_relay_log_info.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_read_only.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_recovery_empty_sqlthd_pos.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_recovery_replicate_same_server_id.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_relay_log_recovery_positions.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_relay_space_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_relay_space_myisam.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_relayrotate.result
@@ -6361,7 +6106,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_report_port.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rewrite_db_filter.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rewrt_db.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rotate_gtid.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rotate_logs.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rotate_purge_deadlock.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_rotate_row_trans.result
@@ -6428,7 +6172,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_rec_comp_myisam.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_record_find_myisam.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_reset_slave.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_rollback_to_savepoint.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_sp001.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_sp002_innodb.result
@@ -6456,15 +6199,12 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_view01.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_wide_table.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_savepoint.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sbm_previous_gtid_event.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_seconds_behind_master.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_deadlock.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_event.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_future_logpos.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_group_commit_deadlock.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_non_group_commit_deadlock.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_shutdown_hang.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_semi_sync_uninstall_plugin.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sequential.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_server_id1.result
@@ -6479,7 +6219,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_show_master_info_file.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_show_slave_running.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_show_slave_status_deadlock.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_skip_ddl_errors_cli.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_skip_error.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_skip_incident.result
@@ -6495,11 +6234,8 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sp.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sp004.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sp_effects.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sp_privileges.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_spec_variables.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_special_charset.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sporadic_master.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sql_thread_killed_waiting_commit_lock.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_ssl.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_ssl1.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_000001.result
@@ -6510,7 +6246,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_drop_create_temp_table.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_flsh_tbls.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_found_rows.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_ignore.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_implicit_commit_binlog.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_insert_delayed.result
@@ -6520,7 +6255,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_log.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_max_relay_size.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_mix_mts_show_relaylog_events.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_mix_rollback_to_savepoint.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_mixed_crash_safe.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_mixed_mts_crash_safe.result
@@ -6536,7 +6270,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_until.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_until_pos_middle_gtid.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stm_user_variables.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_stop_slave.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result
@@ -6545,7 +6278,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_temporal_fractional.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_temporary.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_temporary_error_table_repository.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_temporary_errors.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_test_framework.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_timestamp_upgrage_55.result
@@ -6558,8 +6290,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_typeconv.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_typeconv_innodb.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_udf.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_unknown_ignorable_event.result
-file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_unsafe_statements.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_user.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_user_variables.result
 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_variables.result
@@ -6580,17 +6310,12 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_alter.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_alter_db.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_alter_repository.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_apply_binlog_with_anonymous_gtid.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_apply_binlog_with_anonymous_gtid_when_gtid_mode_on.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_apply_binlog_with_gtid_when_gtid_mode_off.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_auto_increment-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_auto_increment.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_auto_increment_11932.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_auto_increment_bug33029.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_auto_increment_bug45679.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_auto_increment_update_failure.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_autogen_query_multi_byte_char.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_avoid_temporal_upgrade.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_begin_commit_rollback-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_begin_commit_rollback-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test
@@ -6633,12 +6358,9 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_concurrency_error.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_conditional_comments.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_connection.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_corruption-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_corruption-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_corruption.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_crash_safe_master.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_crc_check-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_crc_check.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_create_database-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_create_database-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_create_database.test
@@ -6662,22 +6384,17 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_do_table_filter_insensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_do_table_filter_insensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_do_table_filter_insensitive.test
+file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_do_table_filter_sensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_do_table_filter_sensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_do_table_filter_sensitive.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_db.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_db_fail.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_temp-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_temp.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_temp_gtid.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_temp_tbl_with_rewrite_db-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_temp_tbl_with_rewrite_db.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_drop_view.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_dual_pos_advance-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_dual_pos_advance.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_dump_thread_kill.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_empty_master_host.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_empty_multi_update.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_err_ignoredtable-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_err_ignoredtable.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_events.test
@@ -6704,7 +6421,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_free_items-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_free_items.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_function_defaults.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gap_in_retrieved_gtid_set.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_general_log.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_geometry.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_get_lock.test
@@ -6715,12 +6431,12 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_grant_plugin-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_grant_plugin.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_group_commit_deadlock.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_binary_log_as_relay_log.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_binlog_errors-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_binlog_errors.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive.test
+file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_do_table_filter_sensitive.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_drop_table.cnf
@@ -6737,22 +6453,17 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_insensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_insensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_insensitive.test
+file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_sensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_sensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_ignore_table_filter_sensitive.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_loaddata_s-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_loaddata_s.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_mode.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_mode_off_new_master.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_mode_on_new_master.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_mts_relay_log_recovery_auto_pos_on_off-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_mts_relay_log_recovery_auto_pos_on_off-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_mts_relay_log_recovery_auto_pos_on_off.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_parallel.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_purged_fail_to_connect-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_purged_fail_to_connect-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_purged_fail_to_connect.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_purged_maintained.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_replay_relaylog.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_row_event_max_size-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_row_event_max_size-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_row_event_max_size.test
@@ -6763,11 +6474,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_stm_mix_show_relaylog_events.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_stress_failover.cnf
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_stress_failover.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_temp_table.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_transaction_split_across_relay_logs.cnf
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_transaction_split_across_relay_logs.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_validate_slave_gtids.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtids_restart_slave_io_lost_trx.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_heartbeat-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_heartbeat.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_heartbeat_2slaves.cnf
@@ -6788,6 +6494,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_filter_insensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_filter_insensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_filter_insensitive.test
+file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_filter_sensitive-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_filter_sensitive-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_filter_sensitive.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ignore_table_update-slave.opt
@@ -6799,7 +6506,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_init_slave_errors.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_innodb-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_innodb_bug28430-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_innodb_bug28430.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_innodb_bug30888.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_innodb_mixed_ddl.test
@@ -6853,7 +6559,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_locale.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_log_pos.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_lost_events_on_rotate.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_low_slave_net_time_out.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_manual_change_index_file.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_many_optimize.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_master_connection-master.opt
@@ -6866,8 +6571,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mix_found_rows-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mix_found_rows.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mix_insert_delayed.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mix_missing_data_on_slave.cnf
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mix_missing_data_on_slave.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mixed_binlog_max_cache_size.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mixed_ddl_dml.test
@@ -6879,16 +6582,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mixed_row_innodb-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_debug-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_debug.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_execute_partial_trx_with_auto_pos_off-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_execute_partial_trx_with_auto_pos_off.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_execute_partial_trx_with_auto_pos_on-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_execute_partial_trx_with_auto_pos_on.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_gtids_restart_slave_io_lost_trx-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_gtids_restart_slave_io_lost_trx.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_slave_hang_with_partial_trx-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_slave_hang_with_partial_trx.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_stop_slave-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_stop_slave.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_multi_delete-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_multi_delete.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_multi_delete2-slave.opt
@@ -6954,11 +6647,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_read_old_relay_log_info.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_read_only.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_recovery_empty_sqlthd_pos-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_recovery_empty_sqlthd_pos.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_recovery_replicate_same_server_id-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_recovery_replicate_same_server_id.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_relay_log_recovery_positions.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_relay_space_innodb.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_relay_space_myisam.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_relayrotate-slave.opt
@@ -6980,7 +6668,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rewrite_db_filter.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rewrt_db-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rewrt_db.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rotate_gtid.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rotate_logs.cnf
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rotate_logs.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_rotate_purge_deadlock-master.opt
@@ -7075,7 +6762,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_rec_comp_myisam.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_record_find_myisam.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_reset_slave.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_rollback_to_savepoint.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_show_relaylog_events.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_sp001.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_sp002_innodb.test
@@ -7104,8 +6790,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_view01.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_wide_table.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_savepoint.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sbm_previous_gtid_event-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sbm_previous_gtid_event.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_seconds_behind_master.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync-slave.opt
@@ -7116,18 +6800,12 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_event-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_event-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_event.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_future_logpos-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_future_logpos-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_future_logpos.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_group_commit_deadlock-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_group_commit_deadlock-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_group_commit_deadlock.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_non_group_commit_deadlock.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_hang-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_hang-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_shutdown_hang.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_semi_sync_uninstall_plugin.test
@@ -7153,7 +6831,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_show_slave_hosts.cnf
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_show_slave_hosts.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_show_slave_running.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_show_slave_status_deadlock.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_skip_ddl_errors_cli.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_skip_error-slave.opt
@@ -7181,16 +6858,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sp_effects-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sp_effects-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sp_effects.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sp_privileges.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_spec_variables-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_spec_variables.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_special_charset-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_special_charset-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_special_charset.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sporadic_master-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sporadic_master.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sql_thread_killed_waiting_commit_lock-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sql_thread_killed_waiting_commit_lock.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ssl.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_ssl1.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_000001.test
@@ -7201,8 +6872,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_drop_create_temp_table.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_flsh_tbls.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_found_rows.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_ignore-slave.opt
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_ignore.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_implicit_commit_binlog.test
@@ -7217,7 +6886,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_log.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_max_relay_size.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_mix_mts_show_relaylog_events.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_mix_rollback_to_savepoint.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_mix_show_relaylog_events.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_mixed_crash_safe-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_mixed_crash_safe.test
@@ -7240,7 +6908,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_until.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_until_pos_middle_gtid.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stm_user_variables.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stop_slave.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed-master.opt
@@ -7252,7 +6919,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_temp_table_mix_row.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_temporal_fractional.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_temporary.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_temporary_error_table_repository.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_temporary_errors-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_temporary_errors.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_test_framework.cnf
@@ -7273,8 +6939,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_udf-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_udf-slave.opt
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_udf.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_unknown_ignorable_event.test
-file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_unsafe_statements.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_user.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_user_variables.test
 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_variables.test
@@ -7385,6 +7049,8 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/inc/range_alloc_block_size_basic.inc
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/inc/slave_transaction_retries_basic.inc
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc
+file path=usr/mysql/5.6/mysql-test/suite/sys_vars/inc/transaction_alloc_block_size_basic.inc
+file path=usr/mysql/5.6/mysql-test/suite/sys_vars/inc/transaction_prealloc_size_basic.inc
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/all_vars.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/auto_increment_increment_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/auto_increment_increment_func.result
@@ -7398,7 +7064,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/autocommit_func5.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/automatic_sp_privileges_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/automatic_sp_privileges_func.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/avoid_temporal_upgrade_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/back_log_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/basedir_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/big_tables_basic.result
@@ -7407,9 +7072,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_cache_size_basic_64.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_checksum_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_direct_non_transactional_updates_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_error_action_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_format_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_gtid_simple_recovery_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_max_flush_queue_time_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_order_commits_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/binlog_row_image_basic.result
@@ -7603,7 +7266,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_numa_interleave_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_old_blocks_pct_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_old_blocks_time_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_online_alter_log_max_size_basic.result
@@ -7644,21 +7306,11 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_table_locks_func.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_thread_concurrency_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_thread_sleep_delay_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_tmpdir_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_trx_purge_view_update_only_debug_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_trx_rseg_n_slots_debug_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_undo_directory_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_undo_logs_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_undo_tablespaces_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_use_native_aio_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_use_sys_malloc_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_version_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/innodb_write_io_threads_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/insert_id_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/insert_id_func.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/interactive_timeout_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/interactive_timeout_func.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/join_buffer_size_basic_32.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/join_buffer_size_basic_64.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/keep_files_on_create_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/key_buffer_size_basic.result
@@ -7717,7 +7369,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_connect_errors_basic_64.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_connections_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_delayed_threads_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_digest_length_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_error_count_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_heap_table_size_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/max_insert_delayed_threads_basic.result
@@ -7793,7 +7444,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_hosts_size_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_max_cond_classes_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_max_cond_instances_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_max_digest_length_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_max_file_classes_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_max_file_handles_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/pfs_max_file_instances_basic.result
@@ -7881,8 +7531,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/sha256_password_public_key_path_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/shared_memory_base_name_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/shared_memory_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/show_old_temporals_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/simplified_binlog_gtid_recovery_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/skip_external_locking_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/skip_name_resolve_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/skip_networking_basic.result
@@ -7945,7 +7593,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/stored_program_cache_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/sync_binlog_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/sync_frm_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/sync_master_info_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/sync_relay_log_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/sync_relay_log_info_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/system_time_zone_basic.result
@@ -7966,9 +7613,11 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/timestamp_sysdate_is_now_func.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/tmp_table_size_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/tmpdir_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic.result
+file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic_32.result
+file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic_64.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_allow_batching_basic.result
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_prealloc_size_basic.result
+file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_prealloc_size_basic_32.result
+file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/transaction_prealloc_size_basic_64.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/tx_isolation_basic.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/tx_isolation_func.result
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/r/tx_read_only_basic.result
@@ -8000,7 +7649,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/autocommit_func5.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/automatic_sp_privileges_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/automatic_sp_privileges_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/avoid_temporal_upgrade_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/back_log_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/basedir_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/big_tables_basic.test
@@ -8009,9 +7657,7 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_cache_size_basic_64.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_checksum_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_direct_non_transactional_updates_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_error_action_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_format_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_gtid_simple_recovery_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_max_flush_queue_time_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_order_commits_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/binlog_row_image_basic.test
@@ -8115,11 +7761,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/host_cache_size_basic-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/host_cache_size_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/hostname_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/identity_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/identity_func-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/identity_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/ignore_builtin_innodb_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/ignore_db_dirs_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/init_connect_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/init_file_basic.test
@@ -8135,8 +7776,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_api_enable_mdl_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_api_trx_level_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_autoextend_increment_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_autoinc_lock_mode_func.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_buf_flush_list_now_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_buffer_pool_dump_at_shutdown_basic.test
@@ -8218,7 +7857,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_monitor_enable_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_monitor_reset_all_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_monitor_reset_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_numa_interleave_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_old_blocks_pct_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_old_blocks_time_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_online_alter_log_max_size_basic.test
@@ -8251,30 +7889,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_status_output_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_status_output_locks_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_strict_mode_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_support_xa_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_support_xa_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_sync_array_size_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_sync_spin_loops_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_table_locks_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_table_locks_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_thread_concurrency_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_thread_sleep_delay_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_tmpdir_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_trx_purge_view_update_only_debug_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_undo_directory_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_undo_logs_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_undo_tablespaces_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_use_native_aio_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_use_sys_malloc_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_version_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/innodb_write_io_threads_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/insert_id_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/insert_id_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/interactive_timeout_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/interactive_timeout_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/join_buffer_size_basic_32.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/join_buffer_size_basic_64.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/keep_files_on_create_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/key_buffer_size_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/key_buffer_size_func.test
@@ -8314,28 +7932,10 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_queries_not_using_indexes_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_slave_updates_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_slow_admin_statements_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_slow_admin_statements_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_slow_slave_statements_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_throttle_queries_not_using_indexes_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_warnings_basic_32.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/log_warnings_basic_64.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/long_query_time_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/low_priority_updates_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/lower_case_file_system_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/lower_case_table_names_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/master_info_repository_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/master_verify_checksum_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_allowed_packet_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_allowed_packet_func.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_binlog_cache_size_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_binlog_size_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_binlog_stmt_cache_size_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_connect_errors_basic_32.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_connect_errors_basic_64.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_connections_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_delayed_threads_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_digest_length_basic-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_digest_length_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_error_count_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_heap_table_size_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/max_insert_delayed_threads_basic.test
@@ -8427,8 +8027,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_cond_classes_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_cond_instances_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_digest_length_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_file_classes_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/pfs_max_file_handles_basic-master.opt
@@ -8548,8 +8146,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/sha256_password_public_key_path_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/shared_memory_base_name_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/shared_memory_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/show_old_temporals_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/simplified_binlog_gtid_recovery_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/skip_external_locking_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/skip_name_resolve_basic-master.opt
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/skip_name_resolve_basic.test
@@ -8640,34 +8236,6 @@
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/timestamp_sysdate_is_now_func.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/tmp_table_size_basic.test
 file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/tmpdir_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/transaction_allow_batching_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/transaction_prealloc_size_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/tx_isolation_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/tx_isolation_func-master.opt
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/tx_isolation_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/tx_read_only_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/unique_checks_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/updatable_views_with_limit_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/updatable_views_with_limit_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/version_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/version_comment_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/version_compile_machine_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/version_compile_os_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/wait_timeout_basic.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/wait_timeout_func.test
-file path=usr/mysql/5.6/mysql-test/suite/sys_vars/t/warning_count_basic.test
-file path=usr/mysql/5.6/mysql-test/t/1st.test
-file path=usr/mysql/5.6/mysql-test/t/alias.test
-file path=usr/mysql/5.6/mysql-test/t/almost_full.test
-file path=usr/mysql/5.6/mysql-test/t/alter_table-big.test
-file path=usr/mysql/5.6/mysql-test/t/alter_table.test
-file path=usr/mysql/5.6/mysql-test/t/analyze.test
-file path=usr/mysql/5.6/mysql-test/t/ansi.test
-file path=usr/mysql/5.6/mysql-test/t/archive-big.test
-file path=usr/mysql/5.6/mysql-test/t/archive.test
-file path=usr/mysql/5.6/mysql-test/t/archive_bitfield.test
-file path=usr/mysql/5.6/mysql-test/t/archive_debug.test
 file path=usr/mysql/5.6/mysql-test/t/archive_gis.test
 file path=usr/mysql/5.6/mysql-test/t/archive_no_symlink-master.opt
 file path=usr/mysql/5.6/mysql-test/t/archive_no_symlink.test
@@ -8686,13 +8254,6 @@
 file path=usr/mysql/5.6/mysql-test/t/blackhole.test
 file path=usr/mysql/5.6/mysql-test/t/blackhole_plugin-master.opt
 file path=usr/mysql/5.6/mysql-test/t/blackhole_plugin.test
-file path=usr/mysql/5.6/mysql-test/t/bool.test
-file path=usr/mysql/5.6/mysql-test/t/bootstrap-master.opt
-file path=usr/mysql/5.6/mysql-test/t/bootstrap.test
-file path=usr/mysql/5.6/mysql-test/t/bug12427262.test
-file path=usr/mysql/5.6/mysql-test/t/bug12969156-master.opt
-file path=usr/mysql/5.6/mysql-test/t/bug12969156.test
-file path=usr/mysql/5.6/mysql-test/t/bug17076131-master.opt
 file path=usr/mysql/5.6/mysql-test/t/bug17076131.test
 file path=usr/mysql/5.6/mysql-test/t/bug33509-master.opt
 file path=usr/mysql/5.6/mysql-test/t/bug33509.test
@@ -8731,7 +8292,6 @@
 file path=usr/mysql/5.6/mysql-test/t/concurrent_innodb_unsafelog-master.opt
 file path=usr/mysql/5.6/mysql-test/t/concurrent_innodb_unsafelog.test
 file path=usr/mysql/5.6/mysql-test/t/connect.test
-file path=usr/mysql/5.6/mysql-test/t/connect_debug.test
 file path=usr/mysql/5.6/mysql-test/t/consistent_snapshot.test
 file path=usr/mysql/5.6/mysql-test/t/constraints.test
 file path=usr/mysql/5.6/mysql-test/t/count_distinct.test
@@ -8751,7 +8311,6 @@
 file path=usr/mysql/5.6/mysql-test/t/ctype_collate.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_cp1250_ch.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_cp1251.test
-file path=usr/mysql/5.6/mysql-test/t/ctype_cp932.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_cp932_binlog_row.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_cp932_binlog_stm.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_create.test
@@ -8759,7 +8318,6 @@
 file path=usr/mysql/5.6/mysql-test/t/ctype_eucjpms.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_euckr.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_filename.test
-file path=usr/mysql/5.6/mysql-test/t/ctype_filesystem-master.opt
 file path=usr/mysql/5.6/mysql-test/t/ctype_filesystem.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_gb2312.test
 file path=usr/mysql/5.6/mysql-test/t/ctype_gbk.test
@@ -8827,8 +8385,6 @@
 file path=usr/mysql/5.6/mysql-test/t/ds_mrr-big.test
 file path=usr/mysql/5.6/mysql-test/t/dynamic_tracing.test
 file path=usr/mysql/5.6/mysql-test/t/empty_table.test
-file path=usr/mysql/5.6/mysql-test/t/enable_cleartext_plugin-master.opt
-file path=usr/mysql/5.6/mysql-test/t/enable_cleartext_plugin.test
 file path=usr/mysql/5.6/mysql-test/t/endspace.test
 file path=usr/mysql/5.6/mysql-test/t/eq_range_idx_stat.test
 file path=usr/mysql/5.6/mysql-test/t/error_simulation.test
@@ -8918,8 +8474,6 @@
 file path=usr/mysql/5.6/mysql-test/t/func_sapdb.test
 file path=usr/mysql/5.6/mysql-test/t/func_set.test
 file path=usr/mysql/5.6/mysql-test/t/func_str.test
-file path=usr/mysql/5.6/mysql-test/t/func_str_debug.test
-file path=usr/mysql/5.6/mysql-test/t/func_str_no_ps.test
 file path=usr/mysql/5.6/mysql-test/t/func_system.test
 file path=usr/mysql/5.6/mysql-test/t/func_test.test
 file path=usr/mysql/5.6/mysql-test/t/func_time.test
@@ -9009,8 +8563,6 @@
 file path=usr/mysql/5.6/mysql-test/t/innodb_mysql_sync.test
 file path=usr/mysql/5.6/mysql-test/t/innodb_pk_extension_off.test
 file path=usr/mysql/5.6/mysql-test/t/innodb_pk_extension_on.test
-file path=usr/mysql/5.6/mysql-test/t/innodb_recovery_with_upper_case_names-master.opt
-file path=usr/mysql/5.6/mysql-test/t/innodb_recovery_with_upper_case_names.test
 file path=usr/mysql/5.6/mysql-test/t/insert.test
 file path=usr/mysql/5.6/mysql-test/t/insert_notembedded.test
 file path=usr/mysql/5.6/mysql-test/t/insert_select.test
@@ -9030,7 +8582,6 @@
 file path=usr/mysql/5.6/mysql-test/t/join_nested_bka.test
 file path=usr/mysql/5.6/mysql-test/t/join_nested_bka_nixbnl.test
 file path=usr/mysql/5.6/mysql-test/t/join_outer.test
-file path=usr/mysql/5.6/mysql-test/t/join_outer_bka.test
 file path=usr/mysql/5.6/mysql-test/t/join_outer_bka_nixbnl.test
 file path=usr/mysql/5.6/mysql-test/t/join_outer_innodb.test
 file path=usr/mysql/5.6/mysql-test/t/key.test
@@ -9043,9 +8594,6 @@
 file path=usr/mysql/5.6/mysql-test/t/kill_debug.test
 file path=usr/mysql/5.6/mysql-test/t/limit.test
 file path=usr/mysql/5.6/mysql-test/t/loaddata.test
-file path=usr/mysql/5.6/mysql-test/t/loaddata_autocom_innodb.test
-file path=usr/mysql/5.6/mysql-test/t/loadxml.test
-file path=usr/mysql/5.6/mysql-test/t/locale.test
 file path=usr/mysql/5.6/mysql-test/t/lock.test
 file path=usr/mysql/5.6/mysql-test/t/lock_multi.test
 file path=usr/mysql/5.6/mysql-test/t/lock_multi_bug38499.test
@@ -9054,9 +8602,6 @@
 file path=usr/mysql/5.6/mysql-test/t/lock_sync.test
 file path=usr/mysql/5.6/mysql-test/t/lock_tables_lost_commit-master.opt
 file path=usr/mysql/5.6/mysql-test/t/lock_tables_lost_commit.test
-file path=usr/mysql/5.6/mysql-test/t/log_empty_name.opt
-file path=usr/mysql/5.6/mysql-test/t/log_empty_name.test
-file path=usr/mysql/5.6/mysql-test/t/log_errchk.test
 file path=usr/mysql/5.6/mysql-test/t/log_state-master.opt
 file path=usr/mysql/5.6/mysql-test/t/log_state.test
 file path=usr/mysql/5.6/mysql-test/t/log_state_bug33693-master.opt
@@ -9071,7 +8616,6 @@
 file path=usr/mysql/5.6/mysql-test/t/long_tmpdir-master.sh
 file path=usr/mysql/5.6/mysql-test/t/long_tmpdir.test
 file path=usr/mysql/5.6/mysql-test/t/lowercase_fs_off.test
-file path=usr/mysql/5.6/mysql-test/t/lowercase_fs_on.test
 file path=usr/mysql/5.6/mysql-test/t/lowercase_mixed_tmpdir-master.opt
 file path=usr/mysql/5.6/mysql-test/t/lowercase_mixed_tmpdir-master.sh
 file path=usr/mysql/5.6/mysql-test/t/lowercase_mixed_tmpdir.test
@@ -9081,6 +8625,8 @@
 file path=usr/mysql/5.6/mysql-test/t/lowercase_table-master.opt
 file path=usr/mysql/5.6/mysql-test/t/lowercase_table.test
 file path=usr/mysql/5.6/mysql-test/t/lowercase_table2.test
+file path=usr/mysql/5.6/mysql-test/t/lowercase_table3-master.opt
+file path=usr/mysql/5.6/mysql-test/t/lowercase_table3.test
 file path=usr/mysql/5.6/mysql-test/t/lowercase_table4-master.opt
 file path=usr/mysql/5.6/mysql-test/t/lowercase_table4.test
 file path=usr/mysql/5.6/mysql-test/t/lowercase_table_grant-master.opt
@@ -9099,6 +8645,8 @@
 file path=usr/mysql/5.6/mysql-test/t/merge_innodb.test
 file path=usr/mysql/5.6/mysql-test/t/merge_mmap-master.opt
 file path=usr/mysql/5.6/mysql-test/t/merge_mmap.test
+file path=usr/mysql/5.6/mysql-test/t/merge_recover-master.opt
+file path=usr/mysql/5.6/mysql-test/t/merge_recover.test
 file path=usr/mysql/5.6/mysql-test/t/metadata.test
 file path=usr/mysql/5.6/mysql-test/t/mix2_myisam-master.opt
 file path=usr/mysql/5.6/mysql-test/t/mix2_myisam.test
@@ -9107,9 +8655,6 @@
 file path=usr/mysql/5.6/mysql-test/t/multi_plugin_load.test
 file path=usr/mysql/5.6/mysql-test/t/multi_plugin_load_add-master.opt
 file path=usr/mysql/5.6/mysql-test/t/multi_plugin_load_add.test
-file path=usr/mysql/5.6/mysql-test/t/multi_plugin_load_add2-master.opt
-file path=usr/mysql/5.6/mysql-test/t/multi_plugin_load_add2.test
-file path=usr/mysql/5.6/mysql-test/t/multi_statement-master.opt
 file path=usr/mysql/5.6/mysql-test/t/multi_statement.test
 file path=usr/mysql/5.6/mysql-test/t/multi_update-master.opt
 file path=usr/mysql/5.6/mysql-test/t/multi_update.test
@@ -9139,8 +8684,6 @@
 file path=usr/mysql/5.6/mysql-test/t/myisam_mrr_cost_icp.test
 file path=usr/mysql/5.6/mysql-test/t/myisam_mrr_icp.test
 file path=usr/mysql/5.6/mysql-test/t/myisam_mrr_none.test
-file path=usr/mysql/5.6/mysql-test/t/myisam_recover-master.opt
-file path=usr/mysql/5.6/mysql-test/t/myisam_recover.test
 file path=usr/mysql/5.6/mysql-test/t/myisam_row_rpl-master.opt
 file path=usr/mysql/5.6/mysql-test/t/myisam_row_rpl-slave.opt
 file path=usr/mysql/5.6/mysql-test/t/myisam_row_rpl.test
@@ -9174,7 +8717,6 @@
 file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog-master.opt
 file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog.test
 file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog_debug.test
-file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog_mixed_or_statment.test
 file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog_raw_mode.test
 file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog_raw_mode_win.test
 file path=usr/mysql/5.6/mysql-test/t/mysqlbinlog_row_big.test
@@ -9456,7 +8998,6 @@
 file path=usr/mysql/5.6/mysql-test/t/status.test
 file path=usr/mysql/5.6/mysql-test/t/status2.test
 file path=usr/mysql/5.6/mysql-test/t/status_bug17954.test
-file path=usr/mysql/5.6/mysql-test/t/status_debug.test
 file path=usr/mysql/5.6/mysql-test/t/strict-master.opt
 file path=usr/mysql/5.6/mysql-test/t/strict.test
 file path=usr/mysql/5.6/mysql-test/t/strict_autoinc_1myisam.test
@@ -9490,8 +9031,6 @@
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_dupsweed_bka_nixbnl.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_dupsweed_bkaunique-master.opt
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_dupsweed_bkaunique.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_firstmatch-master.opt
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_firstmatch.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_firstmatch_bka-master.opt
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_firstmatch_bka.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_firstmatch_bka_nixbnl.test
@@ -9502,18 +9041,6 @@
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_innodb_all_bkaunique.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_innodb_none.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_innodb_none_bka.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_innodb_none_bka_nixbnl.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_innodb_none_bkaunique.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_loosescan.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_loosescan_bka.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_loosescan_bka_nixbnl.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_loosescan_bkaunique.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_mat.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_mat_bka.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_mat_bka_nixbnl.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_mat_bkaunique.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_mat_nosj.test
-file path=usr/mysql/5.6/mysql-test/t/subquery_sj_none.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_none_bka.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_none_bka_nixbnl.test
 file path=usr/mysql/5.6/mysql-test/t/subquery_sj_none_bkaunique.test
@@ -9542,8 +9069,6 @@
 file path=usr/mysql/5.6/mysql-test/t/table_open_cache_functionality.test
 file path=usr/mysql/5.6/mysql-test/t/tablelock.test
 file path=usr/mysql/5.6/mysql-test/t/tablespace.test
-file path=usr/mysql/5.6/mysql-test/t/temp_pool-master.opt
-file path=usr/mysql/5.6/mysql-test/t/temp_pool.test
 file path=usr/mysql/5.6/mysql-test/t/temp_table-master.opt
 file path=usr/mysql/5.6/mysql-test/t/temp_table.test
 file path=usr/mysql/5.6/mysql-test/t/temporal_literal.test
@@ -9722,6 +9247,4 @@
 # added dependency on mysql-56
 depend type=require fmri=__TBD pkg.debug.depend.file=usr/mysql/5.6/bin/mysql
 depend type=require \
-    fmri=database/mysql-56/library@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
-depend type=require \
     fmri=database/mysql-56@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- a/components/mysql-5-6/patches/bug22552923.patch	Sat Jun 25 10:48:59 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-Developed in-house, not fed back.
-Solaris-specific
-This patch is added so that libmysqlclient.so.18 doesn't contain undefined references 
-
---- a/configure.cmake
-+++ b/configure.cmake
-@@ -67,17 +67,27 @@
- # The default C++ library for SunPro is really old, and not standards compliant.
- # http://www.oracle.com/technetwork/server-storage/solaris10/cmp-stlport-libcstd-142559.html
--# Use stlport rather than Rogue Wave.
-+# Use stlport rather than Rogue Wave,
-+#   unless otherwise specified on command line.
- IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
-   IF(CMAKE_CXX_COMPILER_ID MATCHES "SunPro")
--    IF(SUNPRO_CXX_LIBRARY)
--      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=${SUNPRO_CXX_LIBRARY}")
--      IF(SUNPRO_CXX_LIBRARY STREQUAL "stdcxx4")
--        ADD_DEFINITIONS(-D__MATHERR_RENAME_EXCEPTION)
--        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -template=extdef")
--      ENDIF()
-+    IF(CMAKE_CXX_FLAGS MATCHES "-std=")
-+      ADD_DEFINITIONS(-D__MATHERR_RENAME_EXCEPTION)
-+      SET(CMAKE_SHARED_LIBRARY_C_FLAGS
-+        "${CMAKE_SHARED_LIBRARY_C_FLAGS} -lc")
-+      SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS
-+        "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -lstdc++ -lgcc_s -lCrunG3 -lc")
-+      SET(QUOTED_CMAKE_CXX_LINK_FLAGS "-lstdc++ -lgcc_s -lCrunG3 -lc")
-     ELSE()
--      SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=stlport4")
-+      IF(SUNPRO_CXX_LIBRARY)
-+        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=${SUNPRO_CXX_LIBRARY}")
-+        IF(SUNPRO_CXX_LIBRARY STREQUAL "stdcxx4")
-+          ADD_DEFINITIONS(-D__MATHERR_RENAME_EXCEPTION)
-+          SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -template=extdef")
-+        ENDIF()
-+      ELSE()
-+        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -library=stlport4")
-+      ENDIF()
-     ENDIF()
-   ENDIF()
- ENDIF()
-
--- a/components/mysql-5-6/patches/bug22932576.patch	Sat Jun 25 10:48:59 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19424 +0,0 @@
-Developed in-house, not fed back.
-Solaris-specific
-stlport is no longer supported/maintained, so we had to switch to std=c++03
-For Sun Studio we must build with -std=c++03 flag
-Since Sun Studio depends on seeing __attribute__ ((__weakref__)) in order to generate correct code.
-Introduced MY_ATTRIBUTE:  sed -i -e 's/__attribute__/MY_ATTRIBUTE/g' `cat <all srouce files>`
-
---- a/client/mysql.cc
-+++ b/client/mysql.cc
-@@ -1819,7 +1819,7 @@ static void usage(int version)
- 
- 
- my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   switch(optid) {
-@@ -2755,8 +2755,8 @@ static void initialize_readline (char *name)
- */
- 
- static char **new_mysql_completion(const char *text,
--                                   int start __attribute__((unused)),
--                                   int end __attribute__((unused)))
-+                                   int start MY_ATTRIBUTE((unused)),
-+                                   int end MY_ATTRIBUTE((unused)))
- {
-   if (!status.batch && !quick)
- #if defined(USE_NEW_READLINE_INTERFACE)
-@@ -3166,8 +3166,8 @@ static void print_help_item(MYSQL_ROW *cur, int num_name, int num_cat, char *las
- }
- 
- 
--static int com_server_help(String *buffer __attribute__((unused)),
--			   char *line __attribute__((unused)), char *help_arg)
-+static int com_server_help(String *buffer MY_ATTRIBUTE((unused)),
-+			   char *line MY_ATTRIBUTE((unused)), char *help_arg)
- {
-   MYSQL_ROW cur;
-   const char *server_cmd;
-@@ -3273,8 +3273,8 @@ err:
- }
- 
- static int
--com_help(String *buffer __attribute__((unused)),
--	 char *line __attribute__((unused)))
-+com_help(String *buffer MY_ATTRIBUTE((unused)),
-+	 char *line MY_ATTRIBUTE((unused)))
- {
-   reg1 int i, j;
-   char * help_arg= strchr(line,' '), buff[32], *end;
-@@ -3313,7 +3313,7 @@ com_help(String *buffer __attribute__((unused)),
- 
- 	/* ARGSUSED */
- static int
--com_clear(String *buffer,char *line __attribute__((unused)))
-+com_clear(String *buffer,char *line MY_ATTRIBUTE((unused)))
- {
- #ifdef HAVE_READLINE
-   if (status.add_to_history)
-@@ -3325,7 +3325,7 @@ com_clear(String *buffer,char *line __attribute__((unused)))
- 
- 	/* ARGSUSED */
- static int
--com_charset(String *buffer __attribute__((unused)), char *line)
-+com_charset(String *buffer MY_ATTRIBUTE((unused)), char *line)
- {
-   char buff[256], *param;
-   const CHARSET_INFO *new_cs;
-@@ -3357,7 +3357,7 @@ com_charset(String *buffer __attribute__((unused)), char *line)
- 
- 
- static int
--com_go(String *buffer,char *line __attribute__((unused)))
-+com_go(String *buffer,char *line MY_ATTRIBUTE((unused)))
- {
-   char		buff[200]; /* about 110 chars used so far */
-   char		time_buff[52+3+1]; /* time max + space&parens + NUL */
-@@ -4118,8 +4118,8 @@ print_tab_data(MYSQL_RES *result)
- }
- 
- static int
--com_tee(String *buffer __attribute__((unused)),
--        char *line __attribute__((unused)))
-+com_tee(String *buffer MY_ATTRIBUTE((unused)),
-+        char *line MY_ATTRIBUTE((unused)))
- {
-   char file_name[FN_REFLEN], *end, *param;
- 
-@@ -4161,8 +4161,8 @@ com_tee(String *buffer __attribute__((unused)),
- 
- 
- static int
--com_notee(String *buffer __attribute__((unused)),
--	  char *line __attribute__((unused)))
-+com_notee(String *buffer MY_ATTRIBUTE((unused)),
-+	  char *line MY_ATTRIBUTE((unused)))
- {
-   if (opt_outfile)
-     end_tee();
-@@ -4176,8 +4176,8 @@ com_notee(String *buffer __attribute__((unused)),
- 
- #ifdef USE_POPEN
- static int
--com_pager(String *buffer __attribute__((unused)),
--          char *line __attribute__((unused)))
-+com_pager(String *buffer MY_ATTRIBUTE((unused)),
-+          char *line MY_ATTRIBUTE((unused)))
- {
-   char pager_name[FN_REFLEN], *end, *param;
- 
-@@ -4220,8 +4220,8 @@ com_pager(String *buffer __attribute__((unused)),
- 
- 
- static int
--com_nopager(String *buffer __attribute__((unused)),
--	    char *line __attribute__((unused)))
-+com_nopager(String *buffer MY_ATTRIBUTE((unused)),
-+	    char *line MY_ATTRIBUTE((unused)))
- {
-   strmov(pager, "stdout");
-   opt_nopager=1;
-@@ -4238,7 +4238,7 @@ com_nopager(String *buffer __attribute__((unused)),
- 
- #ifdef USE_POPEN
- static int
--com_edit(String *buffer,char *line __attribute__((unused)))
-+com_edit(String *buffer,char *line MY_ATTRIBUTE((unused)))
- {
-   char	filename[FN_REFLEN],buff[160];
-   int	fd,tmp;
-@@ -4282,16 +4282,16 @@ err:
- /* If arg is given, exit without errors. This happens on command 'quit' */
- 
- static int
--com_quit(String *buffer __attribute__((unused)),
--	 char *line __attribute__((unused)))
-+com_quit(String *buffer MY_ATTRIBUTE((unused)),
-+	 char *line MY_ATTRIBUTE((unused)))
- {
-   status.exit_status=0;
-   return 1;
- }
- 
- static int
--com_rehash(String *buffer __attribute__((unused)),
--	 char *line __attribute__((unused)))
-+com_rehash(String *buffer MY_ATTRIBUTE((unused)),
-+	 char *line MY_ATTRIBUTE((unused)))
- {
- #ifdef HAVE_READLINE
-   build_completion_hash(1, 0);
-@@ -4302,8 +4302,8 @@ com_rehash(String *buffer __attribute__((unused)),
- 
- #ifdef USE_POPEN
- static int
--com_shell(String *buffer __attribute__((unused)),
--          char *line __attribute__((unused)))
-+com_shell(String *buffer MY_ATTRIBUTE((unused)),
-+          char *line MY_ATTRIBUTE((unused)))
- {
-   char *shell_cmd;
- 
-@@ -4330,7 +4330,7 @@ com_shell(String *buffer __attribute__((unused)),
- 
- 
- static int
--com_print(String *buffer,char *line __attribute__((unused)))
-+com_print(String *buffer,char *line MY_ATTRIBUTE((unused)))
- {
-   tee_puts("--------------", stdout);
-   (void) tee_fputs(buffer->c_ptr(), stdout);
-@@ -4395,7 +4395,7 @@ com_connect(String *buffer, char *line)
- }
- 
- 
--static int com_source(String *buffer __attribute__((unused)),
-+static int com_source(String *buffer MY_ATTRIBUTE((unused)),
-                       char *line)
- {
-   char source_name[FN_REFLEN], *end, *param;
-@@ -4450,7 +4450,7 @@ static int com_source(String *buffer __attribute__((unused)),
- 
- 	/* ARGSUSED */
- static int
--com_delimiter(String *buffer __attribute__((unused)), char *line)
-+com_delimiter(String *buffer MY_ATTRIBUTE((unused)), char *line)
- {
-   char buff[256], *tmp;
- 
-@@ -4479,7 +4479,7 @@ com_delimiter(String *buffer __attribute__((unused)), char *line)
- 
- 	/* ARGSUSED */
- static int
--com_use(String *buffer __attribute__((unused)), char *line)
-+com_use(String *buffer MY_ATTRIBUTE((unused)), char *line)
- {
-   char *tmp, buff[FN_REFLEN + 1];
-   int select_db;
-@@ -4624,8 +4624,8 @@ normalize_dbname(const char *line, char *buff, uint buff_size)
- }
- 
- static int
--com_warnings(String *buffer __attribute__((unused)),
--   char *line __attribute__((unused)))
-+com_warnings(String *buffer MY_ATTRIBUTE((unused)),
-+   char *line MY_ATTRIBUTE((unused)))
- {
-   show_warnings = 1;
-   put_info("Show warnings enabled.",INFO_INFO);
-@@ -4633,8 +4633,8 @@ com_warnings(String *buffer __attribute__((unused)),
- }
- 
- static int
--com_nowarnings(String *buffer __attribute__((unused)),
--   char *line __attribute__((unused)))
-+com_nowarnings(String *buffer MY_ATTRIBUTE((unused)),
-+   char *line MY_ATTRIBUTE((unused)))
- {
-   show_warnings = 0;
-   put_info("Show warnings disabled.",INFO_INFO);
-@@ -4914,8 +4914,8 @@ sql_connect(char *host,char *database,char *user,char *password,uint silent)
- 
- 
- static int
--com_status(String *buffer __attribute__((unused)),
--	   char *line __attribute__((unused)))
-+com_status(String *buffer MY_ATTRIBUTE((unused)),
-+	   char *line MY_ATTRIBUTE((unused)))
- {
-   const char *status_str;
-   char buff[40];
-@@ -5555,7 +5555,7 @@ static void init_username()
-   }
- }
- 
--static int com_prompt(String *buffer __attribute__((unused)),
-+static int com_prompt(String *buffer MY_ATTRIBUTE((unused)),
-                       char *line)
- {
-   char *ptr=strchr(line, ' ');
---- a/client/mysql_config_editor.cc
-+++ b/client/mysql_config_editor.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -209,7 +209,7 @@ static struct my_option my_help_command_options[]=
- 
- my_bool
- my_program_get_one_option(int optid,
--                          const struct my_option *opt __attribute__((unused)),
-+                          const struct my_option *opt MY_ATTRIBUTE((unused)),
-                           char *argument)
- {
-   switch(optid) {
-@@ -230,7 +230,7 @@ my_program_get_one_option(int optid,
- 
- my_bool
- my_set_command_get_one_option(int optid,
--                              const struct my_option *opt __attribute__((unused)),
-+                              const struct my_option *opt MY_ATTRIBUTE((unused)),
-                               char *argument)
- {
-   switch(optid) {
-@@ -257,7 +257,7 @@ my_set_command_get_one_option(int optid,
- 
- my_bool
- my_remove_command_get_one_option(int optid,
--                                 const struct my_option *opt __attribute__((unused)),
-+                                 const struct my_option *opt MY_ATTRIBUTE((unused)),
-                                  char *argument)
- {
-   switch(optid) {
-@@ -281,7 +281,7 @@ my_remove_command_get_one_option(int optid,
- 
- my_bool
- my_print_command_get_one_option(int optid,
--                                const struct my_option *opt __attribute__((unused)),
-+                                const struct my_option *opt MY_ATTRIBUTE((unused)),
-                                 char *argument)
- {
-   switch(optid) {
-@@ -305,7 +305,7 @@ my_print_command_get_one_option(int optid,
- 
- my_bool
- my_reset_command_get_one_option(int optid,
--                                const struct my_option *opt __attribute__((unused)),
-+                                const struct my_option *opt MY_ATTRIBUTE((unused)),
-                                 char *argument)
- {
-   switch(optid) {
---- a/client/mysql_plugin.c
-+++ b/client/mysql_plugin.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -406,7 +406,7 @@ exit:
- static void usage(void)
- {
-   PRINT_VERSION;
--  puts("Copyright (c) 2011, 2015, Oracle and/or its affiliates. "
-+  puts("Copyright (c) 2011, 2016, Oracle and/or its affiliates. "
-        "All rights reserved.\n");
-   puts("Enable or disable plugins.");
-   printf("\nUsage: %s [options] <plugin> ENABLE|DISABLE\n\nOptions:\n",
-@@ -471,7 +471,7 @@ static void print_default_values(void)
- 
- static my_bool
- get_one_option(int optid,
--               const struct my_option *opt __attribute__((unused)),
-+               const struct my_option *opt MY_ATTRIBUTE((unused)),
-                char *argument)
- {
-   switch(optid) {
---- a/client/mysqladmin.cc
-+++ b/client/mysqladmin.cc
-@@ -237,7 +237,7 @@ static struct my_option my_long_options[] =
- static const char *load_default_groups[]= { "mysqladmin","client",0 };
- 
- my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   int error = 0;
-@@ -528,7 +528,7 @@ int main(int argc,char *argv[])
- }
- 
- 
--sig_handler endprog(int signal_number __attribute__((unused)))
-+sig_handler endprog(int signal_number MY_ATTRIBUTE((unused)))
- {
-   interrupted=1;
- }
-@@ -1416,7 +1416,7 @@ static void print_top(MYSQL_RES *result)
- 
- /* 3.rd argument, uint row, is not in use. Don't remove! */
- static void print_row(MYSQL_RES *result, MYSQL_ROW cur,
--		      uint row __attribute__((unused)))
-+		      uint row MY_ATTRIBUTE((unused)))
- {
-   uint i,length;
-   MYSQL_FIELD *field;
-@@ -1451,9 +1451,9 @@ static void print_relative_row(MYSQL_RES *result, MYSQL_ROW cur, uint row)
- }
- 
- 
--static void print_relative_row_vert(MYSQL_RES *result __attribute__((unused)),
-+static void print_relative_row_vert(MYSQL_RES *result MY_ATTRIBUTE((unused)),
- 				    MYSQL_ROW cur,
--				    uint row __attribute__((unused)))
-+				    uint row MY_ATTRIBUTE((unused)))
- {
-   uint length;
-   ulonglong tmp;
---- a/client/mysqlbinlog.cc
-+++ b/client/mysqlbinlog.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1819,7 +1819,7 @@ static my_time_t convert_str_to_timestamp(const char* str)
- 
- 
- extern "C" my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   bool tty_password=0;
---- a/client/mysqlcheck.c
-+++ b/client/mysqlcheck.c
-@@ -270,7 +270,7 @@ static void usage(void)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   int orig_what_to_do= what_to_do;
---- a/client/mysqldump.c
-+++ b/client/mysqldump.c
-@@ -762,7 +762,7 @@ static void write_footer(FILE *sql_file)
- 
- 
- uchar* get_table_key(const char *entry, size_t *length,
--                     my_bool not_used __attribute__((unused)))
-+                     my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= strlen(entry);
-   return (uchar*) entry;
-@@ -770,7 +770,7 @@ uchar* get_table_key(const char *entry, size_t *length,
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-                char *argument)
- {
-   switch (optid) {
-@@ -1921,7 +1921,7 @@ static void print_xml_row(FILE *xml_file, const char *row_name,
-                           const char *str_create)
- {
-   uint i;
--  my_bool body_found __attribute__((unused)) = 0;
-+  my_bool body_found MY_ATTRIBUTE((unused)) = 0;
-   char *create_stmt_ptr= NULL;
-   ulong create_stmt_len= 0;
-   MYSQL_FIELD *field;
-@@ -4281,7 +4281,7 @@ RETURN VALUES
-   0        Success.
-   1        Failure.
- */
--int init_dumping_views(char *qdatabase __attribute__((unused)))
-+int init_dumping_views(char *qdatabase MY_ATTRIBUTE((unused)))
- {
-     return 0;
- } /* init_dumping_views */
---- a/client/mysqlimport.c
-+++ b/client/mysqlimport.c
-@@ -222,7 +222,7 @@ file. The SQL command 'LOAD DATA INFILE' is used to import the rows.\n");
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   switch(optid) {
---- a/client/mysqlshow.c
-+++ b/client/mysqlshow.c
-@@ -314,7 +314,7 @@ are shown.");
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   switch(optid) {
---- a/client/mysqlslap.c
-+++ b/client/mysqlslap.c
-@@ -736,7 +736,7 @@ static void usage(void)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-                char *argument)
- {
-   DBUG_ENTER("get_one_option");
---- a/client/mysqltest.cc
-+++ b/client/mysqltest.cc
-@@ -547,12 +547,12 @@ struct st_replace *glob_replace= 0;
- void replace_strings_append(struct st_replace *rep, DYNAMIC_STRING* ds,
- const char *from, int len);
- 
--static void cleanup_and_exit(int exit_code) __attribute__((noreturn));
-+static void cleanup_and_exit(int exit_code) MY_ATTRIBUTE((noreturn));
- 
- void die(const char *fmt, ...)
--  ATTRIBUTE_FORMAT(printf, 1, 2) __attribute__((noreturn));
-+  ATTRIBUTE_FORMAT(printf, 1, 2) MY_ATTRIBUTE((noreturn));
- void abort_not_supported_test(const char *fmt, ...)
--  ATTRIBUTE_FORMAT(printf, 1, 2) __attribute__((noreturn));
-+  ATTRIBUTE_FORMAT(printf, 1, 2) MY_ATTRIBUTE((noreturn));
- void verbose_msg(const char *fmt, ...)
-   ATTRIBUTE_FORMAT(printf, 1, 2);
- void log_msg(const char *fmt, ...)
-@@ -2121,7 +2121,7 @@ static void strip_parentheses(struct st_command *command)
- C_MODE_START
- 
- static uchar *get_var_key(const uchar* var, size_t *len,
--                          my_bool __attribute__((unused)) t)
-+                          my_bool MY_ATTRIBUTE((unused)) t)
- {
-   register char* key;
-   key = ((VAR*)var)->name;
-@@ -4320,7 +4320,7 @@ int do_echo(struct st_command *command)
- }
- 
- 
--void do_wait_for_slave_to_stop(struct st_command *c __attribute__((unused)))
-+void do_wait_for_slave_to_stop(struct st_command *c MY_ATTRIBUTE((unused)))
- {
-   static int SLAVE_POLL_INTERVAL= 300000;
-   MYSQL* mysql = &cur_con->mysql;
-@@ -8418,7 +8418,7 @@ void update_expected_errors(struct st_command* command)
- 
- */
- 
--void mark_progress(struct st_command* command __attribute__((unused)),
-+void mark_progress(struct st_command* command MY_ATTRIBUTE((unused)),
-                    int line)
- {
-   static ulonglong progress_start= 0; // < Beware
-@@ -9465,7 +9465,7 @@ typedef struct st_replace_found {
- 
- void replace_strings_append(REPLACE *rep, DYNAMIC_STRING* ds,
-                             const char *str,
--                            int len __attribute__((unused)))
-+                            int len MY_ATTRIBUTE((unused)))
- {
-   reg1 REPLACE *rep_pos;
-   reg2 REPLACE_STRING *rep_str;
---- a/cmake/build_configurations/compiler_options.cmake
-+++ b/cmake/build_configurations/compiler_options.cmake
-@@ -1,4 +1,4 @@
--# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
-+# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
- # 
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -66,11 +66,9 @@ IF(UNIX)
-       SET(SUNPRO_CXX_LIBRARY "stlport4" CACHE STRING
-         "What C++ library to use. The server needs stlport4. It is possible to build the client libraries with -DWITHOUT_SERVER=1 -DSUNPRO_CXX_LIBRARY=Cstd")
- 
--      MESSAGE(STATUS "SUNPRO_CXX_LIBRARY ${SUNPRO_CXX_LIBRARY}")
--
-       IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
-         SET(COMMON_C_FLAGS                   "-g -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
--        SET(COMMON_CXX_FLAGS                 "-g0 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic -library=${SUNPRO_CXX_LIBRARY}")
-+        SET(COMMON_CXX_FLAGS                 "-g0 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
-         # We have to specify "-xO1" for DEBUG flags here,
-         # see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6879978
-         SET(CMAKE_C_FLAGS_DEBUG              "-xO1 ${COMMON_C_FLAGS}")
-@@ -85,7 +83,7 @@ IF(UNIX)
-       ELSE() 
-         # Assume !x86 is SPARC
-         SET(COMMON_C_FLAGS                 "-g -Xa -xstrconst -mt")
--        SET(COMMON_CXX_FLAGS               "-g0 -mt -library=${SUNPRO_CXX_LIBRARY}")
-+        SET(COMMON_CXX_FLAGS               "-g0 -mt")
-         IF(32BIT)
-           SET(COMMON_C_FLAGS               "${COMMON_C_FLAGS} -xarch=sparc")
-           SET(COMMON_CXX_FLAGS             "${COMMON_CXX_FLAGS} -xarch=sparc")
-
---- a/dbug/tests.c
-+++ b/dbug/tests.c
-@@ -73,7 +73,7 @@ int main (int argc, char *argv[])
-             DBUG_EVALUATE_IF("evaluate_if", "ON", "OFF"));
-     DBUG_EXECUTE_IF("pop",  DBUG_POP(); );
-     {
--      char s[1000] __attribute__((unused));
-+      char s[1000] MY_ATTRIBUTE((unused));
-       DBUG_EXPLAIN(s, sizeof(s)-1);
-       DBUG_PRINT("explain", ("dbug explained: %s", s));
-     }
---- a/extra/comp_err.c
-+++ b/extra/comp_err.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1023,8 +1023,8 @@ static void print_version(void)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__ ((unused)),
--	       char *argument __attribute__ ((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE ((unused)),
-+	       char *argument MY_ATTRIBUTE ((unused)))
- {
-   DBUG_ENTER("get_one_option");
-   switch (optid) {
---- a/extra/innochecksum.cc
-+++ b/extra/innochecksum.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -235,8 +235,8 @@ extern "C" my_bool
- innochecksum_get_one_option(
- /*========================*/
-   int optid,
--  const struct my_option *opt __attribute__((unused)),
--  char *argument __attribute__((unused)))
-+  const struct my_option *opt MY_ATTRIBUTE((unused)),
-+  char *argument MY_ATTRIBUTE((unused)))
- {
-   switch (optid) {
-   case 'd':
---- a/extra/my_print_defaults.c
-+++ b/extra/my_print_defaults.c
-@@ -1,6 +1,6 @@
- 
- /*
--   Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -118,8 +118,8 @@ static void usage(my_bool version)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch (optid) {
-     case 'c':
---- a/extra/mysql_waitpid.c
-+++ b/extra/mysql_waitpid.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -43,8 +43,8 @@ static struct my_option my_long_options[] =
- };
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch(optid) {
-   case 'V':
---- a/extra/perror.c
-+++ b/extra/perror.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -94,8 +94,8 @@ static void usage(void)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch (optid) {
-   case 's':
---- a/extra/resolve_stack_dump.cc
-+++ b/extra/resolve_stack_dump.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -51,7 +51,7 @@ static char* dump_fname = 0, *sym_fname = 0;
- static std::vector<sym_entry> sym_table;
- static FILE* fp_dump, *fp_sym = 0, *fp_out; 
- static void die(const char* fmt, ...)
--  __attribute__((noreturn)) __attribute__((format(printf, 1, 2)));
-+  MY_ATTRIBUTE((noreturn)) MY_ATTRIBUTE((format(printf, 1, 2)));
- 
- static struct my_option my_long_options[] =
- {
-@@ -107,8 +107,8 @@ static void die(const char* fmt, ...)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch(optid) {
-   case 'V':
---- a/extra/resolveip.c
-+++ b/extra/resolveip.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -72,8 +72,8 @@ static void usage(void)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch (optid) {
-   case 'V': print_version(); exit(0);
---- a/extra/yassl/taocrypt/CMakeLists.txt
-+++ b/extra/yassl/taocrypt/CMakeLists.txt
-@@ -1,4 +1,4 @@
--# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
-+# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- # 
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -13,6 +13,8 @@
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
- 
-+INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
-+
- INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/mySTL
-                     ${CMAKE_SOURCE_DIR}/extra/yassl/taocrypt/include)
- 
-@@ -29,6 +31,14 @@ SET(TAOCRYPT_SOURCES		src/aes.cpp src/aestables.cpp src/algebra.cpp src/arc4.cpp
- 				include/random.hpp include/ripemd.hpp include/rsa.hpp include/sha.hpp
- 				include/rabbit.hpp include/hc128.hpp)
- 
-+# Segfaults with SIGILL at high optimization levels in:
-+# ModularArithmetic::SimultaneousExponentiate
-+IF(CMAKE_CXX_COMPILER_ID MATCHES "SunPro")
-+  IF(CMAKE_CXX_FLAGS MATCHES "-std=")
-+    ADD_COMPILE_FLAGS(src/integer.cpp COMPILE_FLAGS "-xO1")
-+  ENDIF()
-+ENDIF()
-+
- IF(HAVE_EXPLICIT_TEMPLATE_INSTANTIATION)
-   SET(TAOCRYPT_SOURCES ${TAOCRYPT_SOURCES} src/template_instnt.cpp)
- ENDIF()
---- a/include/atomic/nolock.h
-+++ b/include/atomic/nolock.h
-@@ -1,7 +1,7 @@
- #ifndef ATOMIC_NOLOCK_INCLUDED
- #define ATOMIC_NOLOCK_INCLUDED
- 
--/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved. reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. reserved.
-    reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -44,7 +44,7 @@
-   Type not used so minimal size (emptry struct has different size between C
-   and C++, zero-length array is gcc-specific).
- */
--typedef char my_atomic_rwlock_t __attribute__ ((unused));
-+typedef char my_atomic_rwlock_t MY_ATTRIBUTE ((unused));
- #define my_atomic_rwlock_destroy(name)
- #define my_atomic_rwlock_init(name)
- #define my_atomic_rwlock_rdlock(name)
---- a/include/lf.h
-+++ b/include/lf.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -138,7 +138,7 @@ typedef struct {
- #if defined(__GNUC__) && defined(MY_LF_EXTRA_DEBUG)
- #define LF_REQUIRE_PINS(N)                                      \
-   static const char require_pins[LF_PINBOX_PINS-N]              \
--                             __attribute__ ((unused));          \
-+                             MY_ATTRIBUTE ((unused));          \
-   static const int LF_NUM_PINS_IN_THIS_FILE= N;
- #define _lf_pin(PINS, PIN, ADDR)                                \
-   (                                                             \
---- a/include/m_ctype.h
-+++ b/include/m_ctype.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -658,10 +658,10 @@ int my_wildcmp_mb_bin(const CHARSET_INFO *cs,
-                       const char *wildstr,const char *wildend,
-                       int escape, int w_one, int w_many);
- 
--int my_strcasecmp_mb_bin(const CHARSET_INFO * cs __attribute__((unused)),
-+int my_strcasecmp_mb_bin(const CHARSET_INFO * cs MY_ATTRIBUTE((unused)),
-                          const char *s, const char *t);
- 
--void my_hash_sort_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+void my_hash_sort_mb_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                          const uchar *key, size_t len,ulong *nr1, ulong *nr2);
- 
- size_t my_strnxfrm_mb(const CHARSET_INFO *,
---- a/include/my_atomic.h
-+++ b/include/my_atomic.h
-@@ -1,7 +1,7 @@
- #ifndef MY_ATOMIC_INCLUDED
- #define MY_ATOMIC_INCLUDED
- 
--/* Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -121,11 +121,11 @@
-         typedef union {                                         \
-           int  ## S  i;                                         \
-           uint ## S  u;                                         \
--        } U_ ## S   __attribute__ ((transparent_union));        \
-+        } U_ ## S   MY_ATTRIBUTE ((transparent_union));        \
-         typedef union {                                         \
-           int  ## S volatile *i;                                \
-           uint ## S volatile *u;                                \
--        } Uv_ ## S   __attribute__ ((transparent_union));
-+        } Uv_ ## S   MY_ATTRIBUTE ((transparent_union));
- #define uintptr intptr
- make_transparent_unions(8)
- make_transparent_unions(16)
---- a/include/my_attribute.h
-+++ b/include/my_attribute.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -28,41 +28,30 @@
- #endif
- 
- /*
--  Disable __attribute__() on gcc < 2.7, g++ < 3.4, and non-gcc compilers.
-+  Disable MY_ATTRIBUTE() on g++ < 3.4, and non-gcc compilers.
-   Some forms of __attribute__ are actually supported in earlier versions of
-   g++, but we just disable them all because we only use them to generate
-   compilation warnings.
- */
--#ifndef __attribute__
--# if !defined(__GNUC__)
--#  define __attribute__(A)
--# elif GCC_VERSION < 2008
--#  define __attribute__(A)
--# elif defined(__cplusplus) && GCC_VERSION < 3004
--#  define __attribute__(A)
--# endif
-+#ifndef MY_ATTRIBUTE
-+#if defined(__GNUC__) && GCC_VERSION > 3003
-+#  define MY_ATTRIBUTE(A) __attribute__(A)
-+#else
-+#  define MY_ATTRIBUTE(A)
-+#endif
- #endif
- 
- /*
--  __attribute__((format(...))) is only supported in gcc >= 2.8 and g++ >= 3.4
--  But that's already covered by the __attribute__ tests above, so this is
-+  __attribute__((format(...))) is only supported in g++ >= 3.4
-+  But that's already covered by the MY_ATTRIBUTE tests above, so this is
-   just a convenience macro.
- */
- #ifndef ATTRIBUTE_FORMAT
--# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n)))
-+#  define ATTRIBUTE_FORMAT(style, m, n) MY_ATTRIBUTE((format(style, m, n)))
- #endif
- 
--/*
--
--   __attribute__((format(...))) on a function pointer is not supported
--   until  gcc 3.1
--*/
- #ifndef ATTRIBUTE_FORMAT_FPTR
--# if (GCC_VERSION >= 3001)
- #  define ATTRIBUTE_FORMAT_FPTR(style, m, n) ATTRIBUTE_FORMAT(style, m, n)
--# else
--#  define ATTRIBUTE_FORMAT_FPTR(style, m, n)
--# endif /* GNUC >= 3.1 */
- #endif
- 
- 
---- a/include/my_global.h
-+++ b/include/my_global.h
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -184,7 +184,7 @@
-   other reason to use them is for documentation
- */
- 
--#if !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-+#if !defined(__builtin_expect)
- #define __builtin_expect(x, expected_value) (x)
- #endif
- 
-@@ -374,7 +374,7 @@ C_MODE_END
- #define compile_time_assert(X)                                  \
-   do                                                            \
-   {                                                             \
--    typedef char compile_time_assert[(X) ? 1 : -1] __attribute__((unused)); \
-+    typedef char compile_time_assert[(X) ? 1 : -1] MY_ATTRIBUTE((unused)); \
-   } while(0)
- #endif
- 
---- a/include/my_pthread.h
-+++ b/include/my_pthread.h
-@@ -860,7 +860,7 @@ struct st_my_thread_var
- #endif
- };
- 
--extern struct st_my_thread_var *_my_thread_var(void) __attribute__ ((const));
-+extern struct st_my_thread_var *_my_thread_var(void) MY_ATTRIBUTE ((const));
- extern int set_mysys_var(struct st_my_thread_var *mysys_var);
- extern void **my_thread_var_dbug();
- extern uint my_thread_end_wait_time;
---- a/include/mysql/psi/mysql_file.h
-+++ b/include/mysql/psi/mysql_file.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -511,9 +511,9 @@ static inline void inline_mysql_file_register(
-   PSI_file_info *info,
-   int count
- #else
--  const char *category __attribute__ ((unused)),
--  void *info __attribute__ ((unused)),
--  int count __attribute__ ((unused))
-+  const char *category MY_ATTRIBUTE ((unused)),
-+  void *info MY_ATTRIBUTE ((unused)),
-+  int count MY_ATTRIBUTE ((unused))
- #endif
- )
- {
---- a/include/mysql/psi/mysql_socket.h
-+++ b/include/mysql/psi/mysql_socket.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
-@@ -114,9 +114,9 @@ mysql_socket_set_address(
-   const struct sockaddr *addr,
-   socklen_t addr_len
- #else
--  MYSQL_SOCKET socket __attribute__ ((unused)),
--  const struct sockaddr *addr __attribute__ ((unused)),
--  socklen_t addr_len __attribute__ ((unused))
-+  MYSQL_SOCKET socket MY_ATTRIBUTE ((unused)),
-+  const struct sockaddr *addr MY_ATTRIBUTE ((unused)),
-+  socklen_t addr_len MY_ATTRIBUTE ((unused))
- #endif
- )
- {
-@@ -136,7 +136,7 @@ mysql_socket_set_thread_owner(
- #ifdef HAVE_PSI_SOCKET_INTERFACE
- MYSQL_SOCKET socket
- #else
--MYSQL_SOCKET socket __attribute__ ((unused))
-+MYSQL_SOCKET socket MY_ATTRIBUTE ((unused))
- #endif
- )
- {
---- a/include/mysql/psi/mysql_thread.h
-+++ b/include/mysql/psi/mysql_thread.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -587,9 +587,9 @@ static inline void inline_mysql_mutex_register(
-   PSI_mutex_info *info,
-   int count
- #else
--  const char *category __attribute__ ((unused)),
--  void *info __attribute__ ((unused)),
--  int count __attribute__ ((unused))
-+  const char *category MY_ATTRIBUTE ((unused)),
-+  void *info MY_ATTRIBUTE ((unused)),
-+  int count MY_ATTRIBUTE ((unused))
- #endif
- )
- {
-@@ -771,9 +771,9 @@ static inline void inline_mysql_rwlock_register(
-   PSI_rwlock_info *info,
-   int count
- #else
--  const char *category __attribute__ ((unused)),
--  void *info __attribute__ ((unused)),
--  int count __attribute__ ((unused))
-+  const char *category MY_ATTRIBUTE ((unused)),
-+  void *info MY_ATTRIBUTE ((unused)),
-+  int count MY_ATTRIBUTE ((unused))
- #endif
- )
- {
-@@ -1089,9 +1089,9 @@ static inline void inline_mysql_cond_register(
-   PSI_cond_info *info,
-   int count
- #else
--  const char *category __attribute__ ((unused)),
--  void *info __attribute__ ((unused)),
--  int count __attribute__ ((unused))
-+  const char *category MY_ATTRIBUTE ((unused)),
-+  void *info MY_ATTRIBUTE ((unused)),
-+  int count MY_ATTRIBUTE ((unused))
- #endif
- )
- {
-@@ -1231,9 +1231,9 @@ static inline void inline_mysql_thread_register(
-   PSI_thread_info *info,
-   int count
- #else
--  const char *category __attribute__ ((unused)),
--  void *info __attribute__ ((unused)),
--  int count __attribute__ ((unused))
-+  const char *category MY_ATTRIBUTE ((unused)),
-+  void *info MY_ATTRIBUTE ((unused)),
-+  int count MY_ATTRIBUTE ((unused))
- #endif
- )
- {
---- a/libmysql/libmysql.c
-+++ b/libmysql/libmysql.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -111,9 +111,9 @@ typedef struct st_mysql_stmt_extension
-     1  could not initialize environment (out of memory or thread keys)
- */
- 
--int STDCALL mysql_server_init(int argc __attribute__((unused)),
--			      char **argv __attribute__((unused)),
--			      char **groups __attribute__((unused)))
-+int STDCALL mysql_server_init(int argc MY_ATTRIBUTE((unused)),
-+			      char **argv MY_ATTRIBUTE((unused)),
-+			      char **groups MY_ATTRIBUTE((unused)))
- {
-   int result= 0;
-   if (!mysql_client_init)
-@@ -128,7 +128,7 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)),
-     if (!mysql_port)
-     {
-       char *env;
--      struct servent *serv_ptr __attribute__((unused));
-+      struct servent *serv_ptr MY_ATTRIBUTE((unused));
- 
-       mysql_port = MYSQL_PORT;
- 
-@@ -264,7 +264,7 @@ append_wild(char *to, char *end, const char *wild)
- **************************************************************************/
- 
- void STDCALL
--mysql_debug(const char *debug __attribute__((unused)))
-+mysql_debug(const char *debug MY_ATTRIBUTE((unused)))
- {
- #ifndef DBUG_OFF
-   char	*env;
-@@ -299,7 +299,7 @@ mysql_debug(const char *debug __attribute__((unused)))
- **************************************************************************/
- 
- sig_handler
--my_pipe_sig_handler(int sig __attribute__((unused)))
-+my_pipe_sig_handler(int sig MY_ATTRIBUTE((unused)))
- {
-   DBUG_PRINT("info",("Hit by signal %d",sig));
- #ifdef SIGNAL_HANDLER_RESET_ON_DELIVERY
-@@ -559,7 +559,7 @@ typedef struct st_default_local_infile
- */
- 
- static int default_local_infile_init(void **ptr, const char *filename,
--             void *userdata __attribute__ ((unused)))
-+             void *userdata MY_ATTRIBUTE ((unused)))
- {
-   default_local_infile_data *data;
-   char tmp_name[FN_REFLEN];
-@@ -2341,15 +2341,15 @@ stmt_read_row_from_cursor(MYSQL_STMT *stmt, unsigned char **row)
- */
- 
- static int
--stmt_read_row_no_data(MYSQL_STMT *stmt  __attribute__((unused)),
--                      unsigned char **row  __attribute__((unused)))
-+stmt_read_row_no_data(MYSQL_STMT *stmt  MY_ATTRIBUTE((unused)),
-+                      unsigned char **row  MY_ATTRIBUTE((unused)))
- {
-   return MYSQL_NO_DATA;
- }
- 
- static int
--stmt_read_row_no_result_set(MYSQL_STMT *stmt  __attribute__((unused)),
--                      unsigned char **row  __attribute__((unused)))
-+stmt_read_row_no_result_set(MYSQL_STMT *stmt  MY_ATTRIBUTE((unused)),
-+                      unsigned char **row  MY_ATTRIBUTE((unused)))
- {
-   set_stmt_error(stmt, CR_NO_RESULT_SET, unknown_sqlstate, NULL);
-   return 1;
-@@ -3708,7 +3708,7 @@ static void fetch_result_short(MYSQL_BIND *param, MYSQL_FIELD *field,
- }
- 
- static void fetch_result_int32(MYSQL_BIND *param,
--                               MYSQL_FIELD *field __attribute__((unused)),
-+                               MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                                uchar **row)
- {
-   my_bool field_is_unsigned= MY_TEST(field->flags & UNSIGNED_FLAG);
-@@ -3719,7 +3719,7 @@ static void fetch_result_int32(MYSQL_BIND *param,
- }
- 
- static void fetch_result_int64(MYSQL_BIND *param,
--                               MYSQL_FIELD *field __attribute__((unused)),
-+                               MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                                uchar **row)
- {
-   my_bool field_is_unsigned= MY_TEST(field->flags & UNSIGNED_FLAG);
-@@ -3730,7 +3730,7 @@ static void fetch_result_int64(MYSQL_BIND *param,
- }
- 
- static void fetch_result_float(MYSQL_BIND *param,
--                               MYSQL_FIELD *field __attribute__((unused)),
-+                               MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                                uchar **row)
- {
-   float value;
-@@ -3740,7 +3740,7 @@ static void fetch_result_float(MYSQL_BIND *param,
- }
- 
- static void fetch_result_double(MYSQL_BIND *param,
--                                MYSQL_FIELD *field __attribute__((unused)),
-+                                MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                                 uchar **row)
- {
-   double value;
-@@ -3750,7 +3750,7 @@ static void fetch_result_double(MYSQL_BIND *param,
- }
- 
- static void fetch_result_time(MYSQL_BIND *param,
--                              MYSQL_FIELD *field __attribute__((unused)),
-+                              MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                               uchar **row)
- {
-   MYSQL_TIME *tm= (MYSQL_TIME *)param->buffer;
-@@ -3758,7 +3758,7 @@ static void fetch_result_time(MYSQL_BIND *param,
- }
- 
- static void fetch_result_date(MYSQL_BIND *param,
--                              MYSQL_FIELD *field __attribute__((unused)),
-+                              MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                               uchar **row)
- {
-   MYSQL_TIME *tm= (MYSQL_TIME *)param->buffer;
-@@ -3766,7 +3766,7 @@ static void fetch_result_date(MYSQL_BIND *param,
- }
- 
- static void fetch_result_datetime(MYSQL_BIND *param,
--                                  MYSQL_FIELD *field __attribute__((unused)),
-+                                  MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                                   uchar **row)
- {
-   MYSQL_TIME *tm= (MYSQL_TIME *)param->buffer;
-@@ -3774,7 +3774,7 @@ static void fetch_result_datetime(MYSQL_BIND *param,
- }
- 
- static void fetch_result_bin(MYSQL_BIND *param,
--                             MYSQL_FIELD *field __attribute__((unused)),
-+                             MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                              uchar **row)
- {
-   ulong length= net_field_length(row);
-@@ -3786,7 +3786,7 @@ static void fetch_result_bin(MYSQL_BIND *param,
- }
- 
- static void fetch_result_str(MYSQL_BIND *param,
--                             MYSQL_FIELD *field __attribute__((unused)),
-+                             MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
-                              uchar **row)
- {
-   ulong length= net_field_length(row);
-@@ -3807,7 +3807,7 @@ static void fetch_result_str(MYSQL_BIND *param,
- */
- 
- static void skip_result_fixed(MYSQL_BIND *param,
--			      MYSQL_FIELD *field __attribute__((unused)),
-+			      MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
- 			      uchar **row)
- 
- {
-@@ -3815,8 +3815,8 @@ static void skip_result_fixed(MYSQL_BIND *param,
- }
- 
- 
--static void skip_result_with_length(MYSQL_BIND *param __attribute__((unused)),
--				    MYSQL_FIELD *field __attribute__((unused)),
-+static void skip_result_with_length(MYSQL_BIND *param MY_ATTRIBUTE((unused)),
-+				    MYSQL_FIELD *field MY_ATTRIBUTE((unused)),
- 				    uchar **row)
- 
- {
-@@ -3825,7 +3825,7 @@ static void skip_result_with_length(MYSQL_BIND *param __attribute__((unused)),
- }
- 
- 
--static void skip_result_string(MYSQL_BIND *param __attribute__((unused)),
-+static void skip_result_string(MYSQL_BIND *param MY_ATTRIBUTE((unused)),
- 			       MYSQL_FIELD *field,
- 			       uchar **row)
- 
---- a/libmysqld/lib_sql.cc
-+++ b/libmysqld/lib_sql.cc
-@@ -2,7 +2,7 @@
-  * Copyright (c)  2000
-  * SWsoft  company
-  *
-- * Modifications copyright (c) 2001, 2015. Oracle and/or its affiliates.
-+ * Modifications copyright (c) 2001, 2016. Oracle and/or its affiliates.
-  * All rights reserved.
-  *
-  * This material is provided "as is", with absolutely no warranty expressed
-@@ -213,8 +213,8 @@ static void emb_flush_use_result(MYSQL *mysql, my_bool)
- */
- 
- static MYSQL_DATA *
--emb_read_rows(MYSQL *mysql, MYSQL_FIELD *mysql_fields __attribute__((unused)),
--	      unsigned int fields __attribute__((unused)))
-+emb_read_rows(MYSQL *mysql, MYSQL_FIELD *mysql_fields MY_ATTRIBUTE((unused)),
-+	      unsigned int fields MY_ATTRIBUTE((unused)))
- {
-   MYSQL_DATA *result= ((THD*)mysql->thd)->cur_data;
-   ((THD*)mysql->thd)->cur_data= 0;
-@@ -1426,7 +1426,7 @@ bool Protocol::net_store_data(const uchar *from, size_t length)
- #define vsnprintf _vsnprintf
- #endif
- 
--int vprint_msg_to_log(enum loglevel level __attribute__((unused)),
-+int vprint_msg_to_log(enum loglevel level MY_ATTRIBUTE((unused)),
-                        const char *format, va_list argsi)
- {
-   my_vsnprintf(mysql_server_last_error, sizeof(mysql_server_last_error),
---- a/mysql-test/r/mysql_plugin.result
-+++ b/mysql-test/r/mysql_plugin.result
-@@ -105,7 +105,7 @@ ERROR: Missing --plugin_dir option.
- # Show the help.
- #
- mysql_plugin  Ver V.V.VV Distrib XX.XX.XX
--Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- 
- Enable or disable plugins.
- 
---- a/mysys/charset-def.c
-+++ b/mysys/charset-def.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -161,7 +161,7 @@ extern CHARSET_INFO my_charset_utf8mb4_vietnamese_ci;
- 
- #endif /* HAVE_UCA_COLLATIONS */
- 
--my_bool init_compiled_charsets(myf flags __attribute__((unused)))
-+my_bool init_compiled_charsets(myf flags MY_ATTRIBUTE((unused)))
- {
-   CHARSET_INFO *cs;
- 
---- a/mysys/charset.c
-+++ b/mysys/charset.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -357,8 +357,8 @@ static int add_collation(CHARSET_INFO *cs)
-   Be silent by default: no warnings on the client side.
- */
- static void
--default_reporter(enum loglevel level  __attribute__ ((unused)),
--                 const char *format  __attribute__ ((unused)),
-+default_reporter(enum loglevel level  MY_ATTRIBUTE ((unused)),
-+                 const char *format  MY_ATTRIBUTE ((unused)),
-                  ...)
- {
- }
---- a/mysys/mf_cache.c
-+++ b/mysys/mf_cache.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -26,7 +26,7 @@
- 	  this, just remember the file name for later removal
- 	*/
- 
--static my_bool cache_remove_open_tmp(IO_CACHE *cache __attribute__((unused)),
-+static my_bool cache_remove_open_tmp(IO_CACHE *cache MY_ATTRIBUTE((unused)),
- 				     const char *name)
- {
- #if O_TEMPORARY == 0
---- a/mysys/mf_iocache.c
-+++ b/mysys/mf_iocache.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -323,7 +323,7 @@ static void my_aiowait(my_aio_result *result)
- 
- my_bool reinit_io_cache(IO_CACHE *info, enum cache_type type,
- 			my_off_t seek_offset,
--			pbool use_async_io __attribute__((unused)),
-+			pbool use_async_io MY_ATTRIBUTE((unused)),
- 			pbool clear_cache)
- {
-   DBUG_ENTER("reinit_io_cache");
-@@ -1129,7 +1129,7 @@ static void copy_to_read_buffer(IO_CACHE *write_cache,
-   while (write_length)
-   {
-     size_t copy_length= MY_MIN(write_length, write_cache->buffer_length);
--    int  __attribute__((unused)) rc;
-+    int  MY_ATTRIBUTE((unused)) rc;
- 
-     rc= lock_io_cache(write_cache, write_cache->pos_in_file);
-     /* The writing thread does always have the lock when it awakes. */
-@@ -1732,7 +1732,7 @@ int my_block_write(register IO_CACHE *info, const uchar *Buffer, size_t Count,
-   unlock_append_buffer(info);
- 
- int my_b_flush_io_cache(IO_CACHE *info,
--                        int need_append_buffer_lock __attribute__((unused)))
-+                        int need_append_buffer_lock MY_ATTRIBUTE((unused)))
- {
-   size_t length;
-   my_off_t pos_in_file;
---- a/mysys/mf_keycache.c
-+++ b/mysys/mf_keycache.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -2498,8 +2498,8 @@ static void read_block(KEY_CACHE *keycache,
- uchar *key_cache_read(KEY_CACHE *keycache,
-                       File file, my_off_t filepos, int level,
-                       uchar *buff, uint length,
--                      uint block_length __attribute__((unused)),
--                      int return_buffer __attribute__((unused)))
-+                      uint block_length MY_ATTRIBUTE((unused)),
-+                      int return_buffer MY_ATTRIBUTE((unused)))
- {
-   my_bool locked_and_incremented= FALSE;
-   int error=0;
-@@ -2979,7 +2979,7 @@ int key_cache_insert(KEY_CACHE *keycache,
- int key_cache_write(KEY_CACHE *keycache,
-                     File file, my_off_t filepos, int level,
-                     uchar *buff, uint length,
--                    uint block_length  __attribute__((unused)),
-+                    uint block_length  MY_ATTRIBUTE((unused)),
-                     int dont_write)
- {
-   my_bool locked_and_incremented= FALSE;
-@@ -4206,7 +4206,7 @@ static int flush_all_key_blocks(KEY_CACHE *keycache)
-     0 on success (always because it can't fail)
- */
- 
--int reset_key_cache_counters(const char *name __attribute__((unused)),
-+int reset_key_cache_counters(const char *name MY_ATTRIBUTE((unused)),
-                              KEY_CACHE *key_cache)
- {
-   DBUG_ENTER("reset_key_cache_counters");
-@@ -4230,9 +4230,9 @@ int reset_key_cache_counters(const char *name __attribute__((unused)),
- /*
-   Test if disk-cache is ok
- */
--static void test_key_cache(KEY_CACHE *keycache __attribute__((unused)),
--                           const char *where __attribute__((unused)),
--                           my_bool lock __attribute__((unused)))
-+static void test_key_cache(KEY_CACHE *keycache MY_ATTRIBUTE((unused)),
-+                           const char *where MY_ATTRIBUTE((unused)),
-+                           my_bool lock MY_ATTRIBUTE((unused)))
- {
-   /* TODO */
- }
---- a/mysys/mf_keycaches.c
-+++ b/mysys/mf_keycaches.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -77,7 +77,7 @@ static void safe_hash_entry_free(SAFE_HASH_ENTRY *entry)
- /* Get key and length for a SAFE_HASH_ENTRY */
- 
- static uchar *safe_hash_entry_get(SAFE_HASH_ENTRY *entry, size_t *length,
--                                  my_bool not_used __attribute__((unused)))
-+                                  my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=entry->length;
-   return (uchar*) entry->key;
---- a/mysys/mf_tempfile.c
-+++ b/mysys/mf_tempfile.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -55,8 +55,8 @@
- */
- 
- File create_temp_file(char *to, const char *dir, const char *prefix,
--		      int mode __attribute__((unused)),
--		      myf MyFlags __attribute__((unused)))
-+		      int mode MY_ATTRIBUTE((unused)),
-+		      myf MyFlags MY_ATTRIBUTE((unused)))
- {
-   File file= -1;
- #ifdef __WIN__
---- a/mysys/mf_unixpath.c
-+++ b/mysys/mf_unixpath.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -24,7 +24,7 @@
-   @param to   A pathname.
- */
- 
--void to_unix_path(char *to __attribute__((unused)))
-+void to_unix_path(char *to MY_ATTRIBUTE((unused)))
- {
- #if FN_LIBCHAR != '/'
-   {
---- a/mysys/my_access.c
-+++ b/mysys/my_access.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -187,9 +187,9 @@ static my_bool does_drive_exists(char drive_letter)
-  
-   @return TRUE if the file name is allowed, FALSE otherwise.
- */
--my_bool is_filename_allowed(const char *name __attribute__((unused)),
--                            size_t length __attribute__((unused)),
--                            my_bool allow_current_dir __attribute__((unused)))
-+my_bool is_filename_allowed(const char *name MY_ATTRIBUTE((unused)),
-+                            size_t length MY_ATTRIBUTE((unused)),
-+                            my_bool allow_current_dir MY_ATTRIBUTE((unused)))
- {
-   /* 
-     For Windows, check if the file name contains : character.
---- a/mysys/my_alarm.c
-+++ b/mysys/my_alarm.c
-@@ -1,5 +1,4 @@
--/* Copyright (C) 2000 MySQL AB
--   Use is subject to license terms
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -12,7 +11,7 @@
- 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
--   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
-+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
- 
- /* Function to set a varible when we got a alarm */
- /* Used by my_lock samt functions in m_alarm.h */
-@@ -24,7 +23,7 @@
- #ifdef HAVE_ALARM
- 
- 	/* ARGSUSED */
--sig_handler my_set_alarm_variable(int signo __attribute__((unused)))
-+sig_handler my_set_alarm_variable(int signo MY_ATTRIBUTE((unused)))
- {
-   my_have_got_alarm=1;			/* Tell program that time expired */
-   return;
---- a/mysys/my_alloc.c
-+++ b/mysys/my_alloc.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -44,7 +44,7 @@
- */
- 
- void init_alloc_root(MEM_ROOT *mem_root, size_t block_size,
--		     size_t pre_alloc_size __attribute__((unused)))
-+		     size_t pre_alloc_size MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("init_alloc_root");
-   DBUG_PRINT("enter",("root: 0x%lx", (long) mem_root));
-@@ -94,7 +94,7 @@ void init_alloc_root(MEM_ROOT *mem_root, size_t block_size,
- */
- 
- void reset_root_defaults(MEM_ROOT *mem_root, size_t block_size,
--                         size_t pre_alloc_size __attribute__((unused)))
-+                         size_t pre_alloc_size MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(alloc_root_inited(mem_root));
- 
---- a/mysys/my_bitmap.c
-+++ b/mysys/my_bitmap.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -81,14 +81,14 @@ void create_last_word_mask(MY_BITMAP *map)
- }
- 
- 
--static inline void bitmap_lock(MY_BITMAP *map __attribute__((unused)))
-+static inline void bitmap_lock(MY_BITMAP *map MY_ATTRIBUTE((unused)))
- {
-   if (map->mutex)
-     mysql_mutex_lock(map->mutex);
- }
- 
- 
--static inline void bitmap_unlock(MY_BITMAP *map __attribute__((unused)))
-+static inline void bitmap_unlock(MY_BITMAP *map MY_ATTRIBUTE((unused)))
- {
-   if (map->mutex)
-     mysql_mutex_unlock(map->mutex);
-@@ -136,7 +136,7 @@ static inline uint get_first_not_set(uint32 value, uint word_pos)
- 
- 
- my_bool bitmap_init(MY_BITMAP *map, my_bitmap_map *buf, uint n_bits,
--		    my_bool thread_safe __attribute__((unused)))
-+		    my_bool thread_safe MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("bitmap_init");
-   if (!buf)
---- a/mysys/my_fopen.c
-+++ b/mysys/my_fopen.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -147,7 +147,7 @@ static FILE *my_win_freopen(const char *path, const char *mode, FILE *stream)
- 
- /* No close operation hook. */
- 
--static int no_close(void *cookie __attribute__((unused)))
-+static int no_close(void *cookie MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
---- a/mysys/my_fstream.c
-+++ b/mysys/my_fstream.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -171,7 +171,7 @@ size_t my_fwrite(FILE *stream, const uchar *Buffer, size_t Count, myf MyFlags)
- /* Seek to position in file */
- 
- my_off_t my_fseek(FILE *stream, my_off_t pos, int whence,
--		  myf MyFlags __attribute__((unused)))
-+		  myf MyFlags MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("my_fseek");
-   DBUG_PRINT("my",("stream: 0x%lx  pos: %lu  whence: %d  MyFlags: %d",
-@@ -183,7 +183,7 @@ my_off_t my_fseek(FILE *stream, my_off_t pos, int whence,
- 
- /* Tell current position of file */
- 
--my_off_t my_ftell(FILE *stream, myf MyFlags __attribute__((unused)))
-+my_off_t my_ftell(FILE *stream, myf MyFlags MY_ATTRIBUTE((unused)))
- {
-   off_t pos;
-   DBUG_ENTER("my_ftell");
---- a/mysys/my_gethwaddr.c
-+++ b/mysys/my_gethwaddr.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -228,14 +228,14 @@ my_bool my_gethwaddr(uchar *to)
- 
- #else /* __FreeBSD__ || __linux__ || __WIN__ */
- /* just fail */
--my_bool my_gethwaddr(uchar *to __attribute__((unused)))
-+my_bool my_gethwaddr(uchar *to MY_ATTRIBUTE((unused)))
- {
-   return 1;
- }
- #endif
- 
- #else /* MAIN */
--int main(int argc __attribute__((unused)),char **argv)
-+int main(int argc MY_ATTRIBUTE((unused)),char **argv)
- {
-   uchar mac[6];
-   uint i;
---- a/mysys/my_getsystime.c
-+++ b/mysys/my_getsystime.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -170,7 +170,7 @@ ulonglong my_micro_time_and_time(time_t *time_arg)
-   @retval current time.
- */
- 
--time_t my_time_possible_from_micro(ulonglong microtime __attribute__((unused)))
-+time_t my_time_possible_from_micro(ulonglong microtime MY_ATTRIBUTE((unused)))
- {
- #ifdef _WIN32
-   time_t t;
---- a/mysys/my_lib.c
-+++ b/mysys/my_lib.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -390,7 +390,7 @@ error:
- 
- 
- int my_fstat(File Filedes, MY_STAT *stat_area,
--             myf MyFlags __attribute__((unused)))
-+             myf MyFlags MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("my_fstat");
-   DBUG_PRINT("my",("fd: %d  MyFlags: %d", Filedes, MyFlags));
---- a/mysys/my_mess.c
-+++ b/mysys/my_mess.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -15,7 +15,7 @@
- 
- #include "mysys_priv.h"
- 
--void my_message_stderr(uint error __attribute__((unused)),
-+void my_message_stderr(uint error MY_ATTRIBUTE((unused)),
-                        const char *str, myf MyFlags)
- {
-   DBUG_ENTER("my_message_stderr");
---- a/mysys/my_static.c
-+++ b/mysys/my_static.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -74,12 +74,12 @@ void (*error_handler_hook)(uint error, const char *str, myf MyFlags)=
- void (*fatal_error_handler_hook)(uint error, const char *str, myf MyFlags)=
-   my_message_stderr;
- 
--static void proc_info_dummy(void *a __attribute__((unused)),
--                            const PSI_stage_info *b __attribute__((unused)),
--                            PSI_stage_info *c __attribute__((unused)),
--                            const char *d __attribute__((unused)),
--                            const char *e __attribute__((unused)),
--                            const unsigned int f __attribute__((unused)))
-+static void proc_info_dummy(void *a MY_ATTRIBUTE((unused)),
-+                            const PSI_stage_info *b MY_ATTRIBUTE((unused)),
-+                            PSI_stage_info *c MY_ATTRIBUTE((unused)),
-+                            const char *d MY_ATTRIBUTE((unused)),
-+                            const char *e MY_ATTRIBUTE((unused)),
-+                            const unsigned int f MY_ATTRIBUTE((unused)))
- {
-   return;
- }
---- a/mysys/my_symlink.c
-+++ b/mysys/my_symlink.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -107,7 +107,7 @@ int my_symlink(const char *content, const char *linkname, myf MyFlags)
- #endif
- 
- 
--int my_is_symlink(const char *filename __attribute__((unused)))
-+int my_is_symlink(const char *filename MY_ATTRIBUTE((unused)))
- {
- #if defined (HAVE_LSTAT) && defined (S_ISLNK)
-   struct stat stat_buff;
---- a/mysys/my_sync.c
-+++ b/mysys/my_sync.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -159,8 +159,8 @@ int my_sync_dir(const char *dir_name, myf my_flags)
- 
- #else /* NEED_EXPLICIT_SYNC_DIR */
- 
--int my_sync_dir(const char *dir_name __attribute__((unused)),
--                myf my_flags __attribute__((unused)))
-+int my_sync_dir(const char *dir_name MY_ATTRIBUTE((unused)),
-+                myf my_flags MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
-@@ -192,8 +192,8 @@ int my_sync_dir_by_file(const char *file_name, myf my_flags)
- 
- #else /* NEED_EXPLICIT_SYNC_DIR */
- 
--int my_sync_dir_by_file(const char *file_name __attribute__((unused)),
--                        myf my_flags __attribute__((unused)))
-+int my_sync_dir_by_file(const char *file_name MY_ATTRIBUTE((unused)),
-+                        myf my_flags MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
---- a/mysys/psi_noop.c
-+++ b/mysys/psi_noop.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -27,7 +27,7 @@
- 
- C_MODE_START
- 
--#define NNN __attribute__((unused))
-+#define NNN MY_ATTRIBUTE((unused))
- 
- static void register_mutex_noop(const char *category NNN,
-                                 PSI_mutex_info *info NNN,
-@@ -637,9 +637,9 @@ digest_end_noop(PSI_digest_locker *locker NNN,
- }
- 
- static int
--set_thread_connect_attrs_noop(const char *buffer __attribute__((unused)),
--                             uint length  __attribute__((unused)),
--                             const void *from_cs __attribute__((unused)))
-+set_thread_connect_attrs_noop(const char *buffer MY_ATTRIBUTE((unused)),
-+                             uint length  MY_ATTRIBUTE((unused)),
-+                             const void *from_cs MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
---- a/mysys/ptr_cmp.c
-+++ b/mysys/ptr_cmp.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -45,9 +45,9 @@ static int native_compare(size_t *length, unsigned char **a, unsigned char **b)
-   Special case for ORDER BY / GROUP BY CHAR(0) NOT NULL
-  */
- static
--int ptr_compare_zero_length(size_t *compare_length __attribute__((unused)),
--                            uchar **a __attribute__((unused)),
--                            uchar **b __attribute__((unused)))
-+int ptr_compare_zero_length(size_t *compare_length MY_ATTRIBUTE((unused)),
-+                            uchar **a MY_ATTRIBUTE((unused)),
-+                            uchar **b MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
-@@ -61,7 +61,7 @@ static int ptr_compare_3(size_t *compare_length, uchar **a, uchar **b);
- 	/* Get a pointer to a optimal byte-compare function for a given size */
- 
- #ifdef __sun
--qsort2_cmp get_ptr_compare (size_t size __attribute__((unused)))
-+qsort2_cmp get_ptr_compare (size_t size MY_ATTRIBUTE((unused)))
- {
-   return (qsort2_cmp) native_compare;
- }
---- a/mysys/stacktrace.c
-+++ b/mysys/stacktrace.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -159,8 +159,8 @@ void my_safe_print_str(const char* val, int max_len)
- /* Use Solaris' symbolic stack trace routine. */
- #include <ucontext.h>
- 
--void my_print_stacktrace(uchar* stack_bottom __attribute__((unused)), 
--                         ulong thread_stack __attribute__((unused)))
-+void my_print_stacktrace(uchar* stack_bottom MY_ATTRIBUTE((unused)), 
-+                         ulong thread_stack MY_ATTRIBUTE((unused)))
- {
-   if (printstack(fileno(stderr)) == -1)
-     my_safe_printf_stderr("%s",
-@@ -178,9 +178,9 @@ void my_print_stacktrace(uchar* stack_bottom __attribute__((unused)),
- 
- #if BACKTRACE_DEMANGLE
- 
--char __attribute__ ((weak)) *
--my_demangle(const char *mangled_name __attribute__((unused)),
--            int *status __attribute__((unused)))
-+char MY_ATTRIBUTE ((weak)) *
-+my_demangle(const char *mangled_name MY_ATTRIBUTE((unused)),
-+            int *status MY_ATTRIBUTE((unused)))
- {
-   return NULL;
- }
---- a/mysys/testhash.c
-+++ b/mysys/testhash.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -39,7 +39,7 @@ my_bool hash_check(HASH *hash);
- void free_record(void *record);
- 
- static uchar *hash2_key(const uchar *rec,uint *length,
--		       my_bool not_used __attribute__((unused)))
-+		       my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=(uint) (uchar) rec[reclength-1];
-   return (uchar*) rec;
---- a/mysys/thr_alarm.c
-+++ b/mysys/thr_alarm.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -60,9 +60,9 @@ static void *alarm_handler(void *arg);
- #define reschedule_alarms() pthread_kill(alarm_thread,THR_SERVER_ALARM)
- #endif
- 
--static sig_handler thread_alarm(int sig __attribute__((unused)));
-+static sig_handler thread_alarm(int sig MY_ATTRIBUTE((unused)));
- 
--static int compare_ulong(void *not_used __attribute__((unused)),
-+static int compare_ulong(void *not_used MY_ATTRIBUTE((unused)),
- 			 uchar *a_ptr,uchar* b_ptr)
- {
-   ulong a=*((ulong*) a_ptr),b= *((ulong*) b_ptr);
-@@ -274,7 +274,7 @@ void thr_end_alarm(thr_alarm_t *alarmed)
-   every second.
- */
- 
--sig_handler process_alarm(int sig __attribute__((unused)))
-+sig_handler process_alarm(int sig MY_ATTRIBUTE((unused)))
- {
-   sigset_t old_mask;
- /*
-@@ -304,7 +304,7 @@ sig_handler process_alarm(int sig __attribute__((unused)))
- }
- 
- 
--static sig_handler process_alarm_part2(int sig __attribute__((unused)))
-+static sig_handler process_alarm_part2(int sig MY_ATTRIBUTE((unused)))
- {
-   ALARM *alarm_data;
-   DBUG_ENTER("process_alarm");
-@@ -492,7 +492,7 @@ void thr_alarm_info(ALARM_INFO *info)
- */
- 
- 
--static sig_handler thread_alarm(int sig __attribute__((unused)))
-+static sig_handler thread_alarm(int sig MY_ATTRIBUTE((unused)))
- {
- #ifdef MAIN
-   printf("thread_alarm\n"); fflush(stdout);
-@@ -511,7 +511,7 @@ static sig_handler thread_alarm(int sig __attribute__((unused)))
- /* set up a alarm thread with uses 'sleep' to sleep between alarms */
- 
- #ifdef USE_ALARM_THREAD
--static void *alarm_handler(void *arg __attribute__((unused)))
-+static void *alarm_handler(void *arg MY_ATTRIBUTE((unused)))
- {
-   int error;
-   struct timespec abstime;
-@@ -580,7 +580,7 @@ void thr_alarm_kill(my_thread_id thread_id)
-   /* Can't do this yet */
- }
- 
--sig_handler process_alarm(int sig __attribute__((unused)))
-+sig_handler process_alarm(int sig MY_ATTRIBUTE((unused)))
- {
-   /* Can't do this yet */
- }
-@@ -774,7 +774,7 @@ static sig_handler print_signal_warning(int sig)
- #endif /* USE_ONE_SIGNAL_HAND */
- 
- 
--static void *signal_hand(void *arg __attribute__((unused)))
-+static void *signal_hand(void *arg MY_ATTRIBUTE((unused)))
- {
-   sigset_t set;
-   int sig,error,err_count=0;;
-@@ -842,7 +842,7 @@ static void *signal_hand(void *arg __attribute__((unused)))
- }
- 
- 
--int main(int argc __attribute__((unused)),char **argv __attribute__((unused)))
-+int main(int argc MY_ATTRIBUTE((unused)),char **argv MY_ATTRIBUTE((unused)))
- {
-   pthread_t tid;
-   pthread_attr_t thr_attr;
-@@ -931,7 +931,7 @@ int main(int argc __attribute__((unused)),char **argv __attribute__((unused)))
- 
- #else /* !defined(DONT_USE_ALARM_THREAD) */
- 
--int main(int argc __attribute__((unused)),char **argv __attribute__((unused)))
-+int main(int argc MY_ATTRIBUTE((unused)),char **argv MY_ATTRIBUTE((unused)))
- {
-   printf("thr_alarm disabled with DONT_USE_THR_ALARM\n");
-   exit(1);
---- a/mysys/thr_lock.c
-+++ b/mysys/thr_lock.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1512,21 +1512,21 @@ static ulong sum=0;
- 
- /* The following functions is for WRITE_CONCURRENT_INSERT */
- 
--static void test_get_status(void* param __attribute__((unused)),
--                            int concurrent_insert __attribute__((unused)))
-+static void test_get_status(void* param MY_ATTRIBUTE((unused)),
-+                            int concurrent_insert MY_ATTRIBUTE((unused)))
- {
- }
- 
--static void test_update_status(void* param __attribute__((unused)))
-+static void test_update_status(void* param MY_ATTRIBUTE((unused)))
- {
- }
- 
--static void test_copy_status(void* to __attribute__((unused)) ,
--			     void *from __attribute__((unused)))
-+static void test_copy_status(void* to MY_ATTRIBUTE((unused)) ,
-+			     void *from MY_ATTRIBUTE((unused)))
- {
- }
- 
--static my_bool test_check_status(void* param __attribute__((unused)))
-+static my_bool test_check_status(void* param MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
-@@ -1583,7 +1583,7 @@ static void *test_thread(void *arg)
- }
- 
- 
--int main(int argc __attribute__((unused)),char **argv __attribute__((unused)))
-+int main(int argc MY_ATTRIBUTE((unused)),char **argv MY_ATTRIBUTE((unused)))
- {
-   pthread_t tid;
-   pthread_attr_t thr_attr;
---- a/mysys/thr_mutex.c
-+++ b/mysys/thr_mutex.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -53,7 +53,7 @@ void safe_mutex_global_init(void)
- 
- 
- int safe_mutex_init(safe_mutex_t *mp,
--		    const pthread_mutexattr_t *attr __attribute__((unused)),
-+		    const pthread_mutexattr_t *attr MY_ATTRIBUTE((unused)),
- 		    const char *file,
- 		    uint line)
- {
-@@ -370,7 +370,7 @@ int safe_mutex_destroy(safe_mutex_t *mp, const char *file, uint line)
-    This is ok, as this thread may not yet have been exited.
- */
- 
--void safe_mutex_end(FILE *file __attribute__((unused)))
-+void safe_mutex_end(FILE *file MY_ATTRIBUTE((unused)))
- {
-   if (!safe_mutex_count)			/* safetly */
-     pthread_mutex_destroy(&THR_LOCK_mutex);
---- a/mysys/waiting_threads.c
-+++ b/mysys/waiting_threads.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -295,9 +295,9 @@ uint32 wt_cycle_stats[2][WT_CYCLE_STATS+1];
- uint32 wt_success_stats;
- 
- static my_atomic_rwlock_t
--  cycle_stats_lock __attribute__((unused)),
--  wait_stats_lock __attribute__((unused)),
--  success_stats_lock __attribute__((unused));
-+  cycle_stats_lock MY_ATTRIBUTE((unused)),
-+  wait_stats_lock MY_ATTRIBUTE((unused)),
-+  success_stats_lock MY_ATTRIBUTE((unused));
- 
- #ifdef SAFE_STATISTICS
- #define incr(VAR, LOCK)                           \
---- a/mysys_ssl/my_default.cc
-+++ b/mysys_ssl/my_default.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1279,7 +1279,7 @@ static int add_directory(MEM_ROOT *alloc, const char *dir, const char **dirs)
-   char buf[FN_REFLEN];
-   size_t len;
-   char *p;
--  my_bool err __attribute__((unused));
-+  my_bool err MY_ATTRIBUTE((unused));
- 
-   len= normalize_dirname(buf, dir);
-   if (!(p= strmake_root(alloc, buf, len)))
---- a/mysys_ssl/my_getopt.cc
-+++ b/mysys_ssl/my_getopt.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1370,7 +1370,7 @@ static void init_one_value(const struct my_option *option, void *variable,
- */
- 
- static void fini_one_value(const struct my_option *option, void *variable,
--			   longlong value __attribute__ ((unused)))
-+			   longlong value MY_ATTRIBUTE ((unused)))
- {
-   DBUG_ENTER("fini_one_value");
-   switch ((option->var_type & GET_TYPE_MASK)) {
---- a/plugin/audit_null/audit_null.c
-+++ b/plugin/audit_null/audit_null.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or
-    modify it under the terms of the GNU General Public License as
-@@ -18,9 +18,7 @@
- #include <mysql/plugin.h>
- #include <mysql/plugin_audit.h>
- 
--#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
--#define __attribute__(A)
--#endif
-+#include "my_attribute.h"
- 
- static volatile int number_of_calls; /* for SHOW STATUS, see below */
- /* Count MYSQL_AUDIT_GENERAL_CLASS event instances */
-@@ -48,7 +46,7 @@ static volatile int number_of_calls_connection_change_user;
-     1                    failure (cannot happen)
- */
- 
--static int audit_null_plugin_init(void *arg __attribute__((unused)))
-+static int audit_null_plugin_init(void *arg MY_ATTRIBUTE((unused)))
- {
-   number_of_calls= 0;
-   number_of_calls_general_log= 0;
-@@ -75,7 +73,7 @@ static int audit_null_plugin_init(void *arg __attribute__((unused)))
- 
- */
- 
--static int audit_null_plugin_deinit(void *arg __attribute__((unused)))
-+static int audit_null_plugin_deinit(void *arg MY_ATTRIBUTE((unused)))
- {
-   return(0);
- }
-@@ -91,7 +89,7 @@ static int audit_null_plugin_deinit(void *arg __attribute__((unused)))
-   DESCRIPTION
- */
- 
--static void audit_null_notify(MYSQL_THD thd __attribute__((unused)),
-+static void audit_null_notify(MYSQL_THD thd MY_ATTRIBUTE((unused)),
-                               unsigned int event_class,
-                               const void *event)
- {
---- a/plugin/auth/dialog.c
-+++ b/plugin/auth/dialog.c
-@@ -1,4 +1,4 @@
--/*  Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-+/*  Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-     This program is free software; you can redistribute it and/or
-     modify it under the terms of the GNU General Public License as
-@@ -207,8 +207,8 @@ typedef char *(*mysql_authentication_dialog_ask_t)(struct st_mysql *mysql,
- 
- static mysql_authentication_dialog_ask_t ask;
- 
--static char *builtin_ask(MYSQL *mysql __attribute__((unused)),
--                         int type __attribute__((unused)),
-+static char *builtin_ask(MYSQL *mysql MY_ATTRIBUTE((unused)),
-+                         int type MY_ATTRIBUTE((unused)),
-                          const char *prompt,
-                          char *buf, int buf_len)
- {
-@@ -309,10 +309,10 @@ static int perform_dialog(MYSQL_PLUGIN_VIO *vio, MYSQL *mysql)
-   or fall back to the default implementation.
- */
- 
--static int init_dialog(char *unused1   __attribute__((unused)), 
--                       size_t unused2  __attribute__((unused)), 
--                       int unused3     __attribute__((unused)), 
--                       va_list unused4 __attribute__((unused)))
-+static int init_dialog(char *unused1   MY_ATTRIBUTE((unused)), 
-+                       size_t unused2  MY_ATTRIBUTE((unused)), 
-+                       int unused3     MY_ATTRIBUTE((unused)), 
-+                       va_list unused4 MY_ATTRIBUTE((unused)))
- {
-   void *sym= dlsym(RTLD_DEFAULT, "mysql_authentication_dialog_ask");
-   ask= sym ? (mysql_authentication_dialog_ask_t) sym : builtin_ask;
---- a/plugin/auth/mysql_no_login.c
-+++ b/plugin/auth/mysql_no_login.c
-@@ -1,4 +1,4 @@
--/*  Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved.
-+/*  Copyright (c) 2014, 2016 Oracle and/or its affiliates. All rights reserved.
- 
-     This program is free software; you can redistribute it and/or
-     modify it under the terms of the GNU General Public License as
-@@ -32,8 +32,8 @@
- #include <stdlib.h>
- 
- static int mysql_no_login(
--    MYSQL_PLUGIN_VIO *vio __attribute__((unused)),
--    MYSQL_SERVER_AUTH_INFO *info __attribute__((unused)))
-+    MYSQL_PLUGIN_VIO *vio MY_ATTRIBUTE((unused)),
-+    MYSQL_SERVER_AUTH_INFO *info MY_ATTRIBUTE((unused)))
- {
-   return CR_ERROR;
- }
---- a/plugin/daemon_example/daemon_example.cc
-+++ b/plugin/daemon_example/daemon_example.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -26,10 +26,10 @@
- #include "sql_plugin.h"                         // st_plugin_int
- 
- /*
--  Disable __attribute__() on non-gcc compilers.
-+  Disable MY_ATTRIBUTE() on non-gcc compilers.
- */
--#if !defined(__attribute__) && !defined(__GNUC__)
--#define __attribute__(A)
-+#if !defined(MY_ATTRIBUTE) && !defined(__GNUC__)
-+#define MY_ATTRIBUTE(A)
- #endif
- 
- 
---- a/plugin/fulltext/plugin_example.c
-+++ b/plugin/fulltext/plugin_example.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -17,9 +17,7 @@
- #include <ctype.h>
- #include <mysql/plugin.h>
- 
--#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
--#define __attribute__(A)
--#endif
-+#include "my_attribute.h"
- 
- static long number_of_calls= 0; /* for SHOW STATUS, see below */
- 
-@@ -62,7 +60,7 @@ static long number_of_calls= 0; /* for SHOW STATUS, see below */
-     1                    failure (cannot happen)
- */
- 
--static int simple_parser_plugin_init(void *arg __attribute__((unused)))
-+static int simple_parser_plugin_init(void *arg MY_ATTRIBUTE((unused)))
- {
-   return(0);
- }
-@@ -81,7 +79,7 @@ static int simple_parser_plugin_init(void *arg __attribute__((unused)))
- 
- */
- 
--static int simple_parser_plugin_deinit(void *arg __attribute__((unused)))
-+static int simple_parser_plugin_deinit(void *arg MY_ATTRIBUTE((unused)))
- {
-   return(0);
- }
-@@ -102,7 +100,7 @@ static int simple_parser_plugin_deinit(void *arg __attribute__((unused)))
- */
- 
- static int simple_parser_init(MYSQL_FTPARSER_PARAM *param
--                              __attribute__((unused)))
-+                              MY_ATTRIBUTE((unused)))
- {
-   return(0);
- }
-@@ -123,7 +121,7 @@ static int simple_parser_init(MYSQL_FTPARSER_PARAM *param
- */
- 
- static int simple_parser_deinit(MYSQL_FTPARSER_PARAM *param
--                                __attribute__((unused)))
-+                                MY_ATTRIBUTE((unused)))
- {
-   return(0);
- }
---- a/plugin/password_validation/validate_password.cc
-+++ b/plugin/password_validation/validate_password.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -24,12 +24,12 @@
- 
- 
- /*  
--  __attribute__(A) needs to be defined for Windows else complier
-+  MY_ATTRIBUTE(A) needs to be defined for Windows else complier
-   do not recognise it. Argument in plugin_init and plugin_deinit
-   Used in other plugins as well.
- */
--#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
--#define __attribute__(A)
-+#if !defined(MY_ATTRIBUTE) && (defined(__cplusplus) || !defined(__GNUC__)  || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
-+#define MY_ATTRIBUTE(A)
- #endif
- 
- #define MAX_DICTIONARY_FILE_LENGTH    1024 * 1024
-@@ -367,7 +367,7 @@ static int validate_password_init(MYSQL_PLUGIN plugin_info)
-   It empty the std::set and returns 0
- */
- 
--static int validate_password_deinit(void *arg __attribute__((unused)))
-+static int validate_password_deinit(void *arg MY_ATTRIBUTE((unused)))
- {
-   free_dictionary_file();
-   mysql_rwlock_destroy(&LOCK_dict_file);
-@@ -380,8 +380,8 @@ static int validate_password_deinit(void *arg __attribute__((unused)))
-   the cache and re-load the new dictionary file.
- */
- static void
--dictionary_update(MYSQL_THD thd __attribute__((unused)),
--                  struct st_mysql_sys_var *var __attribute__((unused)),
-+dictionary_update(MYSQL_THD thd MY_ATTRIBUTE((unused)),
-+                  struct st_mysql_sys_var *var MY_ATTRIBUTE((unused)),
-                   void *var_ptr, const void *save)
- {
-   *(const char**)var_ptr= *(const char**)save;
-@@ -396,8 +396,8 @@ dictionary_update(MYSQL_THD thd __attribute__((unused)),
-   4. validate_password_special_char_count
- */
- static void
--length_update(MYSQL_THD thd __attribute__((unused)),
--              struct st_mysql_sys_var *var __attribute__((unused)),
-+length_update(MYSQL_THD thd MY_ATTRIBUTE((unused)),
-+              struct st_mysql_sys_var *var MY_ATTRIBUTE((unused)),
-               void *var_ptr, const void *save)
- {
-   int new_validate_password_length;
---- a/regex/regcomp.c
-+++ b/regex/regcomp.c
-@@ -3,7 +3,7 @@
- 
-    This file was modified by Oracle on 2015-05-18 for 32-bit compatibility.
- 
--   Modifications copyright (c) 2015, Oracle and/or its affiliates. All rights
-+   Modifications copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights
-    reserved. */
- 
- #include <my_global.h>
-@@ -1258,8 +1258,8 @@ register char *cp;
-  */
- static void
- mcinvert(p, cs)
--  register struct parse *p __attribute__((unused));
--  register cset *cs __attribute__((unused));
-+  register struct parse *p MY_ATTRIBUTE((unused));
-+  register cset *cs MY_ATTRIBUTE((unused));
- {
- 	assert(cs->multis == NULL);	/* xxx */
- }
-@@ -1273,8 +1273,8 @@ mcinvert(p, cs)
-  */
- static void
- mccase(p, cs)
--register struct parse *p __attribute__((unused));
--register cset *cs __attribute__((unused));
-+register struct parse *p MY_ATTRIBUTE((unused));
-+register cset *cs MY_ATTRIBUTE((unused));
- {
- 	assert(cs->multis == NULL);	/* xxx */
- }
---- a/sql-common/client.c
-+++ b/sql-common/client.c
-@@ -1741,12 +1741,12 @@ mysql_init(MYSQL *mysql)
- #define strdup_if_not_null(A) (A) == 0 ? 0 : my_strdup((A),MYF(MY_WME))
- 
- my_bool STDCALL
--mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
--	      const char *key __attribute__((unused)),
--	      const char *cert __attribute__((unused)),
--	      const char *ca __attribute__((unused)),
--	      const char *capath __attribute__((unused)),
--	      const char *cipher __attribute__((unused)))
-+mysql_ssl_set(MYSQL *mysql MY_ATTRIBUTE((unused)) ,
-+	      const char *key MY_ATTRIBUTE((unused)),
-+	      const char *cert MY_ATTRIBUTE((unused)),
-+	      const char *ca MY_ATTRIBUTE((unused)),
-+	      const char *capath MY_ATTRIBUTE((unused)),
-+	      const char *cipher MY_ATTRIBUTE((unused)))
- {
-   my_bool result= 0;
-   DBUG_ENTER("mysql_ssl_set");
-@@ -1771,7 +1771,7 @@ mysql_ssl_set(MYSQL *mysql __attribute__((unused)) ,
- #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
- 
- static void
--mysql_ssl_free(MYSQL *mysql __attribute__((unused)))
-+mysql_ssl_free(MYSQL *mysql MY_ATTRIBUTE((unused)))
- {
-   struct st_VioSSLFd *ssl_fd= (struct st_VioSSLFd*) mysql->connector_fd;
-   DBUG_ENTER("mysql_ssl_free");
-@@ -1817,7 +1817,7 @@ mysql_ssl_free(MYSQL *mysql __attribute__((unused)))
- */
- 
- const char * STDCALL
--mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused)))
-+mysql_get_ssl_cipher(MYSQL *mysql MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("mysql_get_ssl_cipher");
- #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
-@@ -4085,8 +4085,8 @@ static void mysql_prune_stmt_list(MYSQL *mysql)
-     should also be reflected there.
- */
- 
--void mysql_detach_stmt_list(LIST **stmt_list __attribute__((unused)),
--                            const char *func_name __attribute__((unused)))
-+void mysql_detach_stmt_list(LIST **stmt_list MY_ATTRIBUTE((unused)),
-+                            const char *func_name MY_ATTRIBUTE((unused)))
- {
- #ifdef MYSQL_CLIENT
-   /* Reset connection handle in all prepared statements. */
-@@ -4598,7 +4598,7 @@ mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg)
- */
- uchar *
- get_attr_key(LEX_STRING *part, size_t *length,
--             my_bool not_used __attribute__((unused)))
-+             my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= part[0].length;
-   return (uchar *) part[0].str;
---- a/sql/binlog.cc
-+++ b/sql/binlog.cc
-@@ -8613,7 +8613,7 @@ template <class RowsEventT> Rows_log_event*
- THD::binlog_prepare_pending_rows_event(TABLE* table, uint32 serv_id,
-                                        size_t needed,
-                                        bool is_transactional,
--				       RowsEventT *hint __attribute__((unused)),
-+				       RowsEventT *hint MY_ATTRIBUTE((unused)),
-                                        const uchar* extra_row_info)
- {
-   DBUG_ENTER("binlog_prepare_pending_rows_event");
---- a/sql/binlog.h
-+++ b/sql/binlog.h
-@@ -1,5 +1,5 @@
- #ifndef BINLOG_H_INCLUDED
--/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -86,7 +86,7 @@ public:
- 
-     /** Lock for protecting the queue. */
-     mysql_mutex_t m_lock;
--  } __attribute__((aligned(CPU_LEVEL1_DCACHE_LINESIZE)));
-+  } MY_ATTRIBUTE((aligned(CPU_LEVEL1_DCACHE_LINESIZE)));
- 
- public:
-   Stage_manager()
---- a/sql/field.cc
-+++ b/sql/field.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1290,7 +1290,7 @@ out_of_range:
- */
- type_conversion_status
- Field_num::store_time(MYSQL_TIME *ltime,
--                      uint8 dec_arg __attribute__((unused)))
-+                      uint8 dec_arg MY_ATTRIBUTE((unused)))
- {
-   longlong nr= TIME_to_ulonglong_round(ltime);
-   return store(ltime->neg ? -nr : nr, 0);
-@@ -1444,8 +1444,8 @@ bool Field::send_binary(Protocol *protocol)
-    master's field size, @c false otherwise.
- */
- bool Field::compatible_field_size(uint field_metadata,
--                                  Relay_log_info *rli_arg __attribute__((unused)),
--                                  uint16 mflags __attribute__((unused)),
-+                                  Relay_log_info *rli_arg MY_ATTRIBUTE((unused)),
-+                                  uint16 mflags MY_ATTRIBUTE((unused)),
-                                   int *order_var)
- {
-   uint const source_size= pack_length_from_metadata(field_metadata);
-@@ -1508,7 +1508,7 @@ Field::store(const char *to, uint length, const CHARSET_INFO *cs,
- */
- uchar *
- Field::pack(uchar *to, const uchar *from, uint max_length,
--            bool low_byte_first __attribute__((unused)))
-+            bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   uint32 length= pack_length();
-   set_if_smaller(length, max_length);
-@@ -1548,7 +1548,7 @@ Field::pack(uchar *to, const uchar *from, uint max_length,
- */
- const uchar *
- Field::unpack(uchar* to, const uchar *from, uint param_data,
--              bool low_byte_first __attribute__((unused)))
-+              bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   uint length=pack_length();
-   int from_type= 0;
-@@ -1860,7 +1860,7 @@ bool Field::optimize_range(uint idx, uint part)
- 
- 
- Field *Field::new_field(MEM_ROOT *root, TABLE *new_table,
--                        bool keep_type __attribute__((unused)))
-+                        bool keep_type MY_ATTRIBUTE((unused)))
- {
-   Field *tmp= clone(root);
-   if (tmp == NULL)
-@@ -2435,7 +2435,7 @@ longlong Field_decimal::val_int(void)
- }
- 
- 
--String *Field_decimal::val_str(String *val_buffer __attribute__((unused)),
-+String *Field_decimal::val_str(String *val_buffer MY_ATTRIBUTE((unused)),
- 			       String *val_ptr)
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-@@ -2806,7 +2806,7 @@ Field_new_decimal::store_decimal(const my_decimal *decimal_value)
- 
- type_conversion_status
- Field_new_decimal::store_time(MYSQL_TIME *ltime,
--                                  uint8 dec_arg __attribute__((unused)))
-+                                  uint8 dec_arg MY_ATTRIBUTE((unused)))
- {
-   my_decimal decimal_value;
-   return store_value(date2my_decimal(ltime, &decimal_value));
-@@ -2847,7 +2847,7 @@ my_decimal* Field_new_decimal::val_decimal(my_decimal *decimal_value)
- 
- 
- String *Field_new_decimal::val_str(String *val_buffer,
--                                   String *val_ptr __attribute__((unused)))
-+                                   String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   my_decimal decimal_value;
-@@ -2960,8 +2960,8 @@ uint Field_new_decimal::pack_length_from_metadata(uint field_metadata)
-    @return @c true
- */
- bool Field_new_decimal::compatible_field_size(uint field_metadata,
--                                              Relay_log_info * __attribute__((unused)),
--                                              uint16 mflags __attribute__((unused)),
-+                                              Relay_log_info * MY_ATTRIBUTE((unused)),
-+                                              uint16 mflags MY_ATTRIBUTE((unused)),
-                                               int *order_var)
- {
-   uint const source_precision= (field_metadata >> 8U) & 0x00ff;
-@@ -3161,7 +3161,7 @@ longlong Field_tiny::val_int(void)
- 
- 
- String *Field_tiny::val_str(String *val_buffer,
--			    String *val_ptr __attribute__((unused)))
-+			    String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   const CHARSET_INFO *cs= &my_charset_numeric;
-@@ -3376,7 +3376,7 @@ longlong Field_short::val_int(void)
- 
- 
- String *Field_short::val_str(String *val_buffer,
--			     String *val_ptr __attribute__((unused)))
-+			     String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   const CHARSET_INFO *cs= &my_charset_numeric;
-@@ -3596,7 +3596,7 @@ longlong Field_medium::val_int(void)
- 
- 
- String *Field_medium::val_str(String *val_buffer,
--			      String *val_ptr __attribute__((unused)))
-+			      String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   const CHARSET_INFO *cs= &my_charset_numeric;
-@@ -3830,7 +3830,7 @@ longlong Field_long::val_int(void)
- }
- 
- String *Field_long::val_str(String *val_buffer,
--			    String *val_ptr __attribute__((unused)))
-+			    String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   const CHARSET_INFO *cs= &my_charset_numeric;
-@@ -4079,7 +4079,7 @@ longlong Field_longlong::val_int(void)
- 
- 
- String *Field_longlong::val_str(String *val_buffer,
--				String *val_ptr __attribute__((unused)))
-+				String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   const CHARSET_INFO *cs= &my_charset_numeric;
-   uint length;
-@@ -4199,7 +4199,7 @@ Field_real::unpack(uchar *to, const uchar *from,
- 
- type_conversion_status
- Field_real::store_time(MYSQL_TIME *ltime,
--                       uint8 dec_arg __attribute__((unused)))
-+                       uint8 dec_arg MY_ATTRIBUTE((unused)))
- {
-   double nr= TIME_to_double(ltime);
-   return store(ltime->neg ? -nr : nr);
-@@ -4289,7 +4289,7 @@ longlong Field_float::val_int(void)
- 
- 
- String *Field_float::val_str(String *val_buffer,
--			     String *val_ptr __attribute__((unused)))
-+			     String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   DBUG_ASSERT(!zerofill || field_length <= MAX_FIELD_CHARLENGTH);
-@@ -4625,7 +4625,7 @@ bool Field_real::get_time(MYSQL_TIME *ltime)
- 
- 
- String *Field_double::val_str(String *val_buffer,
--			      String *val_ptr __attribute__((unused)))
-+			      String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   DBUG_ASSERT(!zerofill || field_length <= MAX_FIELD_CHARLENGTH);
-@@ -5089,7 +5089,7 @@ Field_temporal_with_date::convert_number_to_TIME(longlong nr,
- 
- type_conversion_status
- Field_temporal_with_date::store_time(MYSQL_TIME *ltime,
--                                     uint8 dec_arg __attribute__((unused)))
-+                                     uint8 dec_arg MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_WRITE;
-   type_conversion_status error;
-@@ -5480,7 +5480,7 @@ int Field_timestamp::cmp(const uchar *a_ptr, const uchar *b_ptr)
- }
- 
- 
--void Field_timestamp::make_sort_key(uchar *to,uint length __attribute__((unused)))
-+void Field_timestamp::make_sort_key(uchar *to,uint length MY_ATTRIBUTE((unused)))
- {
- #ifdef WORDS_BIGENDIAN
-   if (!table || !table->s->db_low_byte_first)
-@@ -5699,7 +5699,7 @@ Field_time_common::convert_number_to_TIME(longlong nr, bool unsigned_val,
- 
- type_conversion_status
- Field_time_common::store_time(MYSQL_TIME *ltime,
--                              uint8 dec_arg __attribute__((unused)))
-+                              uint8 dec_arg MY_ATTRIBUTE((unused)))
- {
-   /* Check if seconds or minutes are out of range */
-   if (ltime->second >= 60 || ltime->minute >= 60)
-@@ -5725,7 +5725,7 @@ Field_time_common::store_internal_with_round(MYSQL_TIME *ltime, int *warnings)
- 
- 
- String *Field_time_common::val_str(String *val_buffer,
--                                   String *val_ptr __attribute__((unused)))
-+                                   String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   MYSQL_TIME ltime;
-@@ -6039,7 +6039,7 @@ type_conversion_status Field_year::store(double nr)
- 
- type_conversion_status
- Field_year::store_time(MYSQL_TIME *ltime,
--                       uint8 dec_arg __attribute__((unused)))
-+                       uint8 dec_arg MY_ATTRIBUTE((unused)))
- {
-   if (ltime->time_type != MYSQL_TIMESTAMP_DATETIME &&
-       ltime->time_type != MYSQL_TIMESTAMP_DATE)
-@@ -6103,7 +6103,7 @@ longlong Field_year::val_int(void)
- 
- 
- String *Field_year::val_str(String *val_buffer,
--			    String *val_ptr __attribute__((unused)))
-+			    String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(field_length < 5);
-   val_buffer->alloc(5);
-@@ -6203,7 +6203,7 @@ longlong Field_newdate::val_time_temporal()
- 
- 
- String *Field_newdate::val_str(String *val_buffer,
--			       String *val_ptr __attribute__((unused)))
-+			       String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   val_buffer->alloc(field_length);
-@@ -6393,7 +6393,7 @@ longlong Field_datetime::val_int()
-   Using my_datetime_number_to_str() instead of my_datetime_to_str().
- */
- String *Field_datetime::val_str(String *val_buffer,
--				String *val_ptr __attribute__((unused)))
-+				String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   val_buffer->alloc(field_length + 1);
-@@ -6787,7 +6787,7 @@ longlong Field_string::val_int(void)
- }
- 
- 
--String *Field_string::val_str(String *val_buffer __attribute__((unused)),
-+String *Field_string::val_str(String *val_buffer MY_ATTRIBUTE((unused)),
- 			      String *val_ptr)
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-@@ -6845,7 +6845,7 @@ check_field_for_37426(const void *param_arg)
- bool
- Field_string::compatible_field_size(uint field_metadata,
-                                     Relay_log_info *rli_arg,
--                                    uint16 mflags __attribute__((unused)),
-+                                    uint16 mflags MY_ATTRIBUTE((unused)),
-                                     int *order_var)
- {
- #ifdef HAVE_REPLICATION
-@@ -6883,7 +6883,7 @@ int Field_string::cmp(const uchar *a_ptr, const uchar *b_ptr)
- 
- void Field_string::make_sort_key(uchar *to, uint length)
- {
--  uint tmp __attribute__((unused))=
-+  uint tmp MY_ATTRIBUTE((unused))=
-     field_charset->coll->strnxfrm(field_charset,
-                                   to, length, char_length(),
-                                   ptr, field_length,
-@@ -6915,7 +6915,7 @@ void Field_string::sql_type(String &res) const
- 
- uchar *Field_string::pack(uchar *to, const uchar *from,
-                           uint max_length,
--                          bool low_byte_first __attribute__((unused)))
-+                          bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   uint length=      min(field_length,max_length);
-   uint local_char_length= max_length/field_charset->mbmaxlen;
-@@ -6974,7 +6974,7 @@ const uchar *
- Field_string::unpack(uchar *to,
-                      const uchar *from,
-                      uint param_data,
--                     bool low_byte_first __attribute__((unused)))
-+                     bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   uint from_length, length;
- 
-@@ -7229,7 +7229,7 @@ longlong Field_varstring::val_int(void)
-   return result;
- }
- 
--String *Field_varstring::val_str(String *val_buffer __attribute__((unused)),
-+String *Field_varstring::val_str(String *val_buffer MY_ATTRIBUTE((unused)),
- 				 String *val_ptr)
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-@@ -7391,7 +7391,7 @@ uint32 Field_varstring::data_length()
- 
- uchar *Field_varstring::pack(uchar *to, const uchar *from,
-                              uint max_length,
--                             bool low_byte_first __attribute__((unused)))
-+                             bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   uint length= length_bytes == 1 ? (uint) *from : uint2korr(from);
-   set_if_smaller(max_length, field_length);
-@@ -7428,7 +7428,7 @@ uchar *Field_varstring::pack(uchar *to, const uchar *from,
- const uchar *
- Field_varstring::unpack(uchar *to, const uchar *from,
-                         uint param_data,
--                        bool low_byte_first __attribute__((unused)))
-+                        bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   uint length;
-   uint l_bytes= (param_data && (param_data < field_length)) ? 
-@@ -7887,7 +7887,7 @@ longlong Field_blob::val_int(void)
-   return my_strntoll(charset(),blob,length,10,NULL,&not_used);
- }
- 
--String *Field_blob::val_str(String *val_buffer __attribute__((unused)),
-+String *Field_blob::val_str(String *val_buffer MY_ATTRIBUTE((unused)),
- 			    String *val_ptr)
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-@@ -8539,7 +8539,7 @@ int Field_enum::do_save_field_metadata(uchar *metadata_ptr)
- }
- 
- 
--String *Field_enum::val_str(String *val_buffer __attribute__((unused)),
-+String *Field_enum::val_str(String *val_buffer MY_ATTRIBUTE((unused)),
- 			    String *val_ptr)
- {
-   uint tmp=(uint) Field_enum::val_int();
-@@ -8683,7 +8683,7 @@ type_conversion_status Field_set::store(longlong nr, bool unsigned_val)
- 
- 
- String *Field_set::val_str(String *val_buffer,
--			   String *val_ptr __attribute__((unused)))
-+			   String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ulonglong tmp=(ulonglong) Field_enum::val_int();
-   uint bitnr=0;
-@@ -9148,7 +9148,7 @@ longlong Field_bit::val_int(void)
- 
- 
- String *Field_bit::val_str(String *val_buffer,
--                           String *val_ptr __attribute__((unused)))
-+                           String *val_ptr MY_ATTRIBUTE((unused)))
- {
-   ASSERT_COLUMN_MARKED_FOR_READ;
-   char buff[sizeof(longlong)];
-@@ -9308,7 +9308,7 @@ uint Field_bit::pack_length_from_metadata(uint field_metadata)
- */
- bool
- Field_bit::compatible_field_size(uint field_metadata,
--                                 Relay_log_info * __attribute__((unused)),
-+                                 Relay_log_info * MY_ATTRIBUTE((unused)),
-                                  uint16 mflags,
-                                  int *order_var)
- {
-@@ -9348,7 +9348,7 @@ void Field_bit::sql_type(String &res) const
- 
- uchar *
- Field_bit::pack(uchar *to, const uchar *from, uint max_length,
--                bool low_byte_first __attribute__((unused)))
-+                bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(max_length > 0);
-   uint length;
-@@ -9396,7 +9396,7 @@ Field_bit::pack(uchar *to, const uchar *from, uint max_length,
- */
- const uchar *
- Field_bit::unpack(uchar *to, const uchar *from, uint param_data,
--                  bool low_byte_first __attribute__((unused)))
-+                  bool low_byte_first MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("Field_bit::unpack");
-   DBUG_PRINT("enter", ("to: %p, from: %p, param_data: 0x%x",
---- a/sql/field.h
-+++ b/sql/field.h
-@@ -1,7 +1,7 @@
- #ifndef FIELD_INCLUDED
- #define FIELD_INCLUDED
- 
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1889,13 +1889,13 @@ public:
-     return new Field_long(*this);
-   }
-   virtual uchar *pack(uchar* to, const uchar *from,
--                      uint max_length __attribute__((unused)),
-+                      uint max_length MY_ATTRIBUTE((unused)),
-                       bool low_byte_first)
-   {
-     return pack_int32(to, from, low_byte_first);
-   }
-   virtual const uchar *unpack(uchar* to, const uchar *from,
--                              uint param_data __attribute__((unused)),
-+                              uint param_data MY_ATTRIBUTE((unused)),
-                               bool low_byte_first)
-   {
-     return unpack_int32(to, from, low_byte_first);
-@@ -1954,13 +1954,13 @@ public:
-     return new Field_longlong(*this);
-   }
-   virtual uchar *pack(uchar* to, const uchar *from,
--                      uint max_length  __attribute__((unused)),
-+                      uint max_length  MY_ATTRIBUTE((unused)),
-                       bool low_byte_first)
-   {
-     return pack_int64(to, from, low_byte_first);
-   }
-   virtual const uchar *unpack(uchar* to, const uchar *from,
--                              uint param_data __attribute__((unused)),
-+                              uint param_data MY_ATTRIBUTE((unused)),
-                               bool low_byte_first)
-   {
-     return unpack_int64(to, from, low_byte_first);
-@@ -2560,12 +2560,12 @@ public:
-     return new Field_timestamp(*this);
-   }
-   uchar *pack(uchar *to, const uchar *from,
--              uint max_length __attribute__((unused)), bool low_byte_first)
-+              uint max_length MY_ATTRIBUTE((unused)), bool low_byte_first)
-   {
-     return pack_int32(to, from, low_byte_first);
-   }
-   const uchar *unpack(uchar* to, const uchar *from,
--                      uint param_data __attribute__((unused)),
-+                      uint param_data MY_ATTRIBUTE((unused)),
-                       bool low_byte_first)
-   {
-     return unpack_int32(to, from, low_byte_first);
-@@ -2998,12 +2998,12 @@ public:
-     return new Field_datetime(*this);
-   }
-   uchar *pack(uchar* to, const uchar *from,
--              uint max_length __attribute__((unused)), bool low_byte_first)
-+              uint max_length MY_ATTRIBUTE((unused)), bool low_byte_first)
-   {
-     return pack_int64(to, from, low_byte_first);
-   }
-   const uchar *unpack(uchar* to, const uchar *from,
--                      uint param_data __attribute__((unused)),
-+                      uint param_data MY_ATTRIBUTE((unused)),
-                       bool low_byte_first)
-   {
-     return unpack_int64(to, from, low_byte_first);
---- a/sql/field_conv.cc
-+++ b/sql/field_conv.cc
-@@ -195,7 +195,7 @@ set_field_to_null_with_conversions(Field *field, bool no_conversions)
- }
- 
- 
--static void do_skip(Copy_field *copy __attribute__((unused)))
-+static void do_skip(Copy_field *copy MY_ATTRIBUTE((unused)))
- {
- }
- 
---- a/sql/filesort.cc
-+++ b/sql/filesort.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1040,7 +1040,7 @@ void make_sortkey(Sort_param *param, uchar *to, uchar *ref_pos)
-         if (sort_field->need_strxnfrm)
-         {
-           char *from=(char*) res->ptr();
--          uint tmp_length __attribute__((unused));
-+          uint tmp_length MY_ATTRIBUTE((unused));
-           if ((uchar*) from == to)
-           {
-             DBUG_ASSERT(sort_field->length >= length);
---- a/sql/ha_ndb_index_stat.cc
-+++ b/sql/ha_ndb_index_stat.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1727,7 +1727,7 @@ ndb_index_stat_stop_listener(Ndb_index_stat_proc &pr)
- }
- 
- pthread_handler_t
--ndb_index_stat_thread_func(void *arg __attribute__((unused)))
-+ndb_index_stat_thread_func(void *arg MY_ATTRIBUTE((unused)))
- {
-   THD *thd; /* needs to be first for thread_stack */
-   struct timespec abstime;
---- a/sql/ha_ndbcluster.cc
-+++ b/sql/ha_ndbcluster.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -417,7 +417,7 @@ pthread_mutex_t ndbcluster_mutex;
- HASH ndbcluster_open_tables;
- 
- static uchar *ndbcluster_get_key(NDB_SHARE *share, size_t *length,
--                                my_bool not_used __attribute__((unused)));
-+                                my_bool not_used MY_ATTRIBUTE((unused)));
- 
- static void modify_shared_stats(NDB_SHARE *share,
-                                 Ndb_local_table_statistics *local_stat);
-@@ -1293,7 +1293,7 @@ typedef struct st_thd_ndb_share {
- } THD_NDB_SHARE;
- static
- uchar *thd_ndb_share_get_key(THD_NDB_SHARE *thd_ndb_share, size_t *length,
--                            my_bool not_used __attribute__((unused)))
-+                            my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= sizeof(thd_ndb_share->key);
-   return (uchar*) &thd_ndb_share->key;
-@@ -11106,7 +11106,7 @@ int ndbcluster_table_exists_in_engine(handlerton *hton, THD* thd,
- 
- 
- extern "C" uchar* tables_get_key(const char *entry, size_t *length,
--                                my_bool not_used __attribute__((unused)))
-+                                my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= strlen(entry);
-   return (uchar*) entry;
-@@ -12657,7 +12657,7 @@ ha_ndbcluster::register_query_cache_table(THD *thd,
- */
- 
- static uchar *ndbcluster_get_key(NDB_SHARE *share, size_t *length,
--                                my_bool not_used __attribute__((unused)))
-+                                my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= share->key_length;
-   return (uchar*) share->key;
-@@ -14539,7 +14539,7 @@ ha_ndbcluster::update_table_comment(
- /**
-   Utility thread main loop.
- */
--pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
-+pthread_handler_t ndb_util_thread_func(void *arg MY_ATTRIBUTE((unused)))
- {
-   THD *thd; /* needs to be first for thread_stack */
-   struct timespec abstime;
---- a/sql/ha_ndbcluster_binlog.cc
-+++ b/sql/ha_ndbcluster_binlog.cc
-@@ -1,5 +1,5 @@
- /*
--  Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
-+  Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -6252,7 +6252,7 @@ private:
- static uchar *
- ndb_schema_objects_get_key(NDB_SCHEMA_OBJECT *schema_object,
-                            size_t *length,
--                           my_bool not_used __attribute__((unused)))
-+                           my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= schema_object->key_length;
-   return (uchar*) schema_object->key;
---- a/sql/ha_partition.cc
-+++ b/sql/ha_partition.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -222,7 +222,7 @@ static uint partition_flags()
-   return HA_CAN_PARTITION;
- }
- 
--static uint alter_table_flags(uint flags __attribute__((unused)))
-+static uint alter_table_flags(uint flags MY_ATTRIBUTE((unused)))
- {
-   return (HA_PARTITION_FUNCTION_SUPPORTED |
-           HA_FAST_CHANGE_PARTITION);
-@@ -1670,9 +1670,9 @@ int ha_partition::change_partitions(HA_CREATE_INFO *create_info,
-                                     ulonglong * const copied,
-                                     ulonglong * const deleted,
-                                     const uchar *pack_frm_data
--                                    __attribute__((unused)),
-+                                    MY_ATTRIBUTE((unused)),
-                                     size_t pack_frm_len
--                                    __attribute__((unused)))
-+                                    MY_ATTRIBUTE((unused)))
- {
-   List_iterator<partition_element> part_it(m_part_info->partitions);
-   List_iterator <partition_element> t_it(m_part_info->temp_partitions);
-@@ -2956,7 +2956,7 @@ bool ha_partition::get_from_handler_file(const char *name, MEM_ROOT *mem_root,
- */
- 
- static uchar *get_part_name(PART_NAME_DEF *part, size_t *length,
--                            my_bool not_used __attribute__((unused)))
-+                            my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= part->length;
-   return part->partition_name;
---- a/sql/handler.cc
-+++ b/sql/handler.cc
-@@ -6278,7 +6278,7 @@ end:
- ha_rows DsMrr_impl::dsmrr_info(uint keyno, uint n_ranges, uint rows,
-                                uint *bufsz, uint *flags, Cost_estimate *cost)
- {  
--  ha_rows res __attribute__((unused));
-+  ha_rows res MY_ATTRIBUTE((unused));
-   uint def_flags= *flags;
-   uint def_bufsz= *bufsz;
- 
---- a/sql/handler.h
-+++ b/sql/handler.h
-@@ -3067,7 +3067,7 @@ private:
-   */
-   virtual int rnd_init(bool scan)= 0;
-   virtual int rnd_end() { return 0; }
--  virtual int write_row(uchar *buf __attribute__((unused)))
-+  virtual int write_row(uchar *buf MY_ATTRIBUTE((unused)))
-   {
-     return HA_ERR_WRONG_COMMAND;
-   }
-@@ -3080,13 +3080,13 @@ private:
-     the columns required for the error message are not read, the error
-     message will contain garbage.
-   */
--  virtual int update_row(const uchar *old_data __attribute__((unused)),
--                         uchar *new_data __attribute__((unused)))
-+  virtual int update_row(const uchar *old_data MY_ATTRIBUTE((unused)),
-+                         uchar *new_data MY_ATTRIBUTE((unused)))
-   {
-     return HA_ERR_WRONG_COMMAND;
-   }
- 
--  virtual int delete_row(const uchar *buf __attribute__((unused)))
-+  virtual int delete_row(const uchar *buf MY_ATTRIBUTE((unused)))
-   {
-     return HA_ERR_WRONG_COMMAND;
-   }
-@@ -3119,8 +3119,8 @@ private:
-     @return  non-0 in case of failure, 0 in case of success.
-     When lock_type is F_UNLCK, the return value is ignored.
-   */
--  virtual int external_lock(THD *thd __attribute__((unused)),
--                            int lock_type __attribute__((unused)))
-+  virtual int external_lock(THD *thd MY_ATTRIBUTE((unused)),
-+                            int lock_type MY_ATTRIBUTE((unused)))
-   {
-     return 0;
-   }
---- a/sql/hostname.cc
-+++ b/sql/hostname.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -413,7 +413,7 @@ int ip_to_hostname(struct sockaddr_storage *ip_storage,
- {
-   const struct sockaddr *ip= (const sockaddr *) ip_storage;
-   int err_code;
--  bool err_status __attribute__((unused));
-+  bool err_status MY_ATTRIBUTE((unused));
-   Host_errors errors;
- 
-   DBUG_ENTER("ip_to_hostname");
---- a/sql/init.h
-+++ b/sql/init.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -19,6 +19,6 @@
- #include "my_global.h"                          /* ulong */
- 
- void unireg_init(ulong options);
--void unireg_end(void) __attribute__((noreturn));
-+void unireg_end(void) MY_ATTRIBUTE((noreturn));
- 
- #endif /* INIT_INCLUDED */
---- a/sql/item.cc
-+++ b/sql/item.cc
-@@ -3413,8 +3413,8 @@ Item *Item_null::safe_charset_converter(const CHARSET_INFO *tocs)
- 
- static void
- default_set_param_func(Item_param *param,
--                       uchar **pos __attribute__((unused)),
--                       ulong len __attribute__((unused)))
-+                       uchar **pos MY_ATTRIBUTE((unused)),
-+                       ulong len MY_ATTRIBUTE((unused)))
- {
-   param->set_null();
- }
---- a/sql/item_func.cc
-+++ b/sql/item_func.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -3985,7 +3985,7 @@ public:
- };
- 
- uchar *ull_get_key(const User_level_lock *ull, size_t *length,
--                   my_bool not_used __attribute__((unused)))
-+                   my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= ull->key_length;
-   return ull->key;
---- a/sql/item_sum.cc
-+++ b/sql/item_sum.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
-    rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -3070,7 +3070,7 @@ int group_concat_key_cmp_with_order(const void* arg, const void* key1,
- */
- 
- extern "C"
--int dump_leaf_key(void* key_arg, element_count count __attribute__((unused)),
-+int dump_leaf_key(void* key_arg, element_count count MY_ATTRIBUTE((unused)),
-                   void* item_arg)
- {
-   Item_func_group_concat *item= (Item_func_group_concat *) item_arg;
---- a/sql/item_sum.h
-+++ b/sql/item_sum.h
-@@ -1,7 +1,7 @@
- #ifndef ITEM_SUM_INCLUDED
- #define ITEM_SUM_INCLUDED
- 
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. reserved.
-    reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -1417,7 +1417,7 @@ int group_concat_key_cmp_with_distinct(const void* arg, const void* key1,
- int group_concat_key_cmp_with_order(const void* arg, const void* key1,
-                                     const void* key2);
- int dump_leaf_key(void* key_arg,
--                  element_count count __attribute__((unused)),
-+                  element_count count MY_ATTRIBUTE((unused)),
-                   void* item_arg);
- C_MODE_END
- 
-@@ -1463,7 +1463,7 @@ class Item_func_group_concat : public Item_sum
-                                              const void* key1,
- 					     const void* key2);
-   friend int dump_leaf_key(void* key_arg,
--                           element_count count __attribute__((unused)),
-+                           element_count count MY_ATTRIBUTE((unused)),
- 			   void* item_arg);
- 
- public:
---- a/sql/item_timefunc.cc
-+++ b/sql/item_timefunc.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1902,7 +1902,7 @@ Item_func_now::save_in_field(Field *to, bool no_conversions)
-     time zone. Defines time zone (local) used for whole SYSDATE function.
- */
- bool Item_func_sysdate_local::get_date(MYSQL_TIME *now_time,
--                                       uint fuzzy_date __attribute__((unused)))
-+                                       uint fuzzy_date MY_ATTRIBUTE((unused)))
- {
-   THD *thd= current_thd;
-   ulonglong tmp= my_micro_time();
-@@ -2138,7 +2138,7 @@ void Item_func_from_unixtime::fix_length_and_dec()
- 
- 
- bool Item_func_from_unixtime::get_date(MYSQL_TIME *ltime,
--				       uint fuzzy_date __attribute__((unused)))
-+				       uint fuzzy_date MY_ATTRIBUTE((unused)))
- {
-   lldiv_t lld;
-   if (decimals)
-@@ -2177,7 +2177,7 @@ void Item_func_convert_tz::fix_length_and_dec()
- 
- 
- bool Item_func_convert_tz::get_date(MYSQL_TIME *ltime,
--                                    uint fuzzy_date __attribute__((unused)))
-+                                    uint fuzzy_date MY_ATTRIBUTE((unused)))
- {
-   my_time_t my_time_tmp;
-   String str;
---- a/sql/log_event.cc
-+++ b/sql/log_event.cc
-@@ -1740,7 +1740,7 @@ Log_event* Log_event::read_log_event(const char* buf, uint event_len,
- 
- void Log_event::print_header(IO_CACHE* file,
-                              PRINT_EVENT_INFO* print_event_info,
--                             bool is_more __attribute__((unused)))
-+                             bool is_more MY_ATTRIBUTE((unused)))
- {
-   char llbuff[22];
-   my_off_t hexdump_from= print_event_info->hexdump_from;
-@@ -2724,7 +2724,7 @@ Slave_worker *Log_event::get_slave_worker(Relay_log_info *rli)
-   {
-     if (!rli->curr_group_seen_gtid && !rli->curr_group_seen_begin)
-     {
--      ulong gaq_idx __attribute__((unused));
-+      ulong gaq_idx MY_ATTRIBUTE((unused));
-       rli->mts_groups_assigned++;
- 
-       rli->curr_group_isolated= FALSE;
---- a/sql/log_event.h
-+++ b/sql/log_event.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1311,7 +1311,7 @@ public:
-   }
-   virtual bool write_data_header(IO_CACHE* file)
-   { return 0; }
--  virtual bool write_data_body(IO_CACHE* file __attribute__((unused)))
-+  virtual bool write_data_body(IO_CACHE* file MY_ATTRIBUTE((unused)))
-   { return 0; }
-   inline time_t get_time()
-   {
-@@ -4520,7 +4520,7 @@ public:
-   static bool binlog_row_logging_function(THD *thd, TABLE *table,
-                                           bool is_transactional,
-                                           const uchar *before_record
--                                          __attribute__((unused)),
-+                                          MY_ATTRIBUTE((unused)),
-                                           const uchar *after_record)
-   {
-     return thd->binlog_write_row(table, is_transactional,
-@@ -4660,7 +4660,7 @@ public:
-                                           bool is_transactional,
-                                           const uchar *before_record,
-                                           const uchar *after_record
--                                          __attribute__((unused)))
-+                                          MY_ATTRIBUTE((unused)))
-   {
-     return thd->binlog_delete_row(table, is_transactional,
-                                   before_record, NULL);
---- a/sql/log_event_old.h
-+++ b/sql/log_event_old.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -369,7 +369,7 @@ public:
-   static bool binlog_row_logging_function(THD *thd, TABLE *table,
-                                           bool is_transactional,
-                                           const uchar *before_record
--                                          __attribute__((unused)),
-+                                          MY_ATTRIBUTE((unused)),
-                                           const uchar *after_record)
-   {
-     return thd->binlog_write_row(table, is_transactional,
-@@ -518,7 +518,7 @@ public:
-                                           bool is_transactional,
-                                           const uchar *before_record,
-                                           const uchar *after_record
--                                          __attribute__((unused)))
-+                                          MY_ATTRIBUTE((unused)))
-   {
-     return thd->binlog_delete_row(table, is_transactional,
-                                   before_record, NULL);
---- a/sql/mdl.cc
-+++ b/sql/mdl.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -94,7 +94,7 @@ void MDL_key::init_psi_keys()
- {
-   int i;
-   int count;
--  PSI_stage_info *info __attribute__((unused));
-+  PSI_stage_info *info MY_ATTRIBUTE((unused));
- 
-   count= array_elements(MDL_key::m_namespace_to_wait_state_name);
-   for (i= 0; i<count; i++)
-@@ -651,7 +651,7 @@ extern "C"
- {
- static uchar *
- mdl_locks_key(const uchar *record, size_t *length,
--              my_bool not_used __attribute__((unused)))
-+              my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   MDL_lock *lock=(MDL_lock*) record;
-   *length= lock->key.length();
---- a/sql/mf_iocache.cc
-+++ b/sql/mf_iocache.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -49,7 +49,7 @@ extern "C" {
- 
- 
- int _my_b_net_read(register IO_CACHE *info, uchar *Buffer,
--		   size_t Count __attribute__((unused)))
-+		   size_t Count MY_ATTRIBUTE((unused)))
- {
-   ulong read_length;
-   NET *net= &(current_thd)->net;
---- a/sql/mysqld.cc
-+++ b/sql/mysqld.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights
-    reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -1303,7 +1303,7 @@ static void close_server_sock();
- static void clean_up_mutexes(void);
- static void wait_for_signal_thread_to_end(void);
- static void create_pid_file();
--static void mysqld_exit(int exit_code) __attribute__((noreturn));
-+static void mysqld_exit(int exit_code) MY_ATTRIBUTE((noreturn));
- #endif
- static void delete_pid_file(myf flags);
- static void end_ssl();
-@@ -1715,7 +1715,7 @@ static void __cdecl kill_server(int sig_ptr)
- 
- 
- #if defined(USE_ONE_SIGNAL_HAND)
--pthread_handler_t kill_server_thread(void *arg __attribute__((unused)))
-+pthread_handler_t kill_server_thread(void *arg MY_ATTRIBUTE((unused)))
- {
-   my_thread_init();       // Initialize new thread
-   kill_server(0);
-@@ -2619,7 +2619,7 @@ void close_connection(THD *thd, uint sql_errno)
- 
- /** Called when a thread is aborted. */
- /* ARGSUSED */
--extern "C" sig_handler end_thread_signal(int sig __attribute__((unused)))
-+extern "C" sig_handler end_thread_signal(int sig MY_ATTRIBUTE((unused)))
- {
-   THD *thd=current_thd;
-   my_safe_printf_stderr("end_thread_signal %p", thd);
-@@ -2824,7 +2824,7 @@ void kill_blocked_pthreads()
-   @todo
-     One should have to fix that thr_alarm know about this thread too.
- */
--extern "C" sig_handler abort_thread(int sig __attribute__((unused)))
-+extern "C" sig_handler abort_thread(int sig MY_ATTRIBUTE((unused)))
- {
-   THD *thd=current_thd;
-   DBUG_ENTER("abort_thread");
-@@ -3135,7 +3135,7 @@ static void start_signal_handler(void)
- 
- /** This threads handles all signals and alarms. */
- /* ARGSUSED */
--pthread_handler_t signal_hand(void *arg __attribute__((unused)))
-+pthread_handler_t signal_hand(void *arg MY_ATTRIBUTE((unused)))
- {
-   sigset_t set;
-   int sig;
-@@ -8384,7 +8384,7 @@ static int mysql_init_variables(void)
- 
- my_bool
- mysqld_get_one_option(int optid,
--                      const struct my_option *opt __attribute__((unused)),
-+                      const struct my_option *opt MY_ATTRIBUTE((unused)),
-                       char *argument)
- {
-   switch(optid) {
---- a/sql/mysqld.h
-+++ b/sql/mysqld.h
-@@ -710,10 +710,10 @@ typedef int64 query_id_t;
- extern query_id_t global_query_id;
- extern my_atomic_rwlock_t global_query_id_lock;
- 
--void unireg_end(void) __attribute__((noreturn));
-+void unireg_end(void) MY_ATTRIBUTE((noreturn));
- 
- /* increment query_id and return it.  */
--inline __attribute__((warn_unused_result)) query_id_t next_query_id()
-+inline MY_ATTRIBUTE((warn_unused_result)) query_id_t next_query_id()
- {
-   query_id_t id;
-   my_atomic_rwlock_wrlock(&global_query_id_lock);
-@@ -726,7 +726,7 @@ inline __attribute__((warn_unused_result)) query_id_t next_query_id()
-   TODO: Replace this with an inline function.
-  */
- #ifndef EMBEDDED_LIBRARY
--extern "C" void unireg_abort(int exit_code) __attribute__((noreturn));
-+extern "C" void unireg_abort(int exit_code) MY_ATTRIBUTE((noreturn));
- #else
- extern "C" void unireg_clear(int exit_code);
- #define unireg_abort(exit_code) do { unireg_clear(exit_code); DBUG_RETURN(exit_code); } while(0)
---- a/sql/net_serv.cc
-+++ b/sql/net_serv.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -191,7 +191,7 @@ my_bool net_realloc(NET *net, size_t length)
- */
- 
- void net_clear(NET *net,
--               my_bool check_buffer __attribute__((unused)))
-+               my_bool check_buffer MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("net_clear");
- 
-@@ -238,7 +238,7 @@ my_bool net_flush(NET *net)
- */
- 
- static my_bool
--net_should_retry(NET *net, uint *retry_count __attribute__((unused)))
-+net_should_retry(NET *net, uint *retry_count MY_ATTRIBUTE((unused)))
- {
-   my_bool retry;
- 
---- a/sql/partition_info.cc
-+++ b/sql/partition_info.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -945,7 +945,7 @@ partition_element *partition_info::get_part_elem(const char *partition_name,
- */
- 
- static const char *get_part_name_from_elem(const char *name, size_t *length,
--                                      my_bool not_used __attribute__((unused)))
-+                                      my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= strlen(name);
-   return name;
---- a/sql/rpl_filter.cc
-+++ b/sql/rpl_filter.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -508,7 +508,7 @@ extern "C" uchar *get_table_key(const uchar *, size_t *, my_bool);
- extern "C" void free_table_ent(void* a);
- 
- uchar *get_table_key(const uchar* a, size_t *len,
--                     my_bool __attribute__((unused)))
-+                     my_bool MY_ATTRIBUTE((unused)))
- {
-   TABLE_RULE_ENT *e= (TABLE_RULE_ENT *) a;
- 
---- a/sql/rpl_info_dummy.cc
-+++ b/sql/rpl_info_dummy.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -21,7 +21,7 @@ Rpl_info_dummy::Rpl_info_dummy(const int nparam)
- {
- }
- 
--int Rpl_info_dummy::do_init_info(uint instance __attribute__((unused)))
-+int Rpl_info_dummy::do_init_info(uint instance MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
-@@ -51,13 +51,13 @@ enum_return_check Rpl_info_dummy::do_check_info()
-   return REPOSITORY_DOES_NOT_EXIST;
- }
- 
--enum_return_check Rpl_info_dummy::do_check_info(uint instance __attribute__((unused)))
-+enum_return_check Rpl_info_dummy::do_check_info(uint instance MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
-   return REPOSITORY_DOES_NOT_EXIST;
- }
- 
--int Rpl_info_dummy::do_flush_info(const bool force __attribute__((unused)))
-+int Rpl_info_dummy::do_flush_info(const bool force MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
-   return 0;
-@@ -85,105 +85,105 @@ uint Rpl_info_dummy::do_get_rpl_info_type()
-   return INFO_REPOSITORY_DUMMY;
- }
- 
--bool Rpl_info_dummy::do_set_info(const int pos __attribute__((unused)),
--                                const char *value __attribute__((unused)))
-+bool Rpl_info_dummy::do_set_info(const int pos MY_ATTRIBUTE((unused)),
-+                                const char *value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_set_info(const int pos __attribute__((unused)),
--                                const uchar *value __attribute__((unused)),
--                                const size_t size __attribute__((unused)))
-+bool Rpl_info_dummy::do_set_info(const int pos MY_ATTRIBUTE((unused)),
-+                                const uchar *value MY_ATTRIBUTE((unused)),
-+                                const size_t size MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_set_info(const int pos __attribute__((unused)),
--                                const ulong value __attribute__((unused)))
-+bool Rpl_info_dummy::do_set_info(const int pos MY_ATTRIBUTE((unused)),
-+                                const ulong value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_set_info(const int pos __attribute__((unused)),
--                                const int value __attribute__((unused)))
-+bool Rpl_info_dummy::do_set_info(const int pos MY_ATTRIBUTE((unused)),
-+                                const int value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_set_info(const int pos __attribute__((unused)),
--                                const float value __attribute__((unused)))
-+bool Rpl_info_dummy::do_set_info(const int pos MY_ATTRIBUTE((unused)),
-+                                const float value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_set_info(const int pos __attribute__((unused)),
--                                const Dynamic_ids *value __attribute__((unused)))
-+bool Rpl_info_dummy::do_set_info(const int pos MY_ATTRIBUTE((unused)),
-+                                const Dynamic_ids *value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_get_info(const int pos __attribute__((unused)),
--                                char *value __attribute__((unused)),
--                                const size_t size __attribute__((unused)),
--                                const char *default_value __attribute__((unused)))
-+bool Rpl_info_dummy::do_get_info(const int pos MY_ATTRIBUTE((unused)),
-+                                char *value MY_ATTRIBUTE((unused)),
-+                                const size_t size MY_ATTRIBUTE((unused)),
-+                                const char *default_value MY_ATTRIBUTE((unused)))
- {
-     DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_get_info(const int pos __attribute__((unused)),
--                                uchar *value __attribute__((unused)),
--                                const size_t size __attribute__((unused)),
--                                const uchar *default_value __attribute__((unused)))
-+bool Rpl_info_dummy::do_get_info(const int pos MY_ATTRIBUTE((unused)),
-+                                uchar *value MY_ATTRIBUTE((unused)),
-+                                const size_t size MY_ATTRIBUTE((unused)),
-+                                const uchar *default_value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_get_info(const int pos __attribute__((unused)),
--                                ulong *value __attribute__((unused)),
--                                const ulong default_value __attribute__((unused)))
-+bool Rpl_info_dummy::do_get_info(const int pos MY_ATTRIBUTE((unused)),
-+                                ulong *value MY_ATTRIBUTE((unused)),
-+                                const ulong default_value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_get_info(const int pos __attribute__((unused)),
--                                int *value __attribute__((unused)),
--                                const int default_value __attribute__((unused)))
-+bool Rpl_info_dummy::do_get_info(const int pos MY_ATTRIBUTE((unused)),
-+                                int *value MY_ATTRIBUTE((unused)),
-+                                const int default_value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_get_info(const int pos __attribute__((unused)),
--                                float *value __attribute__((unused)),
--                                const float default_value __attribute__((unused)))
-+bool Rpl_info_dummy::do_get_info(const int pos MY_ATTRIBUTE((unused)),
-+                                float *value MY_ATTRIBUTE((unused)),
-+                                const float default_value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
-   return FALSE;
- }
- 
--bool Rpl_info_dummy::do_get_info(const int pos __attribute__((unused)),
--                                Dynamic_ids *value __attribute__((unused)),
--                                const Dynamic_ids *default_value __attribute__((unused)))
-+bool Rpl_info_dummy::do_get_info(const int pos MY_ATTRIBUTE((unused)),
-+                                Dynamic_ids *value MY_ATTRIBUTE((unused)),
-+                                const Dynamic_ids *default_value MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(!abort);
- 
---- a/sql/rpl_info_file.cc
-+++ b/sql/rpl_info_file.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -438,7 +438,7 @@ bool Rpl_info_file::do_get_info(const int pos, float *value,
- }
- 
- bool Rpl_info_file::do_get_info(const int pos, Dynamic_ids *value,
--                                const Dynamic_ids *default_value __attribute__((unused)))
-+                                const Dynamic_ids *default_value MY_ATTRIBUTE((unused)))
- {
-   /*
-     Static buffer to use most of the times. However, if it is not big
---- a/sql/rpl_info_table.cc
-+++ b/sql/rpl_info_table.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -600,7 +600,7 @@ bool Rpl_info_table::do_get_info(const int pos, char *value, const size_t size,
- }
- 
- bool Rpl_info_table::do_get_info(const int pos, uchar *value, const size_t size,
--                                 const uchar *default_value __attribute__((unused)))
-+                                 const uchar *default_value MY_ATTRIBUTE((unused)))
- {
-   if (field_values->value[pos].length() == size)
-     return (!memcpy((char *) value, (char *)
-@@ -661,7 +661,7 @@ bool Rpl_info_table::do_get_info(const int pos, float *value,
- }
- 
- bool Rpl_info_table::do_get_info(const int pos, Dynamic_ids *value,
--                                 const Dynamic_ids *default_value __attribute__((unused)))
-+                                 const Dynamic_ids *default_value MY_ATTRIBUTE((unused)))
- {
-   if (value->unpack_dynamic_ids(field_values->value[pos].c_ptr_safe()))
-     return TRUE;
---- a/sql/rpl_master.cc
-+++ b/sql/rpl_master.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -62,7 +62,7 @@ extern TYPELIB binlog_checksum_typelib;
- 
- extern "C" uint32
- *slave_list_key(SLAVE_INFO* si, size_t *len,
--		my_bool not_used __attribute__((unused)))
-+		my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *len = 4;
-   return &si->server_id;
---- a/sql/rpl_mi.cc
-+++ b/sql/rpl_mi.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -542,7 +542,7 @@ bool Master_info::write_info(Rpl_info_handler *to)
- }
- 
- bool Master_info::set_password(const char* password_arg,
--                               int password_arg_size __attribute__((unused)))
-+                               int password_arg_size MY_ATTRIBUTE((unused)))
- {
-   bool ret= true;
-   DBUG_ENTER("Master_info::set_password");
---- a/sql/rpl_rli_pdb.cc
-+++ b/sql/rpl_rli_pdb.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -629,7 +629,7 @@ static  mysql_cond_t slave_worker_hash_cond;
- 
- 
- extern "C" uchar *get_key(const uchar *record, size_t *length,
--                          my_bool not_used __attribute__((unused)))
-+                          my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("get_key");
- 
-@@ -1490,7 +1490,7 @@ ulong Slave_committed_queue::move_queue_head(DYNAMIC_ARRAY *ws)
-     Slave_worker *w_i;
-     Slave_job_group *ptr_g, g;
-     char grl_name[FN_REFLEN];
--    ulong ind __attribute__((unused));
-+    ulong ind MY_ATTRIBUTE((unused));
- 
- #ifndef DBUG_OFF
-     if (DBUG_EVALUATE_IF("check_slave_debug_group", 1, 0) &&
---- a/sql/rpl_slave.cc
-+++ b/sql/rpl_slave.cc
-@@ -1384,7 +1384,7 @@ terminate_slave_thread(THD *thd,
- 
-   while (*slave_running)                        // Should always be true
-   {
--    int error __attribute__((unused));
-+    int error MY_ATTRIBUTE((unused));
-     DBUG_PRINT("loop", ("killing slave thread"));
- 
-     mysql_mutex_lock(&thd->LOCK_thd_data);
-@@ -1394,7 +1394,7 @@ terminate_slave_thread(THD *thd,
-       EINVAL: invalid signal number (can't happen)
-       ESRCH: thread already killed (can happen, should be ignored)
-     */
--    int err __attribute__((unused))= pthread_kill(thd->real_id, thr_client_alarm);
-+    int err MY_ATTRIBUTE((unused))= pthread_kill(thd->real_id, thr_client_alarm);
-     DBUG_ASSERT(err != EINVAL);
- #endif
-     thd->awake(THD::NOT_KILLED);
---- a/sql/rpl_utility.cc
-+++ b/sql/rpl_utility.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1243,7 +1243,7 @@ bool event_checksum_test(uchar *event_buf, ulong event_len, uint8 alg)
- static uchar*
- hash_slave_rows_get_key(const uchar *record,
-                         size_t *length,
--                        my_bool not_used __attribute__((unused)))
-+                        my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("get_key");
- 
---- a/sql/sql_acl.cc
-+++ b/sql/sql_acl.cc
-@@ -625,7 +625,7 @@ public:
- 
- 
- static uchar* acl_entry_get_key(acl_entry *entry, size_t *length,
--                                my_bool not_used __attribute__((unused)))
-+                                my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=(uint) entry->length;
-   return (uchar*) entry->key;
-@@ -1673,7 +1673,7 @@ bool acl_getroot(Security_context *sctx, char *user, char *host,
- }
- 
- static uchar* check_get_key(ACL_USER *buff, size_t *length,
--                            my_bool not_used __attribute__((unused)))
-+                            my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=buff->host.get_host_len();
-   return (uchar*) buff->host.get_host();
-@@ -3607,7 +3607,7 @@ public:
- 
- 
- static uchar* get_key_column(GRANT_COLUMN *buff, size_t *length,
--			    my_bool not_used __attribute__((unused)))
-+			    my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=buff->key_length;
-   return (uchar*) buff->column;
-@@ -3800,7 +3800,7 @@ GRANT_TABLE::~GRANT_TABLE()
- 
- 
- static uchar* get_grant_table(GRANT_NAME *buff, size_t *length,
--			     my_bool not_used __attribute__((unused)))
-+			     my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=buff->key_length;
-   return (uchar*) buff->hash_key;
---- a/sql/sql_analyse.cc
-+++ b/sql/sql_analyse.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -34,25 +34,25 @@
- using std::min;
- using std::max;
- 
--int sortcmp2(void* cmp_arg __attribute__((unused)),
-+int sortcmp2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 	     const String *a,const String *b)
- {
-   return sortcmp(a,b,a->charset());
- }
- 
--int compare_double2(void* cmp_arg __attribute__((unused)),
-+int compare_double2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 		    const double *s, const double *t)
- {
-   return compare_double(s,t);
- }
- 
--int compare_longlong2(void* cmp_arg __attribute__((unused)),
-+int compare_longlong2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 		      const longlong *s, const longlong *t)
- {
-   return compare_longlong(s,t);
- }
- 
--int compare_ulonglong2(void* cmp_arg __attribute__((unused)),
-+int compare_ulonglong2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 		       const ulonglong *s, const ulonglong *t)
- {
-   return compare_ulonglong(s,t);
-@@ -835,7 +835,7 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows)
- 
- 
- void field_real::get_opt_type(String *answer,
--			      ha_rows total_rows __attribute__((unused)))
-+			      ha_rows total_rows MY_ATTRIBUTE((unused)))
- {
-   char buff[MAX_FIELD_WIDTH];
- 
-@@ -888,7 +888,7 @@ void field_real::get_opt_type(String *answer,
- 
- 
- void field_longlong::get_opt_type(String *answer,
--				  ha_rows total_rows __attribute__((unused)))
-+				  ha_rows total_rows MY_ATTRIBUTE((unused)))
- {
-   char buff[MAX_FIELD_WIDTH];
- 
-@@ -919,7 +919,7 @@ void field_longlong::get_opt_type(String *answer,
- 
- 
- void field_ulonglong::get_opt_type(String *answer,
--				   ha_rows total_rows __attribute__((unused)))
-+				   ha_rows total_rows MY_ATTRIBUTE((unused)))
- {
-   char buff[MAX_FIELD_WIDTH];
- 
-@@ -944,7 +944,7 @@ void field_ulonglong::get_opt_type(String *answer,
- 
- 
- void field_decimal::get_opt_type(String *answer,
--                                 ha_rows total_rows __attribute__((unused)))
-+                                 ha_rows total_rows MY_ATTRIBUTE((unused)))
- {
-   my_decimal zero;
-   char buff[MAX_FIELD_WIDTH];
-@@ -1022,7 +1022,7 @@ String *field_decimal::std(String *s, ha_rows rows)
- 
- 
- int collect_string(String *element,
--		   element_count count __attribute__((unused)),
-+		   element_count count MY_ATTRIBUTE((unused)),
- 		   TREE_INFO *info)
- {
-   if (info->found)
-@@ -1037,7 +1037,7 @@ int collect_string(String *element,
- } // collect_string
- 
- 
--int collect_real(double *element, element_count count __attribute__((unused)),
-+int collect_real(double *element, element_count count MY_ATTRIBUTE((unused)),
- 		 TREE_INFO *info)
- {
-   char buff[MAX_FIELD_WIDTH];
-@@ -1078,7 +1078,7 @@ int collect_decimal(uchar *element, element_count count,
- 
- 
- int collect_longlong(longlong *element,
--		     element_count count __attribute__((unused)),
-+		     element_count count MY_ATTRIBUTE((unused)),
- 		     TREE_INFO *info)
- {
-   char buff[MAX_FIELD_WIDTH];
-@@ -1097,7 +1097,7 @@ int collect_longlong(longlong *element,
- 
- 
- int collect_ulonglong(ulonglong *element,
--		      element_count count __attribute__((unused)),
-+		      element_count count MY_ATTRIBUTE((unused)),
- 		      TREE_INFO *info)
- {
-   char buff[MAX_FIELD_WIDTH];
---- a/sql/sql_analyse.h
-+++ b/sql/sql_analyse.h
-@@ -1,7 +1,7 @@
- #ifndef SQL_ANALYSE_INCLUDED
- #define SQL_ANALYSE_INCLUDED
- 
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -53,13 +53,13 @@ uint check_ulonglong(const char *str, uint length);
- bool get_ev_num_info(EV_NUM_INFO *ev_info, NUM_INFO *info, const char *num);
- bool test_if_number(NUM_INFO *info, const char *str, uint str_len);
- int compare_double(const double *s, const double *t);
--int compare_double2(void* cmp_arg __attribute__((unused)),
-+int compare_double2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 		    const double *s, const double *t);
- int compare_longlong(const longlong *s, const longlong *t);
--int compare_longlong2(void* cmp_arg __attribute__((unused)),
-+int compare_longlong2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 		      const longlong *s, const longlong *t);
- int compare_ulonglong(const ulonglong *s, const ulonglong *t);
--int compare_ulonglong2(void* cmp_arg __attribute__((unused)),
-+int compare_ulonglong2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 		       const ulonglong *s, const ulonglong *t);
- int compare_decimal2(int* len, const char *s, const char *t);
- void free_string(String*);
-@@ -97,7 +97,7 @@ public:
- int collect_string(String *element, element_count count,
- 		   TREE_INFO *info);
- 
--int sortcmp2(void* cmp_arg __attribute__((unused)),
-+int sortcmp2(void* cmp_arg MY_ATTRIBUTE((unused)),
- 	     const String *a,const String *b);
- 
- class field_str :public field_info
-@@ -120,9 +120,9 @@ public:
- 
-   void	 add();
-   void	 get_opt_type(String*, ha_rows);
--  String *get_min_arg(String *not_used __attribute__((unused)))
-+  String *get_min_arg(String *not_used MY_ATTRIBUTE((unused)))
-   { return &min_arg; }
--  String *get_max_arg(String *not_used __attribute__((unused)))
-+  String *get_max_arg(String *not_used MY_ATTRIBUTE((unused)))
-   { return &max_arg; }
-   String *avg(String *s, ha_rows rows)
-   {
-@@ -137,8 +137,8 @@ public:
- 			    TREE_INFO *info);
-   tree_walk_action collect_enum()
-   { return (tree_walk_action) collect_string; }
--  String *std(String *s __attribute__((unused)),
--	      ha_rows rows __attribute__((unused)))
-+  String *std(String *s MY_ATTRIBUTE((unused)),
-+	      ha_rows rows MY_ATTRIBUTE((unused)))
-   { return (String*) 0; }
- };
- 
---- a/sql/sql_audit.cc
-+++ b/sql/sql_audit.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -494,7 +494,7 @@ static void event_class_dispatch(THD *thd, unsigned int event_class,
- 
- 
- /**  There's at least one active audit plugin tracking the general events */
--bool is_any_audit_plugin_active(THD *thd __attribute__((unused)))
-+bool is_any_audit_plugin_active(THD *thd MY_ATTRIBUTE((unused)))
- {
-   return (mysql_global_audit_mask[0] & MYSQL_AUDIT_GENERAL_CLASSMASK);
- }
---- a/sql/sql_audit.h
-+++ b/sql/sql_audit.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -37,7 +37,7 @@ extern void mysql_audit_acquire_plugins(THD *thd, uint event_class);
- #ifndef EMBEDDED_LIBRARY
- extern void mysql_audit_notify(THD *thd, uint event_class,
-                                uint event_subtype, ...);
--bool is_any_audit_plugin_active(THD *thd __attribute__((unused)));
-+bool is_any_audit_plugin_active(THD *thd MY_ATTRIBUTE((unused)));
- #else
- #define mysql_audit_notify(...)
- #endif
---- a/sql/sql_base.cc
-+++ b/sql/sql_base.cc
-@@ -330,7 +330,7 @@ uint get_table_def_key(const TABLE_LIST *table_list, const char **key)
- *****************************************************************************/
- 
- extern "C" uchar *table_def_key(const uchar *record, size_t *length,
--                               my_bool not_used __attribute__((unused)))
-+                               my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   TABLE_SHARE *entry=(TABLE_SHARE*) record;
-   *length= entry->table_cache_key.length;
-@@ -4865,7 +4865,7 @@ end:
- }
- 
- extern "C" uchar *schema_set_get_key(const uchar *record, size_t *length,
--                                     my_bool not_used __attribute__((unused)))
-+                                     my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   TABLE_LIST *table=(TABLE_LIST*) record;
-   *length= table->db_length;
---- a/sql/sql_cache.cc
-+++ b/sql/sql_cache.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, 2015, Oracle and/or its affiliates. All rights
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights
-    reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -729,7 +729,7 @@ inline Query_cache_block_table * Query_cache_block::table(TABLE_COUNTER_TYPE n)
- extern "C"
- {
- uchar *query_cache_table_get_key(const uchar *record, size_t *length,
--				my_bool not_used __attribute__((unused)))
-+				my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   Query_cache_block* table_block = (Query_cache_block*) record;
-   *length = (table_block->used - table_block->headers_len() -
---- a/sql/sql_class.cc
-+++ b/sql/sql_class.cc
-@@ -83,7 +83,7 @@ const char * const THD::DEFAULT_WHERE= "field list";
- ****************************************************************************/
- 
- extern "C" uchar *get_var_key(user_var_entry *entry, size_t *length,
--                              my_bool not_used __attribute__((unused)))
-+                              my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= entry->entry_name.length();
-   return (uchar*) entry->entry_name.ptr();
-@@ -3053,7 +3053,7 @@ err:
- 
- 
- int
--select_dump::prepare(List<Item> &list __attribute__((unused)),
-+select_dump::prepare(List<Item> &list MY_ATTRIBUTE((unused)),
- 		     SELECT_LEX_UNIT *u)
- {
-   unit= u;
-@@ -3465,7 +3465,7 @@ C_MODE_START
- 
- static uchar *
- get_statement_id_as_hash_key(const uchar *record, size_t *key_length,
--                             my_bool not_used __attribute__((unused)))
-+                             my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   const Statement *statement= (const Statement *) record; 
-   *key_length= sizeof(statement->id);
-@@ -3478,7 +3478,7 @@ static void delete_statement_as_hash_key(void *key)
- }
- 
- static uchar *get_stmt_name_hash_key(Statement *entry, size_t *length,
--                                    my_bool not_used __attribute__((unused)))
-+                                    my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= entry->name.length;
-   return (uchar*) entry->name.str;
-@@ -4779,7 +4779,7 @@ extern "C" uchar *xid_get_hash_key(const uchar *, size_t *, my_bool);
- extern "C" void xid_free_hash(void *);
- 
- uchar *xid_get_hash_key(const uchar *ptr, size_t *length,
--                                  my_bool not_used __attribute__((unused)))
-+                                  my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=((XID_STATE*)ptr)->xid.key_length();
-   return ((XID_STATE*)ptr)->xid.key();
---- a/sql/sql_connect.cc
-+++ b/sql/sql_connect.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -337,7 +337,7 @@ void release_user_connection(THD *thd)
- */
- 
- extern "C" uchar *get_key_conn(user_conn *buff, size_t *length,
--            my_bool not_used __attribute__((unused)))
-+            my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= buff->len;
-   return (uchar*) buff->user;
---- a/sql/sql_cursor.cc
-+++ b/sql/sql_cursor.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -47,7 +47,7 @@ public:
- 
-   int send_result_set_metadata(THD *thd, List<Item> &send_result_set_metadata);
-   virtual bool is_open() const { return table != 0; }
--  virtual int open(JOIN *join __attribute__((unused)));
-+  virtual int open(JOIN *join MY_ATTRIBUTE((unused)));
-   virtual void fetch(ulong num_rows);
-   virtual void close();
-   virtual ~Materialized_cursor();
-@@ -277,7 +277,7 @@ end:
- }
- 
- 
--int Materialized_cursor::open(JOIN *join __attribute__((unused)))
-+int Materialized_cursor::open(JOIN *join MY_ATTRIBUTE((unused)))
- {
-   THD *thd= fake_unit.thd;
-   int rc;
---- a/sql/sql_db.cc
-+++ b/sql/sql_db.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -86,7 +86,7 @@ extern "C" uchar* dboptions_get_key(my_dbopt_t *opt, size_t *length,
-                                     my_bool not_used);
- 
- uchar* dboptions_get_key(my_dbopt_t *opt, size_t *length,
--                         my_bool not_used __attribute__((unused)))
-+                         my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= opt->name_length;
-   return (uchar*) opt->name;
---- a/sql/sql_executor.cc
-+++ b/sql/sql_executor.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -484,7 +484,7 @@ init_tmptable_sum_functions(Item_sum **func_ptr)
- 
- static void
- update_tmptable_sum_func(Item_sum **func_ptr,
--			 TABLE *tmp_table __attribute__((unused)))
-+			 TABLE *tmp_table MY_ATTRIBUTE((unused)))
- {
-   Item_sum *func;
-   while ((func= *(func_ptr++)))
-@@ -2256,7 +2256,7 @@ join_read_last_key(JOIN_TAB *tab)
- 
- 	/* ARGSUSED */
- static int
--join_no_more_records(READ_RECORD *info __attribute__((unused)))
-+join_no_more_records(READ_RECORD *info MY_ATTRIBUTE((unused)))
- {
-   return -1;
- }
-@@ -2858,7 +2858,7 @@ end_send(JOIN *join, JOIN_TAB *join_tab, bool end_of_records)
- 
- 	/* ARGSUSED */
- enum_nested_loop_state
--end_send_group(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
-+end_send_group(JOIN *join, JOIN_TAB *join_tab MY_ATTRIBUTE((unused)),
- 	       bool end_of_records)
- {
-   int idx= -1;
-@@ -3856,7 +3856,7 @@ setup_copy_fields(THD *thd, TMP_TABLE_PARAM *param,
-   Item *pos;
-   List_iterator_fast<Item> li(all_fields);
-   Copy_field *copy= NULL;
--  Copy_field *copy_start __attribute__((unused));
-+  Copy_field *copy_start MY_ATTRIBUTE((unused));
-   res_selected_fields.empty();
-   res_all_fields.empty();
-   List_iterator_fast<Item> itr(res_all_fields);
---- a/sql/sql_executor.h
-+++ b/sql/sql_executor.h
-@@ -1,7 +1,7 @@
- #ifndef SQL_EXECUTOR_INCLUDED
- #define SQL_EXECUTOR_INCLUDED
- 
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights
-    reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -258,7 +258,7 @@ private:
-   /** Write function that would be used for saving records in tmp table. */
-   Next_select_func write_func;
-   enum_nested_loop_state put_record(bool end_of_records);
--  __attribute__((warn_unused_result))
-+  MY_ATTRIBUTE((warn_unused_result))
-   bool prepare_tmp_table();
- };
- 
---- a/sql/sql_handler.cc
-+++ b/sql/sql_handler.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -89,7 +89,7 @@ static bool mysql_ha_open_table(THD *thd, TABLE_LIST *table);
- */
- 
- static char *mysql_ha_hash_get_key(TABLE_LIST *tables, size_t *key_len_p,
--                                   my_bool first __attribute__((unused)))
-+                                   my_bool first MY_ATTRIBUTE((unused)))
- {
-   *key_len_p= strlen(tables->alias) + 1 ; /* include '\0' in comparisons */
-   return tables->alias;
---- a/sql/sql_load.cc
-+++ b/sql/sql_load.cc
-@@ -209,7 +209,7 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
-   */
-   char *tdb= thd->db ? thd->db : db;		// Result is never null
-   ulong skip_lines= ex->skip_lines;
--  bool transactional_table __attribute__((unused));
-+  bool transactional_table MY_ATTRIBUTE((unused));
-   DBUG_ENTER("mysql_load");
- 
-   /*
---- a/sql/sql_manager.cc
-+++ b/sql/sql_manager.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -63,7 +63,7 @@ bool mysql_manager_submit(void (*action)())
-   return result;
- }
- 
--pthread_handler_t handle_manager(void *arg __attribute__((unused)))
-+pthread_handler_t handle_manager(void *arg MY_ATTRIBUTE((unused)))
- {
-   int error = 0;
-   struct timespec abstime;
---- a/sql/sql_optimizer.cc
-+++ b/sql/sql_optimizer.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1121,8 +1121,8 @@ public:
-   {
-     return (void*) sql_alloc((uint) size);
-   }
--  static void operator delete(void *ptr __attribute__((unused)),
--                              size_t size __attribute__((unused)))
-+  static void operator delete(void *ptr MY_ATTRIBUTE((unused)),
-+                              size_t size MY_ATTRIBUTE((unused)))
-   { TRASH(ptr, size); }
- 
-   Item *and_level;
---- a/sql/sql_parse.cc
-+++ b/sql/sql_parse.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1645,7 +1645,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
-   {
-     STATUS_VAR current_global_status_var;
-     ulong uptime;
--    uint length __attribute__((unused));
-+    uint length MY_ATTRIBUTE((unused));
-     ulonglong queries_per_second1000;
-     char buff[250];
-     uint buff_len= sizeof(buff);
-@@ -1791,7 +1791,7 @@ done:
-   /* DTRACE instrumentation, end */
-   if (MYSQL_QUERY_DONE_ENABLED() || MYSQL_COMMAND_DONE_ENABLED())
-   {
--    int res __attribute__((unused));
-+    int res MY_ATTRIBUTE((unused));
-     res= (int) thd->is_error();
-     if (command == COM_QUERY)
-     {
-@@ -5919,7 +5919,7 @@ long max_stack_used;
-   - Passing to check_stack_overrun() prevents the compiler from removing it.
- */
- bool check_stack_overrun(THD *thd, long margin,
--			 uchar *buf __attribute__((unused)))
-+			 uchar *buf MY_ATTRIBUTE((unused)))
- {
-   long stack_used;
-   DBUG_ASSERT(thd == current_thd);
-@@ -6260,7 +6260,7 @@ void mysql_init_multi_delete(LEX *lex)
- void mysql_parse(THD *thd, char *rawbuf, uint length,
-                  Parser_state *parser_state)
- {
--  int error __attribute__((unused));
-+  int error MY_ATTRIBUTE((unused));
-   DBUG_ENTER("mysql_parse");
- 
-   DBUG_EXECUTE_IF("parser_debug", turn_parser_debug_on(););
---- a/sql/sql_planner.cc
-+++ b/sql/sql_planner.cc
-@@ -1516,7 +1516,7 @@ bool Optimize_table_order::greedy_search(table_map remaining_tables)
-       join state will not be reverted back to its initial state because we
-       don't "pop" tables already present in the partial plan.
-     */
--    bool is_interleave_error __attribute__((unused))= 
-+    bool is_interleave_error MY_ATTRIBUTE((unused))= 
-       check_interleaving_with_nj (best_table);
-     /* This has been already checked by best_extension_by_limited_search */
-     DBUG_ASSERT(!is_interleave_error);
---- a/sql/sql_plugin.cc
-+++ b/sql/sql_plugin.cc
-@@ -1216,7 +1216,7 @@ extern "C" uchar *get_bookmark_hash_key(const uchar *, size_t *, my_bool);
- 
- 
- uchar *get_plugin_hash_key(const uchar *buff, size_t *length,
--                           my_bool not_used __attribute__((unused)))
-+                           my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   struct st_plugin_int *plugin= (st_plugin_int *)buff;
-   *length= (uint)plugin->name.length;
-@@ -1225,7 +1225,7 @@ uchar *get_plugin_hash_key(const uchar *buff, size_t *length,
- 
- 
- uchar *get_bookmark_hash_key(const uchar *buff, size_t *length,
--                             my_bool not_used __attribute__((unused)))
-+                             my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   struct st_bookmark *var= (st_bookmark *)buff;
-   *length= var->name_len + 1;
-@@ -3396,7 +3396,7 @@ static void plugin_opt_set_limits(struct my_option *options,
- extern "C" my_bool get_one_plugin_option(int optid, const struct my_option *,
-                                          char *);
- 
--my_bool get_one_plugin_option(int optid __attribute__((unused)),
-+my_bool get_one_plugin_option(int optid MY_ATTRIBUTE((unused)),
-                               const struct my_option *opt,
-                               char *argument)
- {
-@@ -3717,7 +3717,7 @@ static my_option *construct_help_options(MEM_ROOT *mem_root,
- 
- static my_bool check_if_option_is_deprecated(int optid,
-                                              const struct my_option *opt,
--                                             char *argument __attribute__((unused)))
-+                                             char *argument MY_ATTRIBUTE((unused)))
- {
-   if (optid == -1)
-   {
-@@ -3767,7 +3767,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
-   LEX_STRING plugin_name;
-   char *varname;
-   int error;
--  sys_var *v __attribute__((unused));
-+  sys_var *v MY_ATTRIBUTE((unused));
-   struct st_bookmark *var;
-   uint len, count= EXTRA_OPTIONS;
-   DBUG_ENTER("test_plugin_options");
---- a/sql/sql_prepare.cc
-+++ b/sql/sql_prepare.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -399,7 +399,7 @@ static bool send_prep_stmt(Prepared_statement *stmt, uint columns)
- }
- #else
- static bool send_prep_stmt(Prepared_statement *stmt,
--                           uint columns __attribute__((unused)))
-+                           uint columns MY_ATTRIBUTE((unused)))
- {
-   THD *thd= stmt->thd;
- 
-@@ -1183,7 +1183,7 @@ swap_parameter_array(Item_param **param_array_dst,
- 
- static bool insert_params_from_vars(Prepared_statement *stmt,
-                                     List<LEX_STRING>& varnames,
--                                    String *query __attribute__((unused)))
-+                                    String *query MY_ATTRIBUTE((unused)))
- {
-   Item_param **begin= stmt->param_array;
-   Item_param **end= begin + stmt->param_count;
-@@ -4529,7 +4529,7 @@ bool Protocol_local::store(const char *str, size_t length,
- /* Store MYSQL_TIME (in binary format) */
- 
- bool Protocol_local::store(MYSQL_TIME *time,
--                           uint precision __attribute__((unused)))
-+                           uint precision MY_ATTRIBUTE((unused)))
- {
-   return store_column(time, sizeof(MYSQL_TIME));
- }
-@@ -4546,7 +4546,7 @@ bool Protocol_local::store_date(MYSQL_TIME *time)
- /** Store MYSQL_TIME (in binary format) */
- 
- bool Protocol_local::store_time(MYSQL_TIME *time,
--                                uint precision __attribute__((unused)))
-+                                uint precision MY_ATTRIBUTE((unused)))
- {
-   return store_column(time, sizeof(MYSQL_TIME));
- }
---- a/sql/sql_select.cc
-+++ b/sql/sql_select.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -3075,7 +3075,7 @@ bool JOIN_TAB::and_with_jt_and_sel_condition(Item *add_cond, uint line)
- */
- bool JOIN_TAB::and_with_condition(Item *add_cond, uint line)
- {
--  Item *old_cond __attribute__((unused))= m_condition;
-+  Item *old_cond MY_ATTRIBUTE((unused))= m_condition;
-   if (and_conditions(&m_condition, add_cond))
-     return true;
-   DBUG_PRINT("info", ("JOIN_TAB::m_condition extended. Change %p -> %p "
---- a/sql/sql_servers.cc
-+++ b/sql/sql_servers.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -86,7 +86,7 @@ static void merge_server_struct(FOREIGN_SERVER *from, FOREIGN_SERVER *to);
- 
- 
- static uchar *servers_cache_get_key(FOREIGN_SERVER *server, size_t *length,
--			       my_bool not_used __attribute__((unused)))
-+			       my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   DBUG_ENTER("servers_cache_get_key");
-   DBUG_PRINT("info", ("server_name_length %d server_name %s",
---- a/sql/sql_show.cc
-+++ b/sql/sql_show.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -369,7 +369,7 @@ ignore_db_dirs_init()
- 
- static uchar *
- db_dirs_hash_get_key(const uchar *data, size_t *len_ret,
--                     my_bool __attribute__((unused)))
-+                     my_bool MY_ATTRIBUTE((unused)))
- {
-   LEX_STRING *e= (LEX_STRING *) data;
- 
-@@ -2032,8 +2032,8 @@ public:
-   {
-     return (void*) sql_alloc((uint) size);
-   }
--  static void operator delete(void *ptr __attribute__((unused)),
--                              size_t size __attribute__((unused)))
-+  static void operator delete(void *ptr MY_ATTRIBUTE((unused)),
-+                              size_t size MY_ATTRIBUTE((unused)))
-   { TRASH(ptr, size); }
- 
-   ulong thread_id;
---- a/sql/sql_table.cc
-+++ b/sql/sql_table.cc
-@@ -5513,7 +5513,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, TABLE_LIST* src_table,
-           */
-           create_info->used_fields|= HA_CREATE_USED_ENGINE;
- 
--          int result __attribute__((unused))=
-+          int result MY_ATTRIBUTE((unused))=
-             store_create_info(thd, table, &query,
-                               create_info, TRUE /* show_database */);
- 
---- a/sql/sql_time.cc
-+++ b/sql/sql_time.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1187,7 +1187,7 @@ const char *get_date_time_format_str(KNOWN_DATE_TIME_FORMAT *format,
-   @param OUT str  String to conver to
-   @param dec      Number of fractional digits.
- */
--void make_time(const DATE_TIME_FORMAT *format __attribute__((unused)),
-+void make_time(const DATE_TIME_FORMAT *format MY_ATTRIBUTE((unused)),
-                const MYSQL_TIME *l_time, String *str, uint dec)
- {
-   uint length= (uint) my_time_to_str(l_time, (char*) str->ptr(), dec);
-@@ -1202,7 +1202,7 @@ void make_time(const DATE_TIME_FORMAT *format __attribute__((unused)),
-   @param l_time   DATE value
-   @param OUT str  String to conver to
- */
--void make_date(const DATE_TIME_FORMAT *format __attribute__((unused)),
-+void make_date(const DATE_TIME_FORMAT *format MY_ATTRIBUTE((unused)),
-                const MYSQL_TIME *l_time, String *str)
- {
-   uint length= (uint) my_date_to_str(l_time, (char*) str->ptr());
-@@ -1218,7 +1218,7 @@ void make_date(const DATE_TIME_FORMAT *format __attribute__((unused)),
-   @param OUT str  String to conver to
-   @param dec      Number of fractional digits.
- */
--void make_datetime(const DATE_TIME_FORMAT *format __attribute__((unused)),
-+void make_datetime(const DATE_TIME_FORMAT *format MY_ATTRIBUTE((unused)),
-                    const MYSQL_TIME *l_time, String *str, uint dec)
- {
-   uint length= (uint) my_datetime_to_str(l_time, (char*) str->ptr(), dec);
---- a/sql/sql_udf.cc
-+++ b/sql/sql_udf.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -94,7 +94,7 @@ static char *init_syms(udf_func *tmp, char *nm)
- 
- 
- extern "C" uchar* get_hash_key(const uchar *buff, size_t *length,
--			      my_bool not_used __attribute__((unused)))
-+			      my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   udf_func *udf=(udf_func*) buff;
-   *length=(uint) udf->name.length;
---- a/sql/sql_yacc.yy
-+++ b/sql/sql_yacc.yy
-@@ -113,18 +113,18 @@ int yylex(void *yylval, void *yythd);
- <pre>
-   yyerrlab1:
-   #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
--    __attribute__ ((__unused__))
-+    MY_ATTRIBUTE ((__unused__))
-   #endif
- </pre>
--  This usage of __attribute__ is illegal, so we remove it.
-+  This usage of MY_ATTRIBUTE is illegal, so we remove it.
-   See the following references for details:
-   http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00014.html
-   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14273
- */
- 
- #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
--#undef __attribute__
--#define __attribute__(X)
-+#undef MY_ATTRIBUTE
-+#define MY_ATTRIBUTE(X)
- #endif
- 
- 
---- a/sql/table.cc
-+++ b/sql/table.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -210,7 +210,7 @@ View_creation_ctx * View_creation_ctx::create(THD *thd,
- /* Get column name from column hash */
- 
- static uchar *get_field_name(Field **buff, size_t *length,
--                             my_bool not_used __attribute__((unused)))
-+                             my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= (uint) strlen((*buff)->field_name);
-   return (uchar*) (*buff)->field_name;
---- a/sql/table_cache.cc
-+++ b/sql/table_cache.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -33,7 +33,7 @@ PSI_mutex_info Table_cache::m_mutex_keys[]= {
- 
- extern "C" uchar *table_cache_key(const uchar *record,
-                                   size_t *length,
--                                  my_bool not_used __attribute__((unused)))
-+                                  my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   TABLE_SHARE *share= ((Table_cache_element*)record)->get_share();
-   *length= share->table_cache_key.length;
---- a/sql/tztime.cc
-+++ b/sql/tztime.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1490,7 +1490,7 @@ public:
- 
- extern "C" uchar *
- my_tz_names_get_key(Tz_names_entry *entry, size_t *length,
--                    my_bool not_used __attribute__((unused)))
-+                    my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= entry->name.length();
-   return (uchar*) entry->name.ptr();
-@@ -1499,7 +1499,7 @@ my_tz_names_get_key(Tz_names_entry *entry, size_t *length,
- extern "C" uchar *
- my_offset_tzs_get_key(Time_zone_offset *entry,
-                       size_t *length,
--                      my_bool not_used __attribute__((unused)))
-+                      my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= sizeof(long);
-   return (uchar*) &entry->offset;
---- a/sql/udf_example.cc
-+++ b/sql/udf_example.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -227,7 +227,7 @@ my_bool metaphon_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
- ****************************************************************************/
- 
- 
--void metaphon_deinit(UDF_INIT *initid __attribute__((unused)))
-+void metaphon_deinit(UDF_INIT *initid MY_ATTRIBUTE((unused)))
- {
- }
- 
-@@ -273,9 +273,9 @@ static char codes[26] =  {
- #define NOGHTOF(x)  (codes[(x) - 'A'] & 16)	/* BDH */
- 
- 
--char *metaphon(UDF_INIT *initid __attribute__((unused)),
-+char *metaphon(UDF_INIT *initid MY_ATTRIBUTE((unused)),
-                UDF_ARGS *args, char *result, unsigned long *length,
--               char *is_null, char *error __attribute__((unused)))
-+               char *is_null, char *error MY_ATTRIBUTE((unused)))
- {
-   const char *word=args->args[0];
-   const char *w_end;
-@@ -550,8 +550,8 @@ my_bool myfunc_double_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
- }
- 
- 
--double myfunc_double(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
--                     char *is_null, char *error __attribute__((unused)))
-+double myfunc_double(UDF_INIT *initid MY_ATTRIBUTE((unused)), UDF_ARGS *args,
-+                     char *is_null, char *error MY_ATTRIBUTE((unused)))
- {
-   unsigned long val = 0;
-   unsigned long v = 0;
-@@ -589,9 +589,9 @@ double myfunc_double(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
- 
- /* This function returns the sum of all arguments */
- 
--longlong myfunc_int(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
--                    char *is_null __attribute__((unused)),
--                    char *error __attribute__((unused)))
-+longlong myfunc_int(UDF_INIT *initid MY_ATTRIBUTE((unused)), UDF_ARGS *args,
-+                    char *is_null MY_ATTRIBUTE((unused)),
-+                    char *error MY_ATTRIBUTE((unused)))
- {
-   longlong val = 0;
-   uint i;
-@@ -621,9 +621,9 @@ longlong myfunc_int(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
-   At least one of _init/_deinit is needed unless the server is started
-   with --allow_suspicious_udfs.
- */
--my_bool myfunc_int_init(UDF_INIT *initid __attribute__((unused)),
--                        UDF_ARGS *args __attribute__((unused)),
--                        char *message __attribute__((unused)))
-+my_bool myfunc_int_init(UDF_INIT *initid MY_ATTRIBUTE((unused)),
-+                        UDF_ARGS *args MY_ATTRIBUTE((unused)),
-+                        char *message MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
-@@ -663,9 +663,9 @@ void sequence_deinit(UDF_INIT *initid)
-     free(initid->ptr);
- }
- 
--longlong sequence(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
--                  char *is_null __attribute__((unused)),
--                  char *error __attribute__((unused)))
-+longlong sequence(UDF_INIT *initid MY_ATTRIBUTE((unused)), UDF_ARGS *args,
-+                  char *is_null MY_ATTRIBUTE((unused)),
-+                  char *error MY_ATTRIBUTE((unused)))
- {
-   ulonglong val=0;
-   if (args->arg_count)
-@@ -727,16 +727,16 @@ my_bool lookup_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
-   return 0;
- }
- 
--void lookup_deinit(UDF_INIT *initid __attribute__((unused)))
-+void lookup_deinit(UDF_INIT *initid MY_ATTRIBUTE((unused)))
- {
- #if !defined(HAVE_GETHOSTBYADDR_R) || !defined(HAVE_SOLARIS_STYLE_GETHOST)
-   (void) pthread_mutex_destroy(&LOCK_hostname);
- #endif
- }
- 
--char *lookup(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
-+char *lookup(UDF_INIT *initid MY_ATTRIBUTE((unused)), UDF_ARGS *args,
-              char *result, unsigned long *res_length, char *null_value,
--             char *error __attribute__((unused)))
-+             char *error MY_ATTRIBUTE((unused)))
- {
-   uint length;
-   char name_buff[256];
-@@ -807,16 +807,16 @@ my_bool reverse_lookup_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
-   return 0;
- }
- 
--void reverse_lookup_deinit(UDF_INIT *initid __attribute__((unused)))
-+void reverse_lookup_deinit(UDF_INIT *initid MY_ATTRIBUTE((unused)))
- {
- #if !defined(HAVE_GETHOSTBYADDR_R) || !defined(HAVE_SOLARIS_STYLE_GETHOST)
-   (void) pthread_mutex_destroy(&LOCK_hostname);
- #endif
- }
- 
--char *reverse_lookup(UDF_INIT *initid __attribute__((unused)), UDF_ARGS *args,
-+char *reverse_lookup(UDF_INIT *initid MY_ATTRIBUTE((unused)), UDF_ARGS *args,
-                      char *result, unsigned long *res_length,
--                     char *null_value, char *error __attribute__((unused)))
-+                     char *null_value, char *error MY_ATTRIBUTE((unused)))
- {
- #if defined(HAVE_GETHOSTBYADDR_R) && defined(HAVE_SOLARIS_STYLE_GETHOST)
-   char name_buff[256];
-@@ -970,8 +970,8 @@ avgcost_reset(UDF_INIT* initid, UDF_ARGS* args, char* is_null, char* message)
- /* This is needed to get things to work in MySQL 4.1.1 and above */
- 
- void
--avgcost_clear(UDF_INIT* initid, char* is_null __attribute__((unused)),
--              char* message __attribute__((unused)))
-+avgcost_clear(UDF_INIT* initid, char* is_null MY_ATTRIBUTE((unused)),
-+              char* message MY_ATTRIBUTE((unused)))
- {
-   struct avgcost_data* data = (struct avgcost_data*)initid->ptr;
-   data->totalprice=	0.0;
-@@ -982,8 +982,8 @@ avgcost_clear(UDF_INIT* initid, char* is_null __attribute__((unused)),
- 
- void
- avgcost_add(UDF_INIT* initid, UDF_ARGS* args,
--            char* is_null __attribute__((unused)),
--            char* message __attribute__((unused)))
-+            char* is_null MY_ATTRIBUTE((unused)),
-+            char* message MY_ATTRIBUTE((unused)))
- {
-   if (args->args[0] && args->args[1])
-   {
-@@ -1029,8 +1029,8 @@ avgcost_add(UDF_INIT* initid, UDF_ARGS* args,
- 
- 
- double
--avgcost( UDF_INIT* initid, UDF_ARGS* args __attribute__((unused)),
--         char* is_null, char* error __attribute__((unused)))
-+avgcost( UDF_INIT* initid, UDF_ARGS* args MY_ATTRIBUTE((unused)),
-+         char* is_null, char* error MY_ATTRIBUTE((unused)))
- {
-   struct avgcost_data* data = (struct avgcost_data*)initid->ptr;
-   if (!data->count || !data->totalquantity)
-@@ -1063,10 +1063,10 @@ my_bool myfunc_argument_name_init(UDF_INIT *initid, UDF_ARGS *args,
-   return 0;
- }
- 
--char *myfunc_argument_name(UDF_INIT *initid __attribute__((unused)),
-+char *myfunc_argument_name(UDF_INIT *initid MY_ATTRIBUTE((unused)),
-                            UDF_ARGS *args, char *result,
-                            unsigned long *length, char *null_value,
--                           char *error __attribute__((unused)))
-+                           char *error MY_ATTRIBUTE((unused)))
- {
-   if (!args->attributes[0])
-   {
-@@ -1094,9 +1094,9 @@ my_bool is_const_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
-   return 0;
- }
- 
--char * is_const(UDF_INIT *initid, UDF_ARGS *args __attribute__((unused)),
-+char * is_const(UDF_INIT *initid, UDF_ARGS *args MY_ATTRIBUTE((unused)),
-                 char *result, unsigned long *length,
--                char *is_null, char *error __attribute__((unused)))
-+                char *is_null, char *error MY_ATTRIBUTE((unused)))
- {
-   if (initid->ptr != 0) {
-     sprintf(result, "const");
-@@ -1135,9 +1135,9 @@ my_bool check_const_len_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
- }
- 
- extern "C"
--char * check_const_len(UDF_INIT *initid, UDF_ARGS *args __attribute__((unused)),
-+char * check_const_len(UDF_INIT *initid, UDF_ARGS *args MY_ATTRIBUTE((unused)),
-                 char *result, unsigned long *length,
--                char *is_null, char *error __attribute__((unused)))
-+                char *is_null, char *error MY_ATTRIBUTE((unused)))
- {
-   strmov(result, initid->ptr);
-   *length= (uint) strlen(result);
-@@ -1183,8 +1183,8 @@ void my_median_deinit(UDF_INIT* initid)
- }
- 
- void my_median_add(UDF_INIT* initid, UDF_ARGS* args,
--                   char* is_null __attribute__((unused)),
--                   char* message __attribute__((unused)))
-+                   char* is_null MY_ATTRIBUTE((unused)),
-+                   char* message MY_ATTRIBUTE((unused)))
- {
-   My_median_data *data=
-     static_cast<My_median_data*>(static_cast<void*>(initid->ptr));
-@@ -1197,8 +1197,8 @@ void my_median_add(UDF_INIT* initid, UDF_ARGS* args,
- }
- 
- void my_median_clear(UDF_INIT* initid, UDF_ARGS* args,
--                     char* is_null __attribute__((unused)),
--                     char* message __attribute__((unused)))
-+                     char* is_null MY_ATTRIBUTE((unused)),
-+                     char* message MY_ATTRIBUTE((unused)))
- {
-   My_median_data *data=
-     static_cast<My_median_data*>(static_cast<void*>(initid->ptr));
-@@ -1207,7 +1207,7 @@ void my_median_clear(UDF_INIT* initid, UDF_ARGS* args,
- 
- longlong my_median(UDF_INIT* initid, UDF_ARGS* args,
-                    char* is_null,
--                   char* message __attribute__((unused)))
-+                   char* message MY_ATTRIBUTE((unused)))
- {
-   My_median_data *data=
-     static_cast<My_median_data*>(static_cast<void*>(initid->ptr));
---- a/storage/archive/archive_reader.c
-+++ b/storage/archive/archive_reader.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -22,6 +22,7 @@
- #include <m_string.h>
- #include <my_getopt.h>
- #include <mysql_version.h>
-+#include <welcome_copyright_notice.h> // ORACLE_WELCOME_COPYRIGHT_NOTICE
- 
- #define BUFFER_LEN 1024
- #define ARCHIVE_ROW_HEADER_SIZE 4
-@@ -292,7 +293,7 @@ end:
- 
- static my_bool
- get_one_option(int optid,
--	       const struct my_option *opt __attribute__((unused)),
-+	       const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   switch (optid) {
-@@ -388,8 +389,8 @@ static struct my_option my_long_options[] =
- static void usage(void)
- {
-   print_version();
--  puts("Copyright 2007-2008 MySQL AB, 2008 Sun Microsystems, Inc.");
--  puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n");
-+  puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2007"));
-+
-   puts("Read and modify Archive files directly\n");
-   printf("Usage: %s [OPTIONS] file_to_be_looked_at [file_for_backup]\n", my_progname);
-   print_defaults("my", load_default_groups);
---- a/storage/blackhole/ha_blackhole.cc
-+++ b/storage/blackhole/ha_blackhole.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -383,7 +383,7 @@ static void blackhole_free_key(st_blackhole_share *share)
- }
- 
- static uchar* blackhole_get_key(st_blackhole_share *share, size_t *length,
--                                my_bool not_used __attribute__((unused)))
-+                                my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length= share->table_name_length;
-   return (uchar*) share->table_name;
---- a/storage/csv/ha_tina.cc
-+++ b/storage/csv/ha_tina.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -102,7 +102,7 @@ int sort_set (tina_set *a, tina_set *b)
- }
- 
- static uchar* tina_get_key(TINA_SHARE *share, size_t *length,
--                          my_bool not_used __attribute__((unused)))
-+                          my_bool not_used MY_ATTRIBUTE((unused)))
- {
-   *length=share->table_name_length;
-   return (uchar*) share->table_name;
---- a/storage/example/ha_example.cc
-+++ b/storage/example/ha_example.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-@@ -436,9 +436,9 @@ int ha_example::delete_row(const uchar *buf)
- */
- 
- int ha_example::index_read_map(uchar *buf, const uchar *key,
--                               key_part_map keypart_map __attribute__((unused)),
-+                               key_part_map keypart_map MY_ATTRIBUTE((unused)),
-                                enum ha_rkey_function find_flag
--                               __attribute__((unused)))
-+                               MY_ATTRIBUTE((unused)))
- {
-   int rc;
-   DBUG_ENTER("ha_example::index_read");
---- a/storage/federated/ha_federated.cc
-+++ b/storage/federated/ha_federated.cc
-@@ -425,7 +425,7 @@ static handler *federated_create_handler(handlerton *hton,
- /* Function we use in the creation of our hash to get key */
- 
- static uchar *federated_get_key(FEDERATED_SHARE *share, size_t *length,
--                                my_bool not_used __attribute__ ((unused)))
-+                                my_bool not_used MY_ATTRIBUTE ((unused)))
- {
-   *length= share->share_key_length;
-   return (uchar*) share->share_key;
-@@ -2743,7 +2743,7 @@ int ha_federated::read_next(uchar *buf, MYSQL_RES *result)
-   @param[in]  record  record data (unused)
- */
- 
--void ha_federated::position(const uchar *record __attribute__ ((unused)))
-+void ha_federated::position(const uchar *record MY_ATTRIBUTE ((unused)))
- {
-   DBUG_ENTER("ha_federated::position");
-   
---- a/storage/heap/hp_hash.c
-+++ b/storage/heap/hp_hash.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -867,7 +867,7 @@ uint hp_rb_pack_key(HP_KEYDEF *keydef, uchar *key, const uchar *old,
- 
- 
- uint hp_rb_key_length(HP_KEYDEF *keydef, 
--		      const uchar *key __attribute__((unused)))
-+		      const uchar *key MY_ATTRIBUTE((unused)))
- {
-   return keydef->length;
- }
---- a/storage/heap/hp_test2.c
-+++ b/storage/heap/hp_test2.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
-    reserved
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -660,7 +660,7 @@ static int rnd(int max_value)
- } /* rnd */
- 
- 
--static sig_handler endprog(int sig_number __attribute__((unused)))
-+static sig_handler endprog(int sig_number MY_ATTRIBUTE((unused)))
- {
-   {
-     hp_panic(HA_PANIC_CLOSE);
---- a/storage/innobase/btr/btr0btr.cc
-+++ b/storage/innobase/btr/btr0btr.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -1102,7 +1102,7 @@ that the caller has made the reservation for free extents!
- @retval block, rw_lock_x_lock_count(&block->lock) == 1 if allocation succeeded
- (init_mtr == mtr, or the page was not previously freed in mtr)
- @retval block (not allocated or initialized) otherwise */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- buf_block_t*
- btr_page_alloc_low(
- /*===============*/
-@@ -1971,7 +1971,7 @@ IBUF_BITMAP_FREE is unaffected by reorganization.
- 
- @retval true if the operation was successful
- @retval false if it is a compressed page, and recompression failed */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- bool
- btr_page_reorganize_block(
- /*======================*/
-@@ -2500,7 +2500,7 @@ func_exit:
- Returns TRUE if the insert fits on the appropriate half-page with the
- chosen split_rec.
- @return	true if fits */
--static __attribute__((nonnull(1,3,4,6), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1,3,4,6), warn_unused_result))
- bool
- btr_page_insert_fits(
- /*=================*/
-@@ -2643,7 +2643,7 @@ btr_insert_on_non_leaf_level_func(
- /**************************************************************//**
- Attaches the halves of an index page on the appropriate level in an
- index tree. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- btr_attach_half_pages(
- /*==================*/
-@@ -2779,7 +2779,7 @@ btr_attach_half_pages(
- /*************************************************************//**
- Determine if a tuple is smaller than any record on the page.
- @return TRUE if smaller */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- btr_page_tuple_smaller(
- /*===================*/
-@@ -3355,7 +3355,7 @@ Removes a page from the level list of pages.
- 
- /*************************************************************//**
- Removes a page from the level list of pages. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- btr_level_list_remove_func(
- /*=======================*/
---- a/storage/innobase/btr/btr0cur.cc
-+++ b/storage/innobase/btr/btr0cur.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- Copyright (c) 2012, Facebook Inc.
- 
-@@ -1084,7 +1084,7 @@ This has to be done either within the same mini-transaction,
- or by invoking ibuf_reset_free_bits() before mtr_commit().
- 
- @return	pointer to inserted record if succeed, else NULL */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- rec_t*
- btr_cur_insert_if_possible(
- /*=======================*/
-@@ -1127,7 +1127,7 @@ btr_cur_insert_if_possible(
- /*************************************************************//**
- For an insert, checks the locks and does the undo logging if desired.
- @return	DB_SUCCESS, DB_WAIT_LOCK, DB_FAIL, or error number */
--UNIV_INLINE __attribute__((warn_unused_result, nonnull(2,3,5,6)))
-+UNIV_INLINE MY_ATTRIBUTE((warn_unused_result, nonnull(2,3,5,6)))
- dberr_t
- btr_cur_ins_lock_and_undo(
- /*======================*/
-@@ -1653,7 +1653,7 @@ btr_cur_pessimistic_insert(
- /*************************************************************//**
- For an update, checks the locks and does the undo logging.
- @return	DB_SUCCESS, DB_WAIT_LOCK, or error number */
--UNIV_INLINE __attribute__((warn_unused_result, nonnull(2,3,6,7)))
-+UNIV_INLINE MY_ATTRIBUTE((warn_unused_result, nonnull(2,3,6,7)))
- dberr_t
- btr_cur_upd_lock_and_undo(
- /*======================*/
-@@ -4992,7 +4992,7 @@ btr_free_externally_stored_field(
- 	ulint		i,		/*!< in: field number of field_ref;
- 					ignored if rec == NULL */
- 	enum trx_rb_ctx	rb_ctx,		/*!< in: rollback context */
--	mtr_t*		local_mtr __attribute__((unused))) /*!< in: mtr
-+	mtr_t*		local_mtr MY_ATTRIBUTE((unused))) /*!< in: mtr
- 					containing the latch to data an an
- 					X-latch to the index tree */
- {
---- a/storage/innobase/btr/btr0sea.cc
-+++ b/storage/innobase/btr/btr0sea.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -473,7 +473,7 @@ btr_search_update_block_hash_info(
- /*==============================*/
- 	btr_search_t*	info,	/*!< in: search info */
- 	buf_block_t*	block,	/*!< in: buffer block */
--	btr_cur_t*	cursor __attribute__((unused)))
-+	btr_cur_t*	cursor MY_ATTRIBUTE((unused)))
- 				/*!< in: cursor */
- {
- #ifdef UNIV_SYNC_DEBUG
---- a/storage/innobase/buf/buf0buddy.cc
-+++ b/storage/innobase/buf/buf0buddy.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2006, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -112,7 +112,7 @@ buf_buddy_mem_invalid(
- /**********************************************************************//**
- Check if a buddy is stamped free.
- @return	whether the buddy is free */
--UNIV_INLINE __attribute__((warn_unused_result))
-+UNIV_INLINE MY_ATTRIBUTE((warn_unused_result))
- bool
- buf_buddy_stamp_is_free(
- /*====================*/
-@@ -225,7 +225,7 @@ Checks if a buf is free i.e.: in the zip_free[].
- @retval BUF_BUDDY_STATE_FREE if fully free
- @retval BUF_BUDDY_STATE_USED if currently in use
- @retval BUF_BUDDY_STATE_PARTIALLY_USED if partially in use. */
--static  __attribute__((warn_unused_result))
-+static  MY_ATTRIBUTE((warn_unused_result))
- buf_buddy_state_t
- buf_buddy_is_free(
- /*==============*/
---- a/storage/innobase/buf/buf0buf.cc
-+++ b/storage/innobase/buf/buf0buf.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -3470,7 +3470,7 @@ buf_page_init_low(
- 
- /********************************************************************//**
- Inits a page to the buffer buf_pool. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- buf_page_init(
- /*==========*/
---- a/storage/innobase/buf/buf0dump.cc
-+++ b/storage/innobase/buf/buf0dump.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -105,7 +105,7 @@ SELECT variable_value FROM information_schema.global_status WHERE
- variable_name = 'INNODB_BUFFER_POOL_DUMP_STATUS';
- or by:
- SHOW STATUS LIKE 'innodb_buffer_pool_dump_status'; */
--static __attribute__((nonnull, format(printf, 2, 3)))
-+static MY_ATTRIBUTE((nonnull, format(printf, 2, 3)))
- void
- buf_dump_status(
- /*============*/
-@@ -141,7 +141,7 @@ SELECT variable_value FROM information_schema.global_status WHERE
- variable_name = 'INNODB_BUFFER_POOL_LOAD_STATUS';
- or by:
- SHOW STATUS LIKE 'innodb_buffer_pool_load_status'; */
--static __attribute__((nonnull, format(printf, 2, 3)))
-+static MY_ATTRIBUTE((nonnull, format(printf, 2, 3)))
- void
- buf_load_status(
- /*============*/
-@@ -594,7 +594,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(buf_dump_thread)(
- /*============================*/
--	void*	arg __attribute__((unused)))	/*!< in: a dummy parameter
-+	void*	arg MY_ATTRIBUTE((unused)))	/*!< in: a dummy parameter
- 						required by os_thread_create */
- {
- 	ut_ad(!srv_read_only_mode);
---- a/storage/innobase/buf/buf0flu.cc
-+++ b/storage/innobase/buf/buf0flu.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -2384,7 +2384,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(buf_flush_page_cleaner_thread)(
- /*==========================================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- {
---- a/storage/innobase/buf/buf0lru.cc
-+++ b/storage/innobase/buf/buf0lru.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -142,7 +142,7 @@ If a compressed page is freed other compressed pages may be relocated.
- caller needs to free the page to the free list
- @retval false if BUF_BLOCK_ZIP_PAGE was removed from page_hash. In
- this case the block is already returned to the buddy allocator. */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- buf_LRU_block_remove_hashed(
- /*========================*/
-@@ -366,7 +366,7 @@ want to hog the CPU and resources. Release the buffer pool and block
- mutex and try to force a context switch. Then reacquire the same mutexes.
- The current page is "fixed" before the release of the mutexes and then
- "unfixed" again once we have reacquired the mutexes. */
--static	__attribute__((nonnull))
-+static	MY_ATTRIBUTE((nonnull))
- void
- buf_flush_yield(
- /*============*/
-@@ -407,7 +407,7 @@ If we have hogged the resources for too long then release the buffer
- pool and flush list mutex and do a thread yield. Set the current page
- to "sticky" so that it is not relocated during the yield.
- @return true if yielded */
--static	__attribute__((nonnull(1), warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull(1), warn_unused_result))
- bool
- buf_flush_try_yield(
- /*================*/
-@@ -450,7 +450,7 @@ buf_flush_try_yield(
- Removes a single page from a given tablespace inside a specific
- buffer pool instance.
- @return true if page was removed. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- buf_flush_or_remove_page(
- /*=====================*/
-@@ -531,7 +531,7 @@ the list as they age towards the tail of the LRU.
- @retval DB_SUCCESS if all freed
- @retval DB_FAIL if not all freed
- @retval DB_INTERRUPTED if the transaction was interrupted */
--static	__attribute__((nonnull(1), warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull(1), warn_unused_result))
- dberr_t
- buf_flush_or_remove_pages(
- /*======================*/
-@@ -637,7 +637,7 @@ Remove or flush all the dirty pages that belong to a given tablespace
- inside a specific buffer pool instance. The pages will remain in the LRU
- list and will be evicted from the LRU list as they age and move towards
- the tail of the LRU list. */
--static __attribute__((nonnull(1)))
-+static MY_ATTRIBUTE((nonnull(1)))
- void
- buf_flush_dirty_pages(
- /*==================*/
-@@ -677,7 +677,7 @@ buf_flush_dirty_pages(
- /******************************************************************//**
- Remove all pages that belong to a given tablespace inside a specific
- buffer pool instance when we are DISCARDing the tablespace. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- buf_LRU_remove_all_pages(
- /*=====================*/
-@@ -825,7 +825,7 @@ buffer pool instance when we are deleting the data file(s) of that
- tablespace. The pages still remain a part of LRU and are evicted from
- the list as they age towards the tail of the LRU only if buf_remove
- is BUF_REMOVE_FLUSH_NO_WRITE. */
--static	__attribute__((nonnull(1)))
-+static	MY_ATTRIBUTE((nonnull(1)))
- void
- buf_LRU_remove_pages(
- /*=================*/
---- a/storage/innobase/data/data0data.cc
-+++ b/storage/innobase/data/data0data.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -715,7 +715,7 @@ UNIV_INTERN
- void
- dtuple_convert_back_big_rec(
- /*========================*/
--	dict_index_t*	index __attribute__((unused)),	/*!< in: index */
-+	dict_index_t*	index MY_ATTRIBUTE((unused)),	/*!< in: index */
- 	dtuple_t*	entry,	/*!< in: entry whose data was put to vector */
- 	big_rec_t*	vector)	/*!< in, own: big rec vector; it is
- 				freed in this function */
---- a/storage/innobase/dict/dict0crea.cc
-+++ b/storage/innobase/dict/dict0crea.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -246,7 +246,7 @@ dict_create_sys_columns_tuple(
- /***************************************************************//**
- Builds a table definition to insert.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- dict_build_table_def_step(
- /*======================*/
-@@ -573,7 +573,7 @@ dict_create_search_tuple(
- /***************************************************************//**
- Builds an index definition row to insert.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- dict_build_index_def_step(
- /*======================*/
-@@ -648,7 +648,7 @@ dict_build_field_def_step(
- /***************************************************************//**
- Creates an index tree for the index if it is not a member of a cluster.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- dict_create_index_tree_step(
- /*========================*/
-@@ -1464,7 +1464,7 @@ dict_create_or_check_foreign_constraint_tables(void)
- /****************************************************************//**
- Evaluate the given foreign key SQL statement.
- @return	error code or DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- dict_foreign_eval_sql(
- /*==================*/
-@@ -1530,7 +1530,7 @@ dict_foreign_eval_sql(
- Add a single foreign key field definition to the data dictionary tables in
- the database.
- @return	error code or DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- dict_create_add_foreign_field_to_dictionary(
- /*========================================*/
---- a/storage/innobase/dict/dict0load.cc
-+++ b/storage/innobase/dict/dict0load.cc
-@@ -1783,7 +1783,7 @@ Loads definitions for table indexes. Adds them to the data dictionary
- cache.
- @return DB_SUCCESS if ok, DB_CORRUPTION if corruption of dictionary
- table or DB_UNSUPPORTED if table has unknown index type */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- dict_load_indexes(
- /*==============*/
-@@ -2789,7 +2789,7 @@ dict_load_foreign_cols(
- /***********************************************************************//**
- Loads a foreign key constraint to the dictionary cache.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull(1), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1), warn_unused_result))
- dberr_t
- dict_load_foreign(
- /*==============*/
---- a/storage/innobase/dict/dict0mem.cc
-+++ b/storage/innobase/dict/dict0mem.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -264,7 +264,7 @@ dict_mem_table_add_col(
- 
- /**********************************************************************//**
- Renames a column of a table in the data dictionary cache. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- dict_mem_table_col_rename_low(
- /*==========================*/
---- a/storage/innobase/dict/dict0stats_bg.cc
-+++ b/storage/innobase/dict/dict0stats_bg.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2012, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -331,7 +331,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(dict_stats_thread)(
- /*==============================*/
--	void*	arg __attribute__((unused)))	/*!< in: a dummy parameter
-+	void*	arg MY_ATTRIBUTE((unused)))	/*!< in: a dummy parameter
- 						required by os_thread_create */
- {
- 	ut_a(!srv_read_only_mode);
---- a/storage/innobase/fil/fil0fil.cc
-+++ b/storage/innobase/fil/fil0fil.cc
-@@ -1875,7 +1875,7 @@ fil_set_max_space_id_if_bigger(
- Writes the flushed lsn and the latest archived log number to the page header
- of the first page of a data file of the system tablespace (space 0),
- which is uncompressed. */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- dberr_t
- fil_write_lsn_and_arch_no_to_file(
- /*==============================*/
-@@ -1883,7 +1883,7 @@ fil_write_lsn_and_arch_no_to_file(
- 	ulint	sum_of_sizes,	/*!< in: combined size of previous files
- 				in space, in database pages */
- 	lsn_t	lsn,		/*!< in: lsn to write */
--	ulint	arch_log_no __attribute__((unused)))
-+	ulint	arch_log_no MY_ATTRIBUTE((unused)))
- 				/*!< in: archived log number to write */
- {
- 	byte*	buf1;
-@@ -1970,7 +1970,7 @@ Checks the consistency of the first data page of a tablespace
- at database startup.
- @retval NULL on success, or if innodb_force_recovery is set
- @return pointer to an error message string */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- const char*
- fil_check_first_page(
- /*=================*/
---- a/storage/innobase/fsp/fsp0fsp.cc
-+++ b/storage/innobase/fsp/fsp0fsp.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -93,7 +93,7 @@ fseg_n_reserved_pages_low(
- /********************************************************************//**
- Marks a page used. The page must reside within the extents of the given
- segment. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- fseg_mark_page_used(
- /*================*/
-@@ -132,7 +132,7 @@ fsp_fill_free_list(
- 	ulint		space,		/*!< in: space */
- 	fsp_header_t*	header,		/*!< in/out: space header */
- 	mtr_t*		mtr)		/*!< in/out: mini-transaction */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Allocates a single free page from a segment. This function implements
- the intelligent allocation strategy which tries to minimize file space
-@@ -161,7 +161,7 @@ fseg_alloc_free_page_low(
- 				in which the page should be initialized.
- 				If init_mtr!=mtr, but the page is already
- 				latched in mtr, do not initialize the page. */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- #endif /* !UNIV_HOTBACKUP */
- 
- /**********************************************************************//**
-@@ -425,7 +425,7 @@ descriptor resides is x-locked. This function no longer extends the data
- file.
- @return pointer to the extent descriptor, NULL if the page does not
- exist in the space or if the offset is >= the free limit */
--UNIV_INLINE __attribute__((nonnull, warn_unused_result))
-+UNIV_INLINE MY_ATTRIBUTE((nonnull, warn_unused_result))
- xdes_t*
- xdes_get_descriptor_with_space_hdr(
- /*===============================*/
-@@ -487,7 +487,7 @@ is necessary to make the descriptor defined, as they are uninitialized
- above the free limit.
- @return pointer to the extent descriptor, NULL if the page does not
- exist in the space or if the offset exceeds the free limit */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- xdes_t*
- xdes_get_descriptor(
- /*================*/
-@@ -614,7 +614,7 @@ byte*
- fsp_parse_init_file_page(
- /*=====================*/
- 	byte*		ptr,	/*!< in: buffer */
--	byte*		end_ptr __attribute__((unused)), /*!< in: buffer end */
-+	byte*		end_ptr MY_ATTRIBUTE((unused)), /*!< in: buffer end */
- 	buf_block_t*	block)	/*!< in: block or NULL */
- {
- 	ut_ad(ptr && end_ptr);
-@@ -850,7 +850,7 @@ fsp_header_get_tablespace_size(void)
- Tries to extend a single-table tablespace so that a page would fit in the
- data file.
- @return	TRUE if success */
--static UNIV_COLD __attribute__((nonnull, warn_unused_result))
-+static UNIV_COLD MY_ATTRIBUTE((nonnull, warn_unused_result))
- ibool
- fsp_try_extend_data_file_with_pages(
- /*================================*/
-@@ -882,7 +882,7 @@ fsp_try_extend_data_file_with_pages(
- /***********************************************************************//**
- Tries to extend the last data file of a tablespace if it is auto-extending.
- @return	FALSE if not auto-extending */
--static UNIV_COLD __attribute__((nonnull))
-+static UNIV_COLD MY_ATTRIBUTE((nonnull))
- ibool
- fsp_try_extend_data_file(
- /*=====================*/
-@@ -1236,7 +1236,7 @@ fsp_alloc_free_extent(
- 
- /**********************************************************************//**
- Allocates a single free page from a space. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- fsp_alloc_from_free_frag(
- /*=====================*/
-@@ -1327,7 +1327,7 @@ Allocates a single free page from a space. The page is marked as used.
- @retval block, rw_lock_x_lock_count(&block->lock) == 1 if allocation succeeded
- (init_mtr == mtr, or the page was not previously freed in mtr)
- @retval block (not allocated or initialized) otherwise */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- buf_block_t*
- fsp_alloc_free_page(
- /*================*/
-@@ -1576,9 +1576,9 @@ fsp_seg_inode_page_get_nth_inode(
- /*=============================*/
- 	page_t*	page,	/*!< in: segment inode page */
- 	ulint	i,	/*!< in: inode index on page */
--	ulint	zip_size __attribute__((unused)),
-+	ulint	zip_size MY_ATTRIBUTE((unused)),
- 			/*!< in: compressed page size, or 0 */
--	mtr_t*	mtr __attribute__((unused)))
-+	mtr_t*	mtr MY_ATTRIBUTE((unused)))
- 			/*!< in/out: mini-transaction */
- {
- 	ut_ad(i < FSP_SEG_INODES_PER_PAGE(zip_size));
-@@ -1877,7 +1877,7 @@ fseg_get_nth_frag_page_no(
- /*======================*/
- 	fseg_inode_t*	inode,	/*!< in: segment inode */
- 	ulint		n,	/*!< in: slot index */
--	mtr_t*		mtr __attribute__((unused)))
-+	mtr_t*		mtr MY_ATTRIBUTE((unused)))
- 				/*!< in/out: mini-transaction */
- {
- 	ut_ad(inode && mtr);
-@@ -2958,7 +2958,7 @@ fsp_get_available_space_in_free_extents(
- /********************************************************************//**
- Marks a page used. The page must reside within the extents of the given
- segment. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- fseg_mark_page_used(
- /*================*/
---- a/storage/innobase/fts/fts0blex.cc
-+++ b/storage/innobase/fts/fts0blex.cc
-@@ -305,9 +305,9 @@ YY_BUFFER_STATE fts0b_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner
- YY_BUFFER_STATE fts0b_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
- YY_BUFFER_STATE fts0b_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
- 
--void *fts0balloc (yy_size_t ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
--void *fts0brealloc (void *,yy_size_t ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
--void fts0bfree (void * ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
-+void *fts0balloc (yy_size_t ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
-+void *fts0brealloc (void *,yy_size_t ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
-+void fts0bfree (void * ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
- 
- #define yy_new_buffer fts0b_create_buffer
- 
-@@ -347,7 +347,7 @@ typedef int yy_state_type;
- static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
- static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
- static int yy_get_next_buffer (yyscan_t yyscanner );
--static void yy_fatal_error (yyconst char msg[] ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
-+static void yy_fatal_error (yyconst char msg[] ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
- 
- /* Done after the current pattern has been matched and before the
-  * corresponding action - sets up yytext.
-@@ -451,7 +451,7 @@ static yyconst flex_int16_t yy_chk[32] =
- #line 1 "fts0blex.l"
- /*****************************************************************************
- 
--Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -579,11 +579,11 @@ extern int fts0bwrap (yyscan_t yyscanner );
- #endif
- 
- #ifndef yytext_ptr
--static void yy_flex_strncpy (char *,yyconst char *,int ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)));
-+static void yy_flex_strncpy (char *,yyconst char *,int ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)));
- #endif
- 
- #ifdef YY_NEED_STRLEN
--static int yy_flex_strlen (yyconst char * ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)));
-+static int yy_flex_strlen (yyconst char * ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)));
- #endif
- 
- #ifndef YY_NO_INPUT
-@@ -1609,7 +1609,7 @@ YY_BUFFER_STATE fts0b_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , y
- #define YY_EXIT_FAILURE 2
- #endif
- 
--static void yy_fatal_error (yyconst char* msg ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+static void yy_fatal_error (yyconst char* msg ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	(void) fprintf( stderr, "%s\n", msg );
- 	exit( YY_EXIT_FAILURE );
-@@ -1910,7 +1910,7 @@ int fts0blex_destroy  (yyscan_t yyscanner)
-  */
- 
- #ifndef yytext_ptr
--static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	register int i;
- 	for ( i = 0; i < n; ++i )
-@@ -1919,7 +1919,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ,            yys
- #endif
- 
- #ifdef YY_NEED_STRLEN
--static int yy_flex_strlen (yyconst char * s ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+static int yy_flex_strlen (yyconst char * s ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	register int n;
- 	for ( n = 0; s[n]; ++n )
-@@ -1929,12 +1929,12 @@ static int yy_flex_strlen (yyconst char * s ,            yyscan_t yyscanner __at
- }
- #endif
- 
--void *fts0balloc (yy_size_t  size ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+void *fts0balloc (yy_size_t  size ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	return (void *) malloc( size );
- }
- 
--void *fts0brealloc  (void * ptr, yy_size_t  size ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+void *fts0brealloc  (void * ptr, yy_size_t  size ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	/* The cast to (char *) in the following accommodates both
- 	 * implementations that use char* generic pointers, and those
-@@ -1946,7 +1946,7 @@ void *fts0brealloc  (void * ptr, yy_size_t  size ,            yyscan_t yyscanner
- 	return (void *) realloc( (char *) ptr, size );
- }
- 
--void fts0bfree (void * ptr ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+void fts0bfree (void * ptr ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	free( (char *) ptr );	/* see fts0brealloc() for (char *) cast */
- }
---- a/storage/innobase/fts/fts0fts.cc
-+++ b/storage/innobase/fts/fts0fts.cc
-@@ -280,7 +280,7 @@ void
- fts_words_free(
- /*===========*/
- 	ib_rbt_t*	words)		/*!< in: rb tree of words */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef FTS_CACHE_SIZE_DEBUG
- /****************************************************************//**
- Read the max cache size parameter from the config table. */
-@@ -302,7 +302,7 @@ fts_add_doc_by_id(
- /*==============*/
- 	fts_trx_table_t*ftt,		/*!< in: FTS trx table */
- 	doc_id_t	doc_id,		/*!< in: doc id */
--	ib_vector_t*	fts_indexes __attribute__((unused)));
-+	ib_vector_t*	fts_indexes MY_ATTRIBUTE((unused)));
- 					/*!< in: affected fts indexes */
- #ifdef FTS_DOC_STATS_DEBUG
- /****************************************************************//**
-@@ -317,7 +317,7 @@ fts_is_word_in_index(
- 	fts_table_t*	fts_table,	/*!< in: table instance */
- 	const fts_string_t* word,	/*!< in: the word to check */
- 	ibool*		found)		/*!< out: TRUE if exists */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* FTS_DOC_STATS_DEBUG */
- 
- /******************************************************************//**
-@@ -332,7 +332,7 @@ fts_update_sync_doc_id(
- 	const char*		table_name,	/*!< in: table name, or NULL */
- 	doc_id_t		doc_id,		/*!< in: last document id */
- 	trx_t*			trx)		/*!< in: update trx, or NULL */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- 
- /****************************************************************//**
- This function loads the default InnoDB stopword list */
-@@ -1477,7 +1477,7 @@ fts_cache_add_doc(
- /****************************************************************//**
- Drops a table. If the table can't be found we return a SUCCESS code.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_drop_table(
- /*===========*/
-@@ -1519,7 +1519,7 @@ fts_drop_table(
- /****************************************************************//**
- Rename a single auxiliary table due to database name change.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_rename_one_aux_table(
- /*=====================*/
-@@ -1628,7 +1628,7 @@ Drops the common ancillary tables needed for supporting an FTS index
- on the given table. row_mysql_lock_data_dictionary must have been called
- before this.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_drop_common_tables(
- /*===================*/
-@@ -1755,7 +1755,7 @@ Drops FTS ancillary tables needed for supporting an FTS index
- on the given table. row_mysql_lock_data_dictionary must have been called
- before this.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_drop_all_index_tables(
- /*======================*/
-@@ -2663,7 +2663,7 @@ fts_get_next_doc_id(
- This function fetch the Doc ID from CONFIG table, and compare with
- the Doc ID supplied. And store the larger one to the CONFIG table.
- @return DB_SUCCESS if OK */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- fts_cmp_set_sync_doc_id(
- /*====================*/
-@@ -2917,7 +2917,7 @@ fts_add(
- /*********************************************************************//**
- Do commit-phase steps necessary for the deletion of a row.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_delete(
- /*=======*/
-@@ -3008,7 +3008,7 @@ fts_delete(
- /*********************************************************************//**
- Do commit-phase steps necessary for the modification of a row.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_modify(
- /*=======*/
-@@ -3079,7 +3079,7 @@ fts_create_doc_id(
- The given transaction is about to be committed; do whatever is necessary
- from the FTS system's POV.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_commit_table(
- /*=============*/
-@@ -3412,7 +3412,7 @@ fts_add_doc_by_id(
- /*==============*/
- 	fts_trx_table_t*ftt,		/*!< in: FTS trx table */
- 	doc_id_t	doc_id,		/*!< in: doc id */
--	ib_vector_t*	fts_indexes __attribute__((unused)))
-+	ib_vector_t*	fts_indexes MY_ATTRIBUTE((unused)))
- 					/*!< in: affected fts indexes */
- {
- 	mtr_t		mtr;
-@@ -3532,7 +3532,7 @@ fts_add_doc_by_id(
- 				get_doc, clust_index, doc_pcur, offsets, &doc);
- 
- 			if (doc.found) {
--				ibool	success __attribute__((unused));
-+				ibool	success MY_ATTRIBUTE((unused));
- 
- 				btr_pcur_store_position(doc_pcur, &mtr);
- 				mtr_commit(&mtr);
-@@ -3641,7 +3641,7 @@ fts_get_max_doc_id(
- 	dict_table_t*	table)		/*!< in: user table */
- {
- 	dict_index_t*	index;
--	dict_field_t*	dfield __attribute__((unused)) = NULL;
-+	dict_field_t*	dfield MY_ATTRIBUTE((unused)) = NULL;
- 	doc_id_t	doc_id = 0;
- 	mtr_t		mtr;
- 	btr_pcur_t	pcur;
-@@ -3899,7 +3899,7 @@ fts_write_node(
- /*********************************************************************//**
- Add rows to the DELETED_CACHE table.
- @return DB_SUCCESS if all went well else error code*/
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_sync_add_deleted_cache(
- /*=======================*/
-@@ -3953,7 +3953,7 @@ fts_sync_add_deleted_cache(
- @param[in]	index_cache	index cache
- @param[in]	unlock_cache	whether unlock cache when write node
- @return DB_SUCCESS if all went well else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_sync_write_words(
- 	trx_t*			trx,
-@@ -4089,7 +4089,7 @@ fts_sync_write_words(
- /*********************************************************************//**
- Write a single documents statistics to disk.
- @return DB_SUCCESS if all went well else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_sync_write_doc_stat(
- /*====================*/
-@@ -4343,7 +4343,7 @@ fts_sync_begin(
- Run SYNC on the table, i.e., write out data from the index specific
- cache to the FTS aux INDEX table and FTS aux doc id stats table.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_sync_index(
- /*===========*/
-@@ -4411,7 +4411,7 @@ fts_sync_index_check(
- /*********************************************************************//**
- Commit the SYNC, change state of processed doc ids etc.
- @return DB_SUCCESS if all OK */
--static  __attribute__((nonnull, warn_unused_result))
-+static  MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_sync_commit(
- /*============*/
-@@ -6169,7 +6169,7 @@ fts_update_hex_format_flag(
- /*********************************************************************//**
- Rename an aux table to HEX format. It's called when "%016llu" is used
- to format an object id in table name, which only happens in Windows. */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_rename_one_aux_table_to_hex_format(
- /*===================================*/
-@@ -6260,7 +6260,7 @@ Note the ids in tables are correct but the names are old ambiguous ones.
- 
- This function should make sure that either all the parent table and aux tables
- are set DICT_TF2_FTS_AUX_HEX_NAME with flags2 or none of them are set */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_rename_aux_tables_to_hex_format_low(
- /*====================================*/
-@@ -6414,7 +6414,7 @@ fts_fake_hex_to_dec(
- {
- 	ib_id_t		dec_id = 0;
- 	char		tmp_id[FTS_AUX_MIN_TABLE_ID_LENGTH];
--	int		ret __attribute__((unused));
-+	int		ret MY_ATTRIBUTE((unused));
- 
- 	ret = sprintf(tmp_id, UINT64PFx, id);
- 	ut_ad(ret == 16);
-@@ -6736,7 +6736,7 @@ fts_drop_aux_table_from_vector(
- Check and drop all orphaned FTS auxiliary tables, those that don't have
- a parent table or FTS index defined on them.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- fts_check_and_drop_orphaned_tables(
- /*===============================*/
---- a/storage/innobase/fts/fts0opt.cc
-+++ b/storage/innobase/fts/fts0opt.cc
-@@ -797,7 +797,7 @@ fts_zip_deflate_end(
- Read the words from the FTS INDEX.
- @return DB_SUCCESS if all OK, DB_TABLE_NOT_FOUND if no more indexes
-         to search else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_index_fetch_words(
- /*==================*/
-@@ -1131,7 +1131,7 @@ fts_optimize_lookup(
- /**********************************************************************//**
- Encode the word pos list into the node
- @return DB_SUCCESS or error code*/
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- fts_optimize_encode_node(
- /*=====================*/
-@@ -1220,7 +1220,7 @@ fts_optimize_encode_node(
- /**********************************************************************//**
- Optimize the data contained in a node.
- @return DB_SUCCESS or error code*/
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- fts_optimize_node(
- /*==============*/
-@@ -1318,7 +1318,7 @@ test_again:
- /**********************************************************************//**
- Determine the starting pos within the deleted doc id vector for a word.
- @return delete position */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- int
- fts_optimize_deleted_pos(
- /*=====================*/
-@@ -1447,7 +1447,7 @@ fts_optimize_word(
- /**********************************************************************//**
- Update the FTS index table. This is a delete followed by an insert.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_write_word(
- /*====================*/
-@@ -1550,7 +1550,7 @@ fts_word_free(
- /**********************************************************************//**
- Optimize the word ilist and rewrite data to the FTS index.
- @return status one of RESTART, EXIT, ERROR */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_compact(
- /*=================*/
-@@ -1645,7 +1645,7 @@ fts_optimize_create(
- /**********************************************************************//**
- Get optimize start time of an FTS index.
- @return DB_SUCCESS if all OK else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_get_index_start_time(
- /*==============================*/
-@@ -1661,7 +1661,7 @@ fts_optimize_get_index_start_time(
- /**********************************************************************//**
- Set the optimize start time of an FTS index.
- @return DB_SUCCESS if all OK else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_set_index_start_time(
- /*==============================*/
-@@ -1677,7 +1677,7 @@ fts_optimize_set_index_start_time(
- /**********************************************************************//**
- Get optimize end time of an FTS index.
- @return DB_SUCCESS if all OK else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_get_index_end_time(
- /*============================*/
-@@ -1692,7 +1692,7 @@ fts_optimize_get_index_end_time(
- /**********************************************************************//**
- Set the optimize end time of an FTS index.
- @return DB_SUCCESS if all OK else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_set_index_end_time(
- /*============================*/
-@@ -1912,7 +1912,7 @@ fts_optimize_set_next_word(
- Optimize is complete. Set the completion time, and reset the optimize
- start string for this FTS index to "".
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_index_completed(
- /*=========================*/
-@@ -1952,7 +1952,7 @@ fts_optimize_index_completed(
- Read the list of words from the FTS auxiliary index that will be
- optimized in this pass.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_index_read_words(
- /*==========================*/
-@@ -2009,7 +2009,7 @@ fts_optimize_index_read_words(
- Run OPTIMIZE on the given FTS index. Note: this can take a very long
- time (hours).
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_index(
- /*===============*/
-@@ -2080,7 +2080,7 @@ fts_optimize_index(
- /**********************************************************************//**
- Delete the document ids in the delete, and delete cache tables.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_purge_deleted_doc_ids(
- /*===============================*/
-@@ -2149,7 +2149,7 @@ fts_optimize_purge_deleted_doc_ids(
- /**********************************************************************//**
- Delete the document ids in the pending delete, and delete tables.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_purge_deleted_doc_id_snapshot(
- /*=======================================*/
-@@ -2199,7 +2199,7 @@ Copy the deleted doc ids that will be purged during this optimize run
- to the being deleted FTS auxiliary tables. The transaction is committed
- upon successfull copy and rolled back on DB_DUPLICATE_KEY error.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_create_deleted_doc_id_snapshot(
- /*========================================*/
-@@ -2237,7 +2237,7 @@ fts_optimize_create_deleted_doc_id_snapshot(
- Read in the document ids that are to be purged during optimize. The
- transaction is committed upon successfully read.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_read_deleted_doc_id_snapshot(
- /*======================================*/
-@@ -2274,7 +2274,7 @@ Optimze all the FTS indexes, skipping those that have already been
- optimized, since the FTS auxiliary indexes are not guaranteed to be
- of the same cardinality.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_indexes(
- /*=================*/
-@@ -2344,7 +2344,7 @@ fts_optimize_indexes(
- /*********************************************************************//**
- Cleanup the snapshot tables and the master deleted table.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_purge_snapshot(
- /*========================*/
-@@ -2373,7 +2373,7 @@ fts_optimize_purge_snapshot(
- /*********************************************************************//**
- Reset the start time to 0 so that a new optimize can be started.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_optimize_reset_start_time(
- /*==========================*/
-@@ -2412,7 +2412,7 @@ fts_optimize_reset_start_time(
- /*********************************************************************//**
- Run OPTIMIZE on the given table by a background thread.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- fts_optimize_table_bk(
- /*==================*/
---- a/storage/innobase/fts/fts0que.cc
-+++ b/storage/innobase/fts/fts0que.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -287,7 +287,7 @@ fts_expand_query(
- 	dict_index_t*	index,		/*!< in: FTS index to search */
- 	fts_query_t*	query)		/*!< in: query result, to be freed
- 					by the client */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- This function finds documents that contain all words in a
- phrase or proximity search. And if proximity search, verify
-@@ -1128,7 +1128,7 @@ cont_search:
- /*****************************************************************//**
- Set difference.
- @return DB_SUCCESS if all go well */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_difference(
- /*=================*/
-@@ -1220,7 +1220,7 @@ fts_query_difference(
- /*****************************************************************//**
- Intersect the token doc ids with the current set.
- @return DB_SUCCESS if all go well */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_intersect(
- /*================*/
-@@ -1398,7 +1398,7 @@ fts_query_cache(
- /*****************************************************************//**
- Set union.
- @return DB_SUCCESS if all go well */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_union(
- /*============*/
-@@ -2014,7 +2014,7 @@ fts_query_select(
- Read the rows from the FTS index, that match word and where the
- doc id is between first and last doc id.
- @return DB_SUCCESS if all go well else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_find_term(
- /*================*/
-@@ -2154,7 +2154,7 @@ fts_query_sum(
- /********************************************************************
- Calculate the total documents that contain a particular word (term).
- @return DB_SUCCESS if all go well else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_total_docs_containing_term(
- /*=================================*/
-@@ -2233,7 +2233,7 @@ fts_query_total_docs_containing_term(
- /********************************************************************
- Get the total number of words in a documents.
- @return DB_SUCCESS if all go well else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_terms_in_document(
- /*========================*/
-@@ -2314,7 +2314,7 @@ fts_query_terms_in_document(
- /*****************************************************************//**
- Retrieve the document and match the phrase tokens.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_match_document(
- /*=====================*/
-@@ -2360,7 +2360,7 @@ fts_query_match_document(
- This function fetches the original documents and count the
- words in between matching words to see that is in specified distance
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- fts_query_is_in_proximity_range(
- /*============================*/
-@@ -2415,7 +2415,7 @@ fts_query_is_in_proximity_range(
- Iterate over the matched document ids and search the for the
- actual phrase in the text.
- @return DB_SUCCESS if all OK */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_search_phrase(
- /*====================*/
-@@ -2503,7 +2503,7 @@ func_exit:
- /*****************************************************************//**
- Text/Phrase search.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_phrase_search(
- /*====================*/
-@@ -2754,7 +2754,7 @@ func_exit:
- /*****************************************************************//**
- Find the word and evaluate.
- @return DB_SUCCESS if all go well */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_query_execute(
- /*==============*/
-@@ -4123,7 +4123,7 @@ words in documents found in the first search pass will be used as
- search arguments to search the document again, thus "expand"
- the search result set.
- @return DB_SUCCESS if success, otherwise the error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- fts_expand_query(
- /*=============*/
---- a/storage/innobase/fts/fts0tlex.cc
-+++ b/storage/innobase/fts/fts0tlex.cc
-@@ -305,9 +305,9 @@ YY_BUFFER_STATE fts0t_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner
- YY_BUFFER_STATE fts0t_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
- YY_BUFFER_STATE fts0t_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
- 
--void *fts0talloc (yy_size_t ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
--void *fts0trealloc (void *,yy_size_t ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
--void fts0tfree (void * ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
-+void *fts0talloc (yy_size_t ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
-+void *fts0trealloc (void *,yy_size_t ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
-+void fts0tfree (void * ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
- 
- #define yy_new_buffer fts0t_create_buffer
- 
-@@ -347,7 +347,7 @@ typedef int yy_state_type;
- static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
- static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
- static int yy_get_next_buffer (yyscan_t yyscanner );
--static void yy_fatal_error (yyconst char msg[] ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) );
-+static void yy_fatal_error (yyconst char msg[] ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) );
- 
- /* Done after the current pattern has been matched and before the
-  * corresponding action - sets up yytext.
-@@ -447,7 +447,7 @@ static yyconst flex_int16_t yy_chk[29] =
- #line 1 "fts0tlex.l"
- /*****************************************************************************
- 
--Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -575,11 +575,11 @@ extern int fts0twrap (yyscan_t yyscanner );
- #endif
- 
- #ifndef yytext_ptr
--static void yy_flex_strncpy (char *,yyconst char *,int ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)));
-+static void yy_flex_strncpy (char *,yyconst char *,int ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)));
- #endif
- 
- #ifdef YY_NEED_STRLEN
--static int yy_flex_strlen (yyconst char * ,           yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)));
-+static int yy_flex_strlen (yyconst char * ,           yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)));
- #endif
- 
- #ifndef YY_NO_INPUT
-@@ -1602,7 +1602,7 @@ YY_BUFFER_STATE fts0t_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , y
- #define YY_EXIT_FAILURE 2
- #endif
- 
--static void yy_fatal_error (yyconst char* msg ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+static void yy_fatal_error (yyconst char* msg ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
-     	(void) fprintf( stderr, "%s\n", msg );
- 	exit( YY_EXIT_FAILURE );
-@@ -1903,7 +1903,7 @@ int fts0tlex_destroy  (yyscan_t yyscanner)
-  */
- 
- #ifndef yytext_ptr
--static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	register int i;
- 	for ( i = 0; i < n; ++i )
-@@ -1912,7 +1912,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ,            yys
- #endif
- 
- #ifdef YY_NEED_STRLEN
--static int yy_flex_strlen (yyconst char * s ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+static int yy_flex_strlen (yyconst char * s ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	register int n;
- 	for ( n = 0; s[n]; ++n )
-@@ -1922,12 +1922,12 @@ static int yy_flex_strlen (yyconst char * s ,            yyscan_t yyscanner __at
- }
- #endif
- 
--void *fts0talloc (yy_size_t  size ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+void *fts0talloc (yy_size_t  size ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	return (void *) malloc( size );
- }
- 
--void *fts0trealloc  (void * ptr, yy_size_t  size ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+void *fts0trealloc  (void * ptr, yy_size_t  size ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	/* The cast to (char *) in the following accommodates both
- 	 * implementations that use char* generic pointers, and those
-@@ -1939,7 +1939,7 @@ void *fts0trealloc  (void * ptr, yy_size_t  size ,            yyscan_t yyscanner
- 	return (void *) realloc( (char *) ptr, size );
- }
- 
--void fts0tfree (void * ptr ,            yyscan_t yyscanner __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)) __attribute__((unused)))
-+void fts0tfree (void * ptr ,            yyscan_t yyscanner MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)) MY_ATTRIBUTE((unused)))
- {
- 	free( (char *) ptr );	/* see fts0trealloc() for (char *) cast */
- }
---- a/storage/innobase/fts/make_parser.sh
-+++ b/storage/innobase/fts/make_parser.sh
-@@ -1,6 +1,6 @@
- #!/bin/sh
- #
--# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+# Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
- #
- # This program is free software; you can redistribute it and/or modify it under
- # the terms of the GNU General Public License as published by the Free Software
-@@ -22,15 +22,15 @@ make -f Makefile.query
- echo '#include "univ.i"' > $TMPF
- 
- # This is to avoid compiler warning about unused parameters.
--# FIXME: gcc extension "__attribute__" causing compilation errors on windows
-+# FIXME: gcc extension "MY_ATTRIBUTE" causing compilation errors on windows
- # platform. Quote them out for now.
- sed -e '
--s/^\(static.*void.*yy_fatal_error.*msg.*,\)\(.*yyscanner\)/\1 \2 __attribute__((unused))/;
--s/^\(static.*void.*yy_flex_strncpy.*n.*,\)\(.*yyscanner\)/\1 \2 __attribute__((unused))/;
--s/^\(static.*int.*yy_flex_strlen.*s.*,\)\(.*yyscanner\)/\1 \2 __attribute__((unused))/;
--s/^\(\(static\|void\).*fts0[bt]alloc.*,\)\(.*yyscanner\)/\1 \3 __attribute__((unused))/;
--s/^\(\(static\|void\).*fts0[bt]realloc.*,\)\(.*yyscanner\)/\1 \3 __attribute__((unused))/;
--s/^\(\(static\|void\).*fts0[bt]free.*,\)\(.*yyscanner\)/\1 \3 __attribute__((unused))/;
-+s/^\(static.*void.*yy_fatal_error.*msg.*,\)\(.*yyscanner\)/\1 \2 MY_ATTRIBUTE((unused))/;
-+s/^\(static.*void.*yy_flex_strncpy.*n.*,\)\(.*yyscanner\)/\1 \2 MY_ATTRIBUTE((unused))/;
-+s/^\(static.*int.*yy_flex_strlen.*s.*,\)\(.*yyscanner\)/\1 \2 MY_ATTRIBUTE((unused))/;
-+s/^\(\(static\|void\).*fts0[bt]alloc.*,\)\(.*yyscanner\)/\1 \3 MY_ATTRIBUTE((unused))/;
-+s/^\(\(static\|void\).*fts0[bt]realloc.*,\)\(.*yyscanner\)/\1 \3 MY_ATTRIBUTE((unused))/;
-+s/^\(\(static\|void\).*fts0[bt]free.*,\)\(.*yyscanner\)/\1 \3 MY_ATTRIBUTE((unused))/;
- ' < fts0blex.cc >> $TMPF
- 
- mv $TMPF fts0blex.cc
-@@ -38,12 +38,12 @@ mv $TMPF fts0blex.cc
- echo '#include "univ.i"' > $TMPF
- 
- sed -e '
--s/^\(static.*void.*yy_fatal_error.*msg.*,\)\(.*yyscanner\)/\1 \2 __attribute__((unused))/;
--s/^\(static.*void.*yy_flex_strncpy.*n.*,\)\(.*yyscanner\)/\1 \2 __attribute__((unused))/;
--s/^\(static.*int.*yy_flex_strlen.*s.*,\)\(.*yyscanner\)/\1 \2 __attribute__((unused))/;
--s/^\(\(static\|void\).*fts0[bt]alloc.*,\)\(.*yyscanner\)/\1 \3 __attribute__((unused))/;
--s/^\(\(static\|void\).*fts0[bt]realloc.*,\)\(.*yyscanner\)/\1 \3 __attribute__((unused))/;
--s/^\(\(static\|void\).*fts0[bt]free.*,\)\(.*yyscanner\)/\1 \3 __attribute__((unused))/;
-+s/^\(static.*void.*yy_fatal_error.*msg.*,\)\(.*yyscanner\)/\1 \2 MY_ATTRIBUTE((unused))/;
-+s/^\(static.*void.*yy_flex_strncpy.*n.*,\)\(.*yyscanner\)/\1 \2 MY_ATTRIBUTE((unused))/;
-+s/^\(static.*int.*yy_flex_strlen.*s.*,\)\(.*yyscanner\)/\1 \2 MY_ATTRIBUTE((unused))/;
-+s/^\(\(static\|void\).*fts0[bt]alloc.*,\)\(.*yyscanner\)/\1 \3 MY_ATTRIBUTE((unused))/;
-+s/^\(\(static\|void\).*fts0[bt]realloc.*,\)\(.*yyscanner\)/\1 \3 MY_ATTRIBUTE((unused))/;
-+s/^\(\(static\|void\).*fts0[bt]free.*,\)\(.*yyscanner\)/\1 \3 MY_ATTRIBUTE((unused))/;
- ' < fts0tlex.cc >> $TMPF
- 
- mv $TMPF fts0tlex.cc
---- a/storage/innobase/handler/ha_innodb.cc
-+++ b/storage/innobase/handler/ha_innodb.cc
-@@ -1425,7 +1425,7 @@ thd_set_lock_wait_time(
- /********************************************************************//**
- Obtain the InnoDB transaction of a MySQL thread.
- @return	reference to transaction pointer */
--__attribute__((warn_unused_result, nonnull))
-+MY_ATTRIBUTE((warn_unused_result, nonnull))
- static inline
- trx_t*&
- thd_to_trx(
-@@ -3486,7 +3486,7 @@ int
- innobase_end(
- /*=========*/
- 	handlerton*		hton,	/*!< in/out: InnoDB handlerton */
--	ha_panic_function	type __attribute__((unused)))
-+	ha_panic_function	type MY_ATTRIBUTE((unused)))
- 					/*!< in: ha_panic() parameter */
- {
- 	int	err= 0;
-@@ -8612,7 +8612,7 @@ create_table_check_doc_id_col(
- 
- /*****************************************************************//**
- Creates a table definition to an InnoDB database. */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- int
- create_table_def(
- /*=============*/
-@@ -10325,7 +10325,7 @@ innobase_drop_database(
- /*********************************************************************//**
- Renames an InnoDB table.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- innobase_rename_table(
- /*==================*/
-@@ -15235,7 +15235,7 @@ static char* srv_buffer_pool_evict;
- Evict all uncompressed pages of compressed tables from the buffer pool.
- Keep the compressed pages in the buffer pool.
- @return whether all uncompressed pages were evicted */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- bool
- innodb_buffer_pool_evict_uncompressed(void)
- /*=======================================*/
-@@ -15563,13 +15563,13 @@ void
- purge_run_now_set(
- /*==============*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15586,13 +15586,13 @@ void
- purge_stop_now_set(
- /*===============*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15608,13 +15608,13 @@ void
- checkpoint_now_set(
- /*===============*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15635,13 +15635,13 @@ void
- buf_flush_list_now_set(
- /*===================*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15738,13 +15738,13 @@ void
- buffer_pool_dump_now(
- /*=================*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15761,13 +15761,13 @@ void
- buffer_pool_load_now(
- /*=================*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15784,13 +15784,13 @@ void
- buffer_pool_load_abort(
- /*===================*/
- 	THD*				thd	/*!< in: thread handle */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	struct st_mysql_sys_var*	var	/*!< in: pointer to system
- 						variable */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	void*				var_ptr	/*!< out: where the formal
- 						string goes */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const void*			save)	/*!< in: immediate result from
- 						check function */
- {
-@@ -15808,10 +15808,10 @@ which control InnoDB "status monitor" output to the error log.
- static
- void
- innodb_status_output_update(
--	THD*				thd __attribute__((unused)),
--	struct st_mysql_sys_var*	var __attribute__((unused)),
--	void*				var_ptr __attribute__((unused)),
--	const void*			save __attribute__((unused)))
-+	THD*				thd MY_ATTRIBUTE((unused)),
-+	struct st_mysql_sys_var*	var MY_ATTRIBUTE((unused)),
-+	void*				var_ptr MY_ATTRIBUTE((unused)),
-+	const void*			save MY_ATTRIBUTE((unused)))
- {
- 	*static_cast<my_bool*>(var_ptr) = *static_cast<const my_bool*>(save);
- 	/* The lock timeout monitor thread also takes care of this
---- a/storage/innobase/handler/ha_innodb.h
-+++ b/storage/innobase/handler/ha_innodb.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2000, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2000, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -430,14 +430,14 @@ enum durability_properties thd_get_durability_property(const MYSQL_THD thd);
- @param off	auto_increment_offset
- @param inc	auto_increment_increment */
- void thd_get_autoinc(const MYSQL_THD thd, ulong* off, ulong* inc)
--__attribute__((nonnull));
-+MY_ATTRIBUTE((nonnull));
- 
- /** Is strict sql_mode set.
- @param thd	Thread object
- @return True if sql_mode has strict mode (all or trans), false otherwise.
- */
- bool thd_is_strict_mode(const MYSQL_THD thd)
--__attribute__((nonnull));
-+MY_ATTRIBUTE((nonnull));
- } /* extern "C" */
- 
- struct trx_t;
-@@ -475,7 +475,7 @@ innobase_index_name_is_reserved(
- 	const KEY*	key_info,	/*!< in: Indexes to be created */
- 	ulint		num_of_keys)	/*!< in: Number of indexes to
- 					be created. */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*****************************************************************//**
- Determines InnoDB table flags.
-@@ -492,7 +492,7 @@ innobase_table_flags(
- 						outside system tablespace */
- 	ulint*			flags,		/*!< out: DICT_TF flags */
- 	ulint*			flags2)		/*!< out: DICT_TF2 flags */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*****************************************************************//**
- Validates the create options. We may build on this function
-@@ -509,7 +509,7 @@ create_options_are_invalid(
- 					columns and indexes */
- 	HA_CREATE_INFO*	create_info,	/*!< in: create info. */
- 	bool		use_tablespace)	/*!< in: srv_file_per_table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*********************************************************************//**
- Retrieve the FTS Relevance Ranking result for doc with doc_id
-@@ -539,7 +539,7 @@ void
- innobase_fts_close_ranking(
- /*=======================*/
- 	FT_INFO*	fts_hdl)	/*!< in: FTS handler */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*****************************************************************//**
- Initialize the table FTS stopword list
- @return TRUE if success */
-@@ -550,7 +550,7 @@ innobase_fts_load_stopword(
- 	dict_table_t*	table,		/*!< in: Table has the FTS */
- 	trx_t*		trx,		/*!< in: transaction */
- 	THD*		thd)		/*!< in: current thread */
--	__attribute__((nonnull(1,3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,3), warn_unused_result));
- 
- /** Some defines for innobase_fts_check_doc_id_index() return value */
- enum fts_doc_id_index_enum {
-@@ -572,7 +572,7 @@ innobase_fts_check_doc_id_index(
- 						that is being altered */
- 	ulint*			fts_doc_col_no)	/*!< out: The column number for
- 						Doc ID */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /*******************************************************************//**
- Check whether the table has a unique index with FTS_DOC_ID_INDEX_NAME
-@@ -585,7 +585,7 @@ innobase_fts_check_doc_id_index_in_def(
- /*===================================*/
- 	ulint		n_key,		/*!< in: Number of keys */
- 	const KEY*	key_info)	/*!< in: Key definitions */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /***********************************************************************
- @return version of the extended FTS API */
---- a/storage/innobase/handler/handler0alter.cc
-+++ b/storage/innobase/handler/handler0alter.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2005, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -98,7 +98,7 @@ static const Alter_inplace_info::HA_ALTER_FLAGS INNOBASE_ALTER_NOREBUILD
- 	| Alter_inplace_info::ALTER_COLUMN_NAME;
- 
- /* Report an InnoDB error to the client by invoking my_error(). */
--static UNIV_COLD __attribute__((nonnull))
-+static UNIV_COLD MY_ATTRIBUTE((nonnull))
- void
- my_error_innodb(
- /*============*/
-@@ -195,7 +195,7 @@ innobase_fulltext_exist(
- Determine if ALTER TABLE needs to rebuild the table.
- @param ha_alter_info		the DDL operation
- @return whether it is necessary to rebuild the table */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_need_rebuild(
- /*==================*/
-@@ -515,7 +515,7 @@ ha_innobase::check_if_supported_inplace_alter(
- /*************************************************************//**
- Initialize the dict_foreign_t structure with supplied info
- @return true if added, false if duplicate foreign->id */
--static __attribute__((nonnull(1,3,5,7)))
-+static MY_ATTRIBUTE((nonnull(1,3,5,7)))
- bool
- innobase_init_foreign(
- /*==================*/
-@@ -604,7 +604,7 @@ innobase_init_foreign(
- /*************************************************************//**
- Check whether the foreign key options is legit
- @return true if it is */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_check_fk_option(
- /*=====================*/
-@@ -636,7 +636,7 @@ innobase_check_fk_option(
- /*************************************************************//**
- Set foreign key options
- @return true if successfully set */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_set_foreign_key_option(
- /*============================*/
-@@ -681,7 +681,7 @@ innobase_set_foreign_key_option(
- Check if a foreign key constraint can make use of an index
- that is being created.
- @return	useable index, or NULL if none found */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- const KEY*
- innobase_find_equiv_index(
- /*======================*/
-@@ -737,7 +737,7 @@ no_match:
- Find an index whose first fields are the columns in the array
- in the same order and is not marked for deletion
- @return matching index, NULL if not found */
--static __attribute__((nonnull(1,2,6), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1,2,6), warn_unused_result))
- dict_index_t*
- innobase_find_fk_index(
- /*===================*/
-@@ -784,7 +784,7 @@ next_rec:
- Create InnoDB foreign key structure from MySQL alter_info
- @retval true if successful
- @retval false on error (will call my_error()) */
--static __attribute__((nonnull(1,2,3,7,8), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1,2,3,7,8), warn_unused_result))
- bool
- innobase_get_foreign_key_info(
- /*==========================*/
-@@ -1269,7 +1269,7 @@ innobase_rec_reset(
- /*******************************************************************//**
- This function checks that index keys are sensible.
- @return	0 or error number */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- int
- innobase_check_index_keys(
- /*======================*/
-@@ -1390,7 +1390,7 @@ name_ok:
- 
- /*******************************************************************//**
- Create index field definition for key part */
--static __attribute__((nonnull(2,3)))
-+static MY_ATTRIBUTE((nonnull(2,3)))
- void
- innobase_create_index_field_def(
- /*============================*/
-@@ -1437,7 +1437,7 @@ innobase_create_index_field_def(
- 
- /*******************************************************************//**
- Create index definition for key */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- innobase_create_index_def(
- /*======================*/
-@@ -1721,7 +1721,7 @@ ELSE
- ENDIF
- 
- @return	key definitions */
--static __attribute__((nonnull, warn_unused_result, malloc))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result, malloc))
- index_def_t*
- innobase_create_key_defs(
- /*=====================*/
-@@ -1940,7 +1940,7 @@ created_clustered:
- /*******************************************************************//**
- Check each index column size, make sure they do not exceed the max limit
- @return	true if index column size exceeds limit */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_check_column_length(
- /*=========================*/
-@@ -2090,7 +2090,7 @@ online_retry_drop_indexes_low(
- /********************************************************************//**
- Drop any indexes that we were not able to free previously due to
- open table handles. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- online_retry_drop_indexes(
- /*======================*/
-@@ -2120,7 +2120,7 @@ online_retry_drop_indexes(
- /********************************************************************//**
- Commit a dictionary transaction and drop any indexes that we were not
- able to free previously due to open table handles. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- online_retry_drop_indexes_with_trx(
- /*===============================*/
-@@ -2149,7 +2149,7 @@ online_retry_drop_indexes_with_trx(
- @param drop_fk		constraints being dropped
- @param n_drop_fk	number of constraints that are being dropped
- @return whether the constraint is being dropped */
--inline __attribute__((pure, nonnull, warn_unused_result))
-+inline MY_ATTRIBUTE((pure, nonnull, warn_unused_result))
- bool
- innobase_dropping_foreign(
- /*======================*/
-@@ -2176,7 +2176,7 @@ column that is being dropped or modified to NOT NULL.
- @retval true		Not allowed (will call my_error())
- @retval false		Allowed
- */
--static __attribute__((pure, nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((pure, nonnull, warn_unused_result))
- bool
- innobase_check_foreigns_low(
- /*========================*/
-@@ -2276,7 +2276,7 @@ column that is being dropped or modified to NOT NULL.
- @retval true		Not allowed (will call my_error())
- @retval false		Allowed
- */
--static __attribute__((pure, nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((pure, nonnull, warn_unused_result))
- bool
- innobase_check_foreigns(
- /*====================*/
-@@ -2321,7 +2321,7 @@ innobase_check_foreigns(
- @param dfield	InnoDB data field to copy to
- @param field	MySQL value for the column
- @param comp	nonzero if in compact format */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- innobase_build_col_map_add(
- /*=======================*/
-@@ -2355,7 +2355,7 @@ adding columns.
- @param heap		Memory heap where allocated
- @return	array of integers, mapping column numbers in the table
- to column numbers in altered_table */
--static __attribute__((nonnull(1,2,3,4,5,7), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1,2,3,4,5,7), warn_unused_result))
- const ulint*
- innobase_build_col_map(
- /*===================*/
-@@ -2492,7 +2492,7 @@ innobase_drop_fts_index_table(
- @param user_table	InnoDB table as it is before the ALTER operation
- @param heap		Memory heap for the allocation
- @return array of new column names in rebuilt_table, or NULL if not renamed */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- const char**
- innobase_get_col_names(
- 	Alter_inplace_info*	ha_alter_info,
-@@ -2555,7 +2555,7 @@ while preparing ALTER TABLE.
- @retval true		Failure
- @retval false		Success
- */
--static __attribute__((warn_unused_result, nonnull(1,2,3,4)))
-+static MY_ATTRIBUTE((warn_unused_result, nonnull(1,2,3,4)))
- bool
- prepare_inplace_alter_table_dict(
- /*=============================*/
-@@ -3193,7 +3193,7 @@ err_exit:
- /* Check whether an index is needed for the foreign key constraint.
- If so, if it is dropped, is there an equivalent index can play its role.
- @return true if the index is needed and can't be dropped */
--static __attribute__((nonnull(1,2,3,5), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1,2,3,5), warn_unused_result))
- bool
- innobase_check_foreign_key_index(
- /*=============================*/
-@@ -4069,7 +4069,7 @@ temparary index prefix
- @param locked		TRUE=table locked, FALSE=may need to do a lazy drop
- @param trx		the transaction
- */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- innobase_rollback_sec_index(
- /*========================*/
-@@ -4103,7 +4103,7 @@ during prepare, but might not be during commit).
- @retval true		Failure
- @retval false		Success
- */
--inline __attribute__((nonnull, warn_unused_result))
-+inline MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- rollback_inplace_alter_table(
- /*=========================*/
-@@ -4235,7 +4235,7 @@ func_exit:
- @param foreign_id	Foreign key constraint identifier
- @retval true		Failure
- @retval false		Success */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_drop_foreign_try(
- /*======================*/
-@@ -4292,7 +4292,7 @@ innobase_drop_foreign_try(
- @param new_clustered	whether the table has been rebuilt
- @retval true		Failure
- @retval false		Success */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_rename_column_try(
- /*=======================*/
-@@ -4501,7 +4501,7 @@ rename_foreign:
- @param table_name	Table name in MySQL
- @retval true		Failure
- @retval false		Success */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_rename_columns_try(
- /*========================*/
-@@ -4551,7 +4551,7 @@ as part of commit_cache_norebuild().
- @param ha_alter_info	Data used during in-place alter.
- @param table		the TABLE
- @param user_table	InnoDB table that was being altered */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- innobase_rename_columns_cache(
- /*==========================*/
-@@ -4595,7 +4595,7 @@ processed_field:
- @param altered_table	MySQL table that is being altered
- @param old_table	MySQL table as it is before the ALTER operation
- @return the next auto-increment value (0 if not present) */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ulonglong
- commit_get_autoinc(
- /*===============*/
-@@ -4677,7 +4677,7 @@ but do not touch the data dictionary cache.
- @retval true		Failure
- @retval false		Success
- */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- innobase_update_foreign_try(
- /*========================*/
-@@ -4760,7 +4760,7 @@ after the changes to data dictionary tables were committed.
- @param ctx	In-place ALTER TABLE context
- @param user_thd	MySQL connection
- @return		InnoDB error code (should always be DB_SUCCESS) */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- innobase_update_foreign_cache(
- /*==========================*/
-@@ -4845,7 +4845,7 @@ when rebuilding the table.
- @retval true		Failure
- @retval false		Success
- */
--inline __attribute__((nonnull, warn_unused_result))
-+inline MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- commit_try_rebuild(
- /*===============*/
-@@ -5007,7 +5007,7 @@ commit_try_rebuild(
- /** Apply the changes made during commit_try_rebuild(),
- to the data dictionary cache and the file system.
- @param ctx	In-place ALTER TABLE context */
--inline __attribute__((nonnull))
-+inline MY_ATTRIBUTE((nonnull))
- void
- commit_cache_rebuild(
- /*=================*/
-@@ -5102,7 +5102,7 @@ when not rebuilding the table.
- @retval true		Failure
- @retval false		Success
- */
--inline __attribute__((nonnull, warn_unused_result))
-+inline MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- commit_try_norebuild(
- /*=================*/
-@@ -5212,7 +5212,7 @@ after a successful commit_try_norebuild() call.
- @param trx		Data dictionary transaction object
- (will be started and committed)
- @return whether all replacements were found for dropped indexes */
--inline __attribute__((nonnull, warn_unused_result))
-+inline MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- commit_cache_norebuild(
- /*===================*/
---- a/storage/innobase/ibuf/ibuf0ibuf.cc
-+++ b/storage/innobase/ibuf/ibuf0ibuf.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -657,7 +657,7 @@ byte*
- ibuf_parse_bitmap_init(
- /*===================*/
- 	byte*		ptr,	/*!< in: buffer */
--	byte*		end_ptr __attribute__((unused)), /*!< in: buffer end */
-+	byte*		end_ptr MY_ATTRIBUTE((unused)), /*!< in: buffer end */
- 	buf_block_t*	block,	/*!< in: block or NULL */
- 	mtr_t*		mtr)	/*!< in: mtr or NULL */
- {
-@@ -2494,7 +2494,7 @@ ibuf_get_merge_page_nos_func(
- /*******************************************************************//**
- Get the matching records for space id.
- @return	current rec or NULL */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- const rec_t*
- ibuf_get_user_rec(
- /*===============*/
-@@ -2516,7 +2516,7 @@ ibuf_get_user_rec(
- Reads page numbers for a space id from an ibuf tree.
- @return a lower limit for the combined volume of records which will be
- merged */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- ulint
- ibuf_get_merge_pages(
- /*=================*/
-@@ -2626,7 +2626,7 @@ ibuf_merge_pages(
- /*********************************************************************//**
- Get the table instance from the table id.
- @return table instance */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- dict_table_t*
- ibuf_get_table(
- /*===========*/
-@@ -2725,7 +2725,7 @@ Contracts insert buffer trees by reading pages to the buffer pool.
- @return a lower limit for the combined size in bytes of entries which
- will be merged from ibuf trees to the pages read, 0 if ibuf is
- empty */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ulint
- ibuf_merge(
- /*=======*/
-@@ -3444,7 +3444,7 @@ ibuf_get_entry_counter_func(
- Buffer an operation in the insert/delete buffer, instead of doing it
- directly to the disk page, if this is possible.
- @return	DB_SUCCESS, DB_STRONG_FAIL or other error */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- ibuf_insert_low(
- /*============*/
-@@ -3935,7 +3935,7 @@ skip_watch:
- During merge, inserts to an index page a secondary index entry extracted
- from the insert buffer.
- @return	newly inserted record */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- rec_t*
- ibuf_insert_to_index_page_low(
- /*==========================*/
-@@ -4366,7 +4366,7 @@ ibuf_delete(
- /*********************************************************************//**
- Restores insert buffer tree cursor position
- @return	TRUE if the position was restored; FALSE if not */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- ibool
- ibuf_restore_pos(
- /*=============*/
-@@ -4421,7 +4421,7 @@ Deletes from ibuf the record on which pcur is positioned. If we have to
- resort to a pessimistic delete, this function commits mtr and closes
- the cursor.
- @return	TRUE if mtr was committed and pcur closed in this operation */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- ibool
- ibuf_delete_rec(
- /*============*/
---- a/storage/innobase/include/api0api.h
-+++ b/storage/innobase/include/api0api.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -36,7 +36,7 @@ InnoDB Native API
- #endif
- 
- #if defined(__GNUC__) && (__GNUC__ > 2) && ! defined(__INTEL_COMPILER)
--#define UNIV_NO_IGNORE		__attribute__ ((warn_unused_result))
-+#define UNIV_NO_IGNORE		MY_ATTRIBUTE ((warn_unused_result))
- #else
- #define UNIV_NO_IGNORE
- #endif /* __GNUC__ && __GNUC__ > 2 && !__INTEL_COMPILER */
---- a/storage/innobase/include/btr0btr.h
-+++ b/storage/innobase/include/btr0btr.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -114,7 +114,7 @@ btr_corruption_report(
- /*==================*/
- 	const buf_block_t*	block,	/*!< in: corrupted block */
- 	const dict_index_t*	index)	/*!< in: index tree */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- 
- /** Assert that a B-tree page is not corrupted.
- @param block buffer block containing a B-tree page
-@@ -156,7 +156,7 @@ btr_blob_dbg_add_blob(
- 	ulint		page_no,	/*!< in: start page of the column */
- 	dict_index_t*	index,		/*!< in/out: index tree */
- 	const char*	ctx)		/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Display the references to off-page columns.
- This function is to be called from a debugger,
-@@ -166,7 +166,7 @@ void
- btr_blob_dbg_print(
- /*===============*/
- 	const dict_index_t*	index)	/*!< in: index tree */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Check that there are no references to off-page columns from or to
- the given page. Invoked when freeing or clearing a page.
-@@ -177,7 +177,7 @@ btr_blob_dbg_is_empty(
- /*==================*/
- 	dict_index_t*	index,		/*!< in: index */
- 	ulint		page_no)	/*!< in: page number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /**************************************************************//**
- Modify the 'deleted' flag of a record. */
-@@ -189,7 +189,7 @@ btr_blob_dbg_set_deleted_flag(
- 	dict_index_t*		index,	/*!< in/out: index */
- 	const ulint*		offsets,/*!< in: rec_get_offs(rec, index) */
- 	ibool			del)	/*!< in: TRUE=deleted, FALSE=exists */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Change the ownership of an off-page column. */
- UNIV_INTERN
-@@ -201,7 +201,7 @@ btr_blob_dbg_owner(
- 	const ulint*		offsets,/*!< in: rec_get_offs(rec, index) */
- 	ulint			i,	/*!< in: ith field in rec */
- 	ibool			own)	/*!< in: TRUE=owned, FALSE=disowned */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /** Assert that there are no BLOB references to or from the given page. */
- # define btr_blob_dbg_assert_empty(index, page_no)	\
- 	ut_a(btr_blob_dbg_is_empty(index, page_no))
-@@ -221,7 +221,7 @@ btr_root_get(
- /*=========*/
- 	const dict_index_t*	index,	/*!< in: index tree */
- 	mtr_t*			mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**************************************************************//**
- Checks and adjusts the root node of a tree during IMPORT TABLESPACE.
-@@ -231,7 +231,7 @@ dberr_t
- btr_root_adjust_on_import(
- /*======================*/
- 	const dict_index_t*	index)	/*!< in: index tree */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /**************************************************************//**
- Gets the height of the B-tree (the level of the root, when the leaf
-@@ -244,7 +244,7 @@ btr_height_get(
- /*===========*/
- 	dict_index_t*	index,	/*!< in: index tree */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**************************************************************//**
- Gets a buffer page and declares its latching order level. */
- UNIV_INLINE
-@@ -306,7 +306,7 @@ index_id_t
- btr_page_get_index_id(
- /*==================*/
- 	const page_t*	page)	/*!< in: index page */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- #ifndef UNIV_HOTBACKUP
- /********************************************************//**
- Gets the node level field in an index page.
-@@ -316,7 +316,7 @@ ulint
- btr_page_get_level_low(
- /*===================*/
- 	const page_t*	page)	/*!< in: index page */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- #define btr_page_get_level(page, mtr) btr_page_get_level_low(page)
- /********************************************************//**
- Gets the next index page number.
-@@ -327,7 +327,7 @@ btr_page_get_next(
- /*==============*/
- 	const page_t*	page,	/*!< in: index page */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************//**
- Gets the previous index page number.
- @return	prev page number */
-@@ -337,7 +337,7 @@ btr_page_get_prev(
- /*==============*/
- 	const page_t*	page,	/*!< in: index page */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Gets pointer to the previous user record in the tree. It is assumed
- that the caller has appropriate latches on the page and its neighbor.
-@@ -349,7 +349,7 @@ btr_get_prev_user_rec(
- 	rec_t*	rec,	/*!< in: record on leaf level */
- 	mtr_t*	mtr)	/*!< in: mtr holding a latch on the page, and if
- 			needed, also to the previous page */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Gets pointer to the next user record in the tree. It is assumed
- that the caller has appropriate latches on the page and its neighbor.
-@@ -361,7 +361,7 @@ btr_get_next_user_rec(
- 	rec_t*	rec,	/*!< in: record on leaf level */
- 	mtr_t*	mtr)	/*!< in: mtr holding a latch on the page, and if
- 			needed, also to the next page */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**************************************************************//**
- Releases the latch on a leaf page and bufferunfixes it. */
- UNIV_INLINE
-@@ -372,7 +372,7 @@ btr_leaf_page_release(
- 	ulint		latch_mode,	/*!< in: BTR_SEARCH_LEAF or
- 					BTR_MODIFY_LEAF */
- 	mtr_t*		mtr)		/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Gets the child node file address in a node pointer.
- NOTE: the offsets array must contain all offsets for the record since
-@@ -386,7 +386,7 @@ btr_node_ptr_get_child_page_no(
- /*===========================*/
- 	const rec_t*	rec,	/*!< in: node pointer record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /************************************************************//**
- Creates the root node for a new index tree.
- @return	page number of the created root, FIL_NULL if did not succeed */
-@@ -401,7 +401,7 @@ btr_create(
- 	index_id_t	index_id,/*!< in: index id */
- 	dict_index_t*	index,	/*!< in: index */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /************************************************************//**
- Frees a B-tree except the root page, which MUST be freed after this
- by calling btr_free_root. */
-@@ -424,7 +424,7 @@ btr_free_root(
- 				or 0 for uncompressed pages */
- 	ulint	root_page_no,	/*!< in: root page number */
- 	mtr_t*	mtr)		/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Makes tree one level higher by splitting the root, and inserts
- the tuple. It is assumed that mtr contains an x-latch on the tree.
-@@ -447,7 +447,7 @@ btr_root_raise_and_insert(
- 	const dtuple_t*	tuple,	/*!< in: tuple to insert */
- 	ulint		n_ext,	/*!< in: number of externally stored columns */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Reorganizes an index page.
- 
-@@ -473,7 +473,7 @@ btr_page_reorganize_low(
- 	page_cur_t*	cursor,	/*!< in/out: page cursor */
- 	dict_index_t*	index,	/*!< in: the index tree of the page */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Reorganizes an index page.
- 
-@@ -492,7 +492,7 @@ btr_page_reorganize(
- 	page_cur_t*	cursor,	/*!< in/out: page cursor */
- 	dict_index_t*	index,	/*!< in: the index tree of the page */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Decides if the page should be split at the convergence point of
- inserts converging to left.
-@@ -505,7 +505,7 @@ btr_page_get_split_rec_to_left(
- 	rec_t**		split_rec)/*!< out: if split recommended,
- 				the first record on upper half page,
- 				or NULL if tuple should be first */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Decides if the page should be split at the convergence point of
- inserts converging to right.
-@@ -518,7 +518,7 @@ btr_page_get_split_rec_to_right(
- 	rec_t**		split_rec)/*!< out: if split recommended,
- 				the first record on upper half page,
- 				or NULL if tuple should be first */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Splits an index page to halves and inserts the tuple. It is assumed
- that mtr holds an x-latch to the index tree. NOTE: the tree x-latch is
-@@ -542,7 +542,7 @@ btr_page_split_and_insert(
- 	const dtuple_t*	tuple,	/*!< in: tuple to insert */
- 	ulint		n_ext,	/*!< in: number of externally stored columns */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************//**
- Inserts a data tuple to a tree on a non-leaf level. It is assumed
- that mtr holds an x-latch on the tree. */
-@@ -557,7 +557,7 @@ btr_insert_on_non_leaf_level_func(
- 	const char*	file,	/*!< in: file name */
- 	ulint		line,	/*!< in: line where called */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- # define btr_insert_on_non_leaf_level(f,i,l,t,m)			\
- 	btr_insert_on_non_leaf_level_func(f,i,l,t,__FILE__,__LINE__,m)
- #endif /* !UNIV_HOTBACKUP */
-@@ -569,7 +569,7 @@ btr_set_min_rec_mark(
- /*=================*/
- 	rec_t*	rec,	/*!< in/out: record */
- 	mtr_t*	mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /*************************************************************//**
- Deletes on the upper level the node pointer to a page. */
-@@ -580,7 +580,7 @@ btr_node_ptr_delete(
- 	dict_index_t*	index,	/*!< in: index tree */
- 	buf_block_t*	block,	/*!< in: page whose node pointer is deleted */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- /************************************************************//**
- Checks that the node pointer to a page is appropriate.
-@@ -592,7 +592,7 @@ btr_check_node_ptr(
- 	dict_index_t*	index,	/*!< in: index tree */
- 	buf_block_t*	block,	/*!< in: index page */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- /*************************************************************//**
- Tries to merge the page first to the left immediate brother if such a
-@@ -615,7 +615,7 @@ btr_compress(
- 	ibool		adjust,	/*!< in: TRUE if should adjust the
- 				cursor position even if compression occurs */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Discards a page from a B-tree. This is used to remove the last record from
- a B-tree page: the whole page must be removed at the same time. This cannot
-@@ -627,7 +627,7 @@ btr_discard_page(
- 	btr_cur_t*	cursor,	/*!< in: cursor on the page to discard: not on
- 				the root page */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /****************************************************************//**
- Parses the redo log record for setting an index record as the predefined
-@@ -642,7 +642,7 @@ btr_parse_set_min_rec_mark(
- 	ulint	comp,	/*!< in: nonzero=compact page format */
- 	page_t*	page,	/*!< in: page or NULL */
- 	mtr_t*	mtr)	/*!< in: mtr or NULL */
--	__attribute__((nonnull(1,2), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2), warn_unused_result));
- /***********************************************************//**
- Parses a redo log record of reorganizing a page.
- @return	end of log record or NULL */
-@@ -656,7 +656,7 @@ btr_parse_page_reorganize(
- 	bool		compressed,/*!< in: true if compressed page */
- 	buf_block_t*	block,	/*!< in: page to be reorganized, or NULL */
- 	mtr_t*		mtr)	/*!< in: mtr or NULL */
--	__attribute__((nonnull(1,2,3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3), warn_unused_result));
- #ifndef UNIV_HOTBACKUP
- /**************************************************************//**
- Gets the number of pages in a B-tree.
-@@ -669,7 +669,7 @@ btr_get_size(
- 	ulint		flag,	/*!< in: BTR_N_LEAF_PAGES or BTR_TOTAL_SIZE */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction where index
- 				is s-latched */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**************************************************************//**
- Allocates a new file page to be used in an index tree. NOTE: we assume
- that the caller has made the reservation for free extents!
-@@ -692,7 +692,7 @@ btr_page_alloc(
- 	mtr_t*		init_mtr)	/*!< in/out: mini-transaction
- 					for x-latching and initializing
- 					the page */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**************************************************************//**
- Frees a file page used in an index tree. NOTE: cannot free field external
- storage pages because the page must contain info on its level. */
-@@ -703,7 +703,7 @@ btr_page_free(
- 	dict_index_t*	index,	/*!< in: index tree */
- 	buf_block_t*	block,	/*!< in: block to be freed, x-latched */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Frees a file page used in an index tree. Can be used also to BLOB
- external storage pages, because the page level 0 can be given as an
-@@ -716,7 +716,7 @@ btr_page_free_low(
- 	buf_block_t*	block,	/*!< in: block to be freed, x-latched */
- 	ulint		level,	/*!< in: page level */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_BTR_PRINT
- /*************************************************************//**
- Prints size info of a B-tree. */
-@@ -725,7 +725,7 @@ void
- btr_print_size(
- /*===========*/
- 	dict_index_t*	index)	/*!< in: index tree */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Prints directories and other info of all nodes in the index. */
- UNIV_INTERN
-@@ -735,7 +735,7 @@ btr_print_index(
- 	dict_index_t*	index,	/*!< in: index */
- 	ulint		width)	/*!< in: print this many entries from start
- 				and end */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* UNIV_BTR_PRINT */
- /************************************************************//**
- Checks the size and number of fields in a record based on the definition of
-@@ -750,7 +750,7 @@ btr_index_rec_validate(
- 	ibool			dump_on_error)	/*!< in: TRUE if the function
- 						should print hex dump of record
- 						and page on error */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**************************************************************//**
- Checks the consistency of an index tree.
- @return	TRUE if ok */
-@@ -760,7 +760,7 @@ btr_validate_index(
- /*===============*/
- 	dict_index_t*	index,			/*!< in: index */
- 	const trx_t*	trx)			/*!< in: transaction or 0 */
--	__attribute__((nonnull(1), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1), warn_unused_result));
- 
- #define BTR_N_LEAF_PAGES	1
- #define BTR_TOTAL_SIZE		2
---- a/storage/innobase/include/btr0btr.ic
-+++ b/storage/innobase/include/btr0btr.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -159,7 +159,7 @@ ulint
- btr_page_get_next(
- /*==============*/
- 	const page_t*	page,	/*!< in: index page */
--	mtr_t*		mtr __attribute__((unused)))
-+	mtr_t*		mtr MY_ATTRIBUTE((unused)))
- 				/*!< in: mini-transaction handle */
- {
- 	ut_ad(page && mtr);
-@@ -199,7 +199,7 @@ ulint
- btr_page_get_prev(
- /*==============*/
- 	const page_t*	page,	/*!< in: index page */
--	mtr_t*	mtr __attribute__((unused))) /*!< in: mini-transaction handle */
-+	mtr_t*	mtr MY_ATTRIBUTE((unused))) /*!< in: mini-transaction handle */
- {
- 	ut_ad(page && mtr);
- 
---- a/storage/innobase/include/btr0cur.h
-+++ b/storage/innobase/include/btr0cur.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -186,7 +186,7 @@ btr_cur_open_at_index_side_func(
- 	const char*	file,		/*!< in: file name */
- 	ulint		line,		/*!< in: line where called */
- 	mtr_t*		mtr)		/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #define btr_cur_open_at_index_side(f,i,l,c,lv,m)			\
- 	btr_cur_open_at_index_side_func(f,i,l,c,lv,__FILE__,__LINE__,m)
- /**********************************************************************//**
-@@ -235,7 +235,7 @@ btr_cur_optimistic_insert(
- 				compressed tablespace, the caller must
- 				mtr_commit(mtr) before latching
- 				any further pages */
--	__attribute__((nonnull(2,3,4,5,6,7,10), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(2,3,4,5,6,7,10), warn_unused_result));
- /*************************************************************//**
- Performs an insert on a page of an index tree. It is assumed that mtr
- holds an x-latch on the tree and on the cursor page. If the insert is
-@@ -266,7 +266,7 @@ btr_cur_pessimistic_insert(
- 	ulint		n_ext,	/*!< in: number of externally stored columns */
- 	que_thr_t*	thr,	/*!< in: query thread or NULL */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull(2,3,4,5,6,7,10), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(2,3,4,5,6,7,10), warn_unused_result));
- /*************************************************************//**
- See if there is enough place in the page modification log to log
- an update-in-place.
-@@ -293,7 +293,7 @@ btr_cur_update_alloc_zip_func(
- 	bool		create,	/*!< in: true=delete-and-insert,
- 				false=update-in-place */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifdef UNIV_DEBUG
- # define btr_cur_update_alloc_zip(page_zip,cursor,index,offsets,len,cr,mtr) \
- 	btr_cur_update_alloc_zip_func(page_zip,cursor,index,offsets,len,cr,mtr)
-@@ -325,7 +325,7 @@ btr_cur_update_in_place(
- 				is a secondary index, the caller must
- 				mtr_commit(mtr) before latching any
- 				further pages */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- /***********************************************************//**
- Writes a redo log record of updating a record in-place. */
- UNIV_INTERN
-@@ -339,7 +339,7 @@ btr_cur_update_in_place_log(
- 	trx_id_t	trx_id,		/*!< in: transaction id */
- 	roll_ptr_t	roll_ptr,	/*!< in: roll ptr */
- 	mtr_t*		mtr)		/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Tries to update a record on a page in an index tree. It is assumed that mtr
- holds an x-latch on the page. The operation does not succeed if there is too
-@@ -371,7 +371,7 @@ btr_cur_optimistic_update(
- 				is a secondary index, the caller must
- 				mtr_commit(mtr) before latching any
- 				further pages */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- /*************************************************************//**
- Performs an update of a record on a page of a tree. It is assumed
- that mtr holds an x-latch on the tree and on the cursor page. If the
-@@ -405,7 +405,7 @@ btr_cur_pessimistic_update(
- 	trx_id_t	trx_id,	/*!< in: transaction id */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction; must be committed
- 				before latching any further pages */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- /***********************************************************//**
- Marks a clustered index record deleted. Writes an undo log record to
- undo log on this delete marking. Writes in the trx id field the id
-@@ -422,7 +422,7 @@ btr_cur_del_mark_set_clust_rec(
- 	const ulint*	offsets,/*!< in: rec_get_offsets(rec) */
- 	que_thr_t*	thr,	/*!< in: query thread */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************//**
- Sets a secondary index record delete mark to TRUE or FALSE.
- @return	DB_SUCCESS, DB_LOCK_WAIT, or error number */
-@@ -435,7 +435,7 @@ btr_cur_del_mark_set_sec_rec(
- 	ibool		val,	/*!< in: value to set */
- 	que_thr_t*	thr,	/*!< in: query thread */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Tries to compress a page of the tree if it seems useful. It is assumed
- that mtr holds an x-latch on the tree and on the cursor page. To avoid
-@@ -453,7 +453,7 @@ btr_cur_compress_if_useful(
- 	ibool		adjust,	/*!< in: TRUE if should adjust the
- 				cursor position even if compression occurs */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*******************************************************//**
- Removes the record on which the tree cursor is positioned. It is assumed
- that the mtr has an x-latch on the page where the cursor is positioned,
-@@ -474,7 +474,7 @@ btr_cur_optimistic_delete_func(
- 				TRUE on a leaf page of a secondary
- 				index, the mtr must be committed
- 				before latching any further pages */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- # ifdef UNIV_DEBUG
- #  define btr_cur_optimistic_delete(cursor, flags, mtr)		\
- 	btr_cur_optimistic_delete_func(cursor, flags, mtr)
-@@ -510,7 +510,7 @@ btr_cur_pessimistic_delete(
- 	ulint		flags,	/*!< in: BTR_CREATE_FLAG or 0 */
- 	enum trx_rb_ctx	rb_ctx,	/*!< in: rollback context */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /***********************************************************//**
- Parses a redo log record of updating a record in-place.
-@@ -603,7 +603,7 @@ btr_cur_disown_inherited_fields(
- 	const ulint*	offsets,/*!< in: array returned by rec_get_offsets() */
- 	const upd_t*	update,	/*!< in: update vector */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull(2,3,4,5,6)));
-+	MY_ATTRIBUTE((nonnull(2,3,4,5,6)));
- 
- /** Operation code for btr_store_big_rec_extern_fields(). */
- enum blob_op {
-@@ -623,7 +623,7 @@ ibool
- btr_blob_op_is_update(
- /*==================*/
- 	enum blob_op	op)	/*!< in: operation */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /*******************************************************************//**
- Stores the fields in big_rec_vec to the tablespace and puts pointers to
-@@ -648,7 +648,7 @@ btr_store_big_rec_extern_fields(
- 	mtr_t*		btr_mtr,	/*!< in: mtr containing the
- 					latches to the clustered index */
- 	enum blob_op	op)		/*! in: operation code */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*******************************************************************//**
- Frees the space in an externally stored field to the file space
-@@ -742,7 +742,7 @@ btr_push_update_extern_fields(
- 	dtuple_t*	tuple,	/*!< in/out: data tuple */
- 	const upd_t*	update,	/*!< in: update vector */
- 	mem_heap_t*	heap)	/*!< in: memory heap */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***********************************************************//**
- Sets a secondary index record's delete mark to the given value. This
- function is only used by the insert buffer merge mechanism. */
---- a/storage/innobase/include/btr0pcur.h
-+++ b/storage/innobase/include/btr0pcur.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -155,7 +155,7 @@ btr_pcur_open_at_index_side(
- 	ulint		level,		/*!< in: level to search for
- 					(0=leaf) */
- 	mtr_t*		mtr)		/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Gets the up_match value for a pcur after a search.
- @return number of matched fields at the cursor or to the right if
---- a/storage/innobase/include/btr0sea.h
-+++ b/storage/innobase/include/btr0sea.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -69,7 +69,7 @@ btr_search_t*
- btr_search_get_info(
- /*================*/
- 	dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*****************************************************************//**
- Creates and initializes a search info struct.
- @return	own: search info struct */
---- a/storage/innobase/include/btr0types.h
-+++ b/storage/innobase/include/btr0types.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -81,7 +81,7 @@ btr_blob_dbg_rbt_insert(
- 	dict_index_t*		index,	/*!< in/out: index tree */
- 	const btr_blob_dbg_t*	b,	/*!< in: the reference */
- 	const char*		ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Remove from index->blobs a reference to an off-page column.
- @param index	the index tree
-@@ -94,7 +94,7 @@ btr_blob_dbg_rbt_delete(
- 	dict_index_t*		index,	/*!< in/out: index tree */
- 	const btr_blob_dbg_t*	b,	/*!< in: the reference */
- 	const char*		ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**************************************************************//**
- Add to index->blobs any references to off-page columns from a record.
-@@ -107,7 +107,7 @@ btr_blob_dbg_add_rec(
- 	dict_index_t*	index,	/*!< in/out: index */
- 	const ulint*	offsets,/*!< in: offsets */
- 	const char*	ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Remove from index->blobs any references to off-page columns from a record.
- @return number of references removed */
-@@ -119,7 +119,7 @@ btr_blob_dbg_remove_rec(
- 	dict_index_t*	index,	/*!< in/out: index */
- 	const ulint*	offsets,/*!< in: offsets */
- 	const char*	ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Count and add to index->blobs any references to off-page columns
- from records on a page.
-@@ -131,7 +131,7 @@ btr_blob_dbg_add(
- 	const page_t*	page,	/*!< in: rewritten page */
- 	dict_index_t*	index,	/*!< in/out: index */
- 	const char*	ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Count and remove from index->blobs any references to off-page columns
- from records on a page.
-@@ -144,7 +144,7 @@ btr_blob_dbg_remove(
- 	const page_t*	page,	/*!< in: b-tree page */
- 	dict_index_t*	index,	/*!< in/out: index */
- 	const char*	ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Restore in index->blobs any references to off-page columns
- Used when page reorganize fails due to compressed page overflow. */
-@@ -156,7 +156,7 @@ btr_blob_dbg_restore(
- 	const page_t*	page,	/*!< in: copy of original page */
- 	dict_index_t*	index,	/*!< in/out: index */
- 	const char*	ctx)	/*!< in: context (for logging) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Operation that processes the BLOB references of an index record
- @param[in]	rec	record on index page
-@@ -180,7 +180,7 @@ btr_blob_dbg_op(
- 	dict_index_t*		index,	/*!< in/out: index */
- 	const char*		ctx,	/*!< in: context (for logging) */
- 	const btr_blob_dbg_op_f	op)	/*!< in: operation on records */
--	__attribute__((nonnull(1,3,4,5)));
-+	MY_ATTRIBUTE((nonnull(1,3,4,5)));
- #else /* UNIV_BLOB_DEBUG */
- # define btr_blob_dbg_add_rec(rec, index, offsets, ctx)		((void) 0)
- # define btr_blob_dbg_add(page, index, ctx)			((void) 0)
---- a/storage/innobase/include/buf0buddy.h
-+++ b/storage/innobase/include/buf0buddy.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2006, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -54,7 +54,7 @@ buf_buddy_alloc(
- 				       	storage was allocated from the
- 				       	LRU list and buf_pool->mutex was
- 				       	temporarily released */
--	__attribute__((malloc, nonnull));
-+	MY_ATTRIBUTE((malloc, nonnull));
- 
- /**********************************************************************//**
- Deallocate a block. */
-@@ -68,7 +68,7 @@ buf_buddy_free(
- 					be pointed to by the buffer pool */
- 	ulint		size)		/*!< in: block size,
- 					up to UNIV_PAGE_SIZE */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- #ifndef UNIV_NONINL
- # include "buf0buddy.ic"
---- a/storage/innobase/include/buf0buddy.ic
-+++ b/storage/innobase/include/buf0buddy.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2006, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -50,7 +50,7 @@ buf_buddy_alloc_low(
- 					allocated from the LRU list and
- 					buf_pool->mutex was temporarily
- 					released */
--	__attribute__((malloc, nonnull));
-+	MY_ATTRIBUTE((malloc, nonnull));
- 
- /**********************************************************************//**
- Deallocate a block. */
-@@ -63,7 +63,7 @@ buf_buddy_free_low(
- 					pointed to by the buffer pool */
- 	ulint		i)		/*!< in: index of buf_pool->zip_free[],
- 					or BUF_BUDDY_SIZES */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Get the index of buf_pool->zip_free[] for a given block size.
---- a/storage/innobase/include/buf0buf.h
-+++ b/storage/innobase/include/buf0buf.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -258,7 +258,7 @@ buf_relocate(
- 				buf_page_get_state(bpage) must be
- 				BUF_BLOCK_ZIP_DIRTY or BUF_BLOCK_ZIP_PAGE */
- 	buf_page_t*	dpage)	/*!< in/out: destination control block */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Gets the current size of buffer buf_pool in bytes.
- @return	size in bytes */
-@@ -289,7 +289,7 @@ UNIV_INLINE
- buf_page_t*
- buf_page_alloc_descriptor(void)
- /*===========================*/
--	__attribute__((malloc));
-+	MY_ATTRIBUTE((malloc));
- /********************************************************************//**
- Free a buf_page_t descriptor. */
- UNIV_INLINE
-@@ -297,7 +297,7 @@ void
- buf_page_free_descriptor(
- /*=====================*/
- 	buf_page_t*	bpage)	/*!< in: bpage descriptor to free. */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /********************************************************************//**
- Allocates a buffer block.
-@@ -534,7 +534,7 @@ ulint
- buf_page_get_freed_page_clock(
- /*==========================*/
- 	const buf_page_t*	bpage)	/*!< in: block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /********************************************************************//**
- Reads the freed_page_clock of a buffer block.
- @return	freed_page_clock */
-@@ -543,7 +543,7 @@ ulint
- buf_block_get_freed_page_clock(
- /*===========================*/
- 	const buf_block_t*	block)	/*!< in: block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- 
- /********************************************************************//**
- Tells if a block is still close enough to the MRU end of the LRU list
-@@ -606,7 +606,7 @@ buf_block_buf_fix_inc_func(
- 	ulint		line,	/*!< in: line */
- # endif /* UNIV_SYNC_DEBUG */
- 	buf_block_t*	block)	/*!< in/out: block to bufferfix */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*******************************************************************//**
- Increments the bufferfix count. */
-@@ -652,7 +652,7 @@ buf_page_is_corrupted(
- 	const byte*	read_buf,	/*!< in: a database page */
- 	ulint		zip_size)	/*!< in: size of compressed page;
- 					0 for uncompressed pages */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Checks if a page is all zeroes.
- @return	TRUE if the page is all zeroes */
-@@ -682,7 +682,7 @@ ulint
- buf_block_get_lock_hash_val(
- /*========================*/
- 	const buf_block_t*	block)	/*!< in: block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- #ifdef UNIV_DEBUG
- /*********************************************************************//**
- Finds a block in the buffer pool that points to a
-@@ -743,7 +743,7 @@ buf_page_print(
- 	ulint		flags)		/*!< in: 0 or
- 					BUF_PAGE_PRINT_NO_CRASH or
- 					BUF_PAGE_PRINT_NO_FULL */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Decompress a block.
- @return	TRUE if successful */
-@@ -870,7 +870,7 @@ enum buf_page_state
- buf_block_get_state(
- /*================*/
- 	const buf_block_t*	block)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Sets the state of a block. */
- UNIV_INLINE
-@@ -895,7 +895,7 @@ ibool
- buf_page_in_file(
- /*=============*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- #ifndef UNIV_HOTBACKUP
- /*********************************************************************//**
- Determines if a block should be on unzip_LRU list.
-@@ -905,7 +905,7 @@ ibool
- buf_page_belongs_to_unzip_LRU(
- /*==========================*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- 
- /*********************************************************************//**
- Gets the mutex of a block.
-@@ -915,7 +915,7 @@ ib_mutex_t*
- buf_page_get_mutex(
- /*===============*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- 
- /*********************************************************************//**
- Get the flush type of a page.
-@@ -925,7 +925,7 @@ buf_flush_t
- buf_page_get_flush_type(
- /*====================*/
- 	const buf_page_t*	bpage)	/*!< in: buffer page */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Set the flush type of a page. */
- UNIV_INLINE
-@@ -951,7 +951,7 @@ enum buf_io_fix
- buf_page_get_io_fix(
- /*================*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the io_fix state of a block.
- @return	io_fix state */
-@@ -960,7 +960,7 @@ enum buf_io_fix
- buf_block_get_io_fix(
- /*================*/
- 	const buf_block_t*	block)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Sets the io_fix state of a block. */
- UNIV_INLINE
-@@ -1006,7 +1006,7 @@ ibool
- buf_page_can_relocate(
- /*==================*/
- 	const buf_page_t*	bpage)	/*!< control block being relocated */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- 
- /*********************************************************************//**
- Determine if a block has been flagged old.
-@@ -1016,7 +1016,7 @@ ibool
- buf_page_is_old(
- /*============*/
- 	const buf_page_t*	bpage)	/*!< in: control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Flag a block old. */
- UNIV_INLINE
-@@ -1033,7 +1033,7 @@ unsigned
- buf_page_is_accessed(
- /*=================*/
- 	const buf_page_t*	bpage)	/*!< in: control block */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************************//**
- Flag a block accessed. */
- UNIV_INLINE
-@@ -1041,7 +1041,7 @@ void
- buf_page_set_accessed(
- /*==================*/
- 	buf_page_t*	bpage)		/*!< in/out: control block */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Gets the buf_block_t handle of a buffered file block if an uncompressed
- page frame exists, or NULL. Note: even though bpage is not declared a
-@@ -1052,7 +1052,7 @@ buf_block_t*
- buf_page_get_block(
- /*===============*/
- 	buf_page_t*	bpage)	/*!< in: control block, or NULL */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- #endif /* !UNIV_HOTBACKUP */
- #ifdef UNIV_DEBUG
- /*********************************************************************//**
-@@ -1063,7 +1063,7 @@ buf_frame_t*
- buf_block_get_frame(
- /*================*/
- 	const buf_block_t*	block)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- #else /* UNIV_DEBUG */
- # define buf_block_get_frame(block) (block)->frame
- #endif /* UNIV_DEBUG */
-@@ -1075,7 +1075,7 @@ ulint
- buf_page_get_space(
- /*===============*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the space id of a block.
- @return	space id */
-@@ -1084,7 +1084,7 @@ ulint
- buf_block_get_space(
- /*================*/
- 	const buf_block_t*	block)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the page number of a block.
- @return	page number */
-@@ -1093,7 +1093,7 @@ ulint
- buf_page_get_page_no(
- /*=================*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the page number of a block.
- @return	page number */
-@@ -1102,7 +1102,7 @@ ulint
- buf_block_get_page_no(
- /*==================*/
- 	const buf_block_t*	block)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the compressed page size of a block.
- @return	compressed page size, or 0 */
-@@ -1111,7 +1111,7 @@ ulint
- buf_page_get_zip_size(
- /*==================*/
- 	const buf_page_t*	bpage)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the compressed page size of a block.
- @return	compressed page size, or 0 */
-@@ -1120,7 +1120,7 @@ ulint
- buf_block_get_zip_size(
- /*===================*/
- 	const buf_block_t*	block)	/*!< in: pointer to the control block */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /*********************************************************************//**
- Gets the compressed page descriptor corresponding to an uncompressed page
- if applicable. */
-@@ -1209,7 +1209,7 @@ buf_page_address_fold(
- /*==================*/
- 	ulint	space,	/*!< in: space id */
- 	ulint	offset)	/*!< in: offset of the page within space */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /********************************************************************//**
- Calculates the index of a buffer pool to the buf_pool[] array.
- @return	the position of the buffer pool in buf_pool[] */
-@@ -1218,7 +1218,7 @@ ulint
- buf_pool_index(
- /*===========*/
- 	const buf_pool_t*	buf_pool)	/*!< in: buffer pool */
--	__attribute__((nonnull, const));
-+	MY_ATTRIBUTE((nonnull, const));
- /******************************************************************//**
- Returns the buffer pool instance given a page instance
- @return buf_pool */
-@@ -1358,7 +1358,7 @@ buf_pool_watch_is_sentinel(
- /*=======================*/
- 	buf_pool_t*		buf_pool,	/*!< buffer pool instance */
- 	const buf_page_t*	bpage)		/*!< in: block */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /****************************************************************//**
- Add watch for the given page to be read in. Caller must have the buffer pool
- @return NULL if watch set, block if the page is in the buffer pool */
-@@ -1369,7 +1369,7 @@ buf_pool_watch_set(
- 	ulint	space,	/*!< in: space id */
- 	ulint	offset,	/*!< in: page number */
- 	ulint	fold)	/*!< in: buf_page_address_fold(space, offset) */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /****************************************************************//**
- Stop watching if the page has been read in.
- buf_pool_watch_set(space,offset) must have returned NULL before. */
-@@ -1390,7 +1390,7 @@ buf_pool_watch_occurred(
- /*====================*/
- 	ulint	space,	/*!< in: space id */
- 	ulint	offset)	/*!< in: page number */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /********************************************************************//**
- Get total buffer pool statistics. */
- UNIV_INTERN
---- a/storage/innobase/include/buf0flu.h
-+++ b/storage/innobase/include/buf0flu.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -85,7 +85,7 @@ buf_flush_page_try(
- /*===============*/
- 	buf_pool_t*	buf_pool,	/*!< in/out: buffer pool instance */
- 	buf_block_t*	block)		/*!< in/out: buffer control block */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- # endif /* UNIV_DEBUG || UNIV_IBUF_DEBUG */
- /*******************************************************************//**
- This utility flushes dirty blocks from the end of the flush list of
-@@ -254,7 +254,7 @@ buf_flush_ready_for_flush(
- 	buf_page_t*	bpage,	/*!< in: buffer control block, must be
- 				buf_page_in_file(bpage) */
- 	buf_flush_t	flush_type)/*!< in: type of flush */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- #ifdef UNIV_DEBUG
- /******************************************************************//**
---- a/storage/innobase/include/buf0lru.h
-+++ b/storage/innobase/include/buf0lru.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -93,7 +93,7 @@ buf_LRU_free_page(
- 	buf_page_t*	bpage,	/*!< in: block to be freed */
- 	bool		zip)	/*!< in: true if should remove also the
- 				compressed page of an uncompressed page */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Try to free a replaceable block.
- @return	TRUE if found and freed */
-@@ -105,7 +105,7 @@ buf_LRU_scan_and_free_block(
- 	ibool		scan_all)	/*!< in: scan whole LRU list
- 					if TRUE, otherwise scan only
- 					'old' blocks. */
--	__attribute__((nonnull,warn_unused_result));
-+	MY_ATTRIBUTE((nonnull,warn_unused_result));
- /******************************************************************//**
- Returns a free block from the buf_pool.  The block is taken off the
- free list.  If it is empty, returns NULL.
-@@ -146,7 +146,7 @@ buf_block_t*
- buf_LRU_get_free_block(
- /*===================*/
- 	buf_pool_t*	buf_pool)	/*!< in/out: buffer pool instance */
--	__attribute__((nonnull,warn_unused_result));
-+	MY_ATTRIBUTE((nonnull,warn_unused_result));
- /******************************************************************//**
- Determines if the unzip_LRU list should be used for evicting a victim
- instead of the general LRU list.
-@@ -229,7 +229,7 @@ buf_LRU_free_one_page(
- 	buf_page_t*	bpage)	/*!< in/out: block, must contain a file page and
- 				be in a state where it can be freed; there
- 				may or may not be a hash index to the page */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- #if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
- /**********************************************************************//**
---- a/storage/innobase/include/data0data.h
-+++ b/storage/innobase/include/data0data.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -46,7 +46,7 @@ dtype_t*
- dfield_get_type(
- /*============*/
- 	const dfield_t*	field)	/*!< in: SQL data field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets pointer to the data in a field.
- @return	pointer to data */
-@@ -55,7 +55,7 @@ void*
- dfield_get_data(
- /*============*/
- 	const dfield_t* field)	/*!< in: field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #else /* UNIV_DEBUG */
- # define dfield_get_type(field) (&(field)->type)
- # define dfield_get_data(field) ((field)->data)
-@@ -68,7 +68,7 @@ dfield_set_type(
- /*============*/
- 	dfield_t*	field,	/*!< in: SQL data field */
- 	const dtype_t*	type)	/*!< in: pointer to data type struct */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Gets length of field data.
- @return	length of data; UNIV_SQL_NULL if SQL null data */
-@@ -77,7 +77,7 @@ ulint
- dfield_get_len(
- /*===========*/
- 	const dfield_t* field)	/*!< in: field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Sets length in a field. */
- UNIV_INLINE
-@@ -86,7 +86,7 @@ dfield_set_len(
- /*===========*/
- 	dfield_t*	field,	/*!< in: field */
- 	ulint		len)	/*!< in: length or UNIV_SQL_NULL */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Determines if a field is SQL NULL
- @return	nonzero if SQL null data */
-@@ -95,7 +95,7 @@ ulint
- dfield_is_null(
- /*===========*/
- 	const dfield_t* field)	/*!< in: field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Determines if a field is externally stored
- @return	nonzero if externally stored */
-@@ -104,7 +104,7 @@ ulint
- dfield_is_ext(
- /*==========*/
- 	const dfield_t* field)	/*!< in: field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Sets the "external storage" flag */
- UNIV_INLINE
-@@ -112,7 +112,7 @@ void
- dfield_set_ext(
- /*===========*/
- 	dfield_t*	field)	/*!< in/out: field */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Sets pointer to the data and length in a field. */
- UNIV_INLINE
-@@ -122,7 +122,7 @@ dfield_set_data(
- 	dfield_t*	field,	/*!< in: field */
- 	const void*	data,	/*!< in: data */
- 	ulint		len)	/*!< in: length or UNIV_SQL_NULL */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /*********************************************************************//**
- Sets a data field to SQL NULL. */
- UNIV_INLINE
-@@ -130,7 +130,7 @@ void
- dfield_set_null(
- /*============*/
- 	dfield_t*	field)	/*!< in/out: field */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Writes an SQL null field full of zeros. */
- UNIV_INLINE
-@@ -139,7 +139,7 @@ data_write_sql_null(
- /*================*/
- 	byte*	data,	/*!< in: pointer to a buffer of size len */
- 	ulint	len)	/*!< in: SQL null size in bytes */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Copies the data and len fields. */
- UNIV_INLINE
-@@ -148,7 +148,7 @@ dfield_copy_data(
- /*=============*/
- 	dfield_t*	field1,	/*!< out: field to copy to */
- 	const dfield_t*	field2)	/*!< in: field to copy from */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Copies a data field to another. */
- UNIV_INLINE
-@@ -157,7 +157,7 @@ dfield_copy(
- /*========*/
- 	dfield_t*	field1,	/*!< out: field to copy to */
- 	const dfield_t*	field2)	/*!< in: field to copy from */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Copies the data pointed to by a data field. */
- UNIV_INLINE
-@@ -166,7 +166,7 @@ dfield_dup(
- /*=======*/
- 	dfield_t*	field,	/*!< in/out: data field */
- 	mem_heap_t*	heap)	/*!< in: memory heap where allocated */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /*********************************************************************//**
- Tests if two data fields are equal.
-@@ -181,7 +181,7 @@ dfield_datas_are_binary_equal(
- 	const dfield_t*	field2,	/*!< in: field */
- 	ulint		len)	/*!< in: maximum prefix to compare,
- 				or 0 to compare the whole field length */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Tests if dfield data length and content is equal to the given.
- @return	TRUE if equal */
-@@ -192,7 +192,7 @@ dfield_data_is_binary_equal(
- 	const dfield_t*	field,	/*!< in: field */
- 	ulint		len,	/*!< in: data length or UNIV_SQL_NULL */
- 	const byte*	data)	/*!< in: data */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- /*********************************************************************//**
- Gets number of fields in a data tuple.
-@@ -202,7 +202,7 @@ ulint
- dtuple_get_n_fields(
- /*================*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifdef UNIV_DEBUG
- /*********************************************************************//**
- Gets nth field of a tuple.
-@@ -224,7 +224,7 @@ ulint
- dtuple_get_info_bits(
- /*=================*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Sets info bits in a data tuple. */
- UNIV_INLINE
-@@ -233,7 +233,7 @@ dtuple_set_info_bits(
- /*=================*/
- 	dtuple_t*	tuple,		/*!< in: tuple */
- 	ulint		info_bits)	/*!< in: info bits */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Gets number of fields used in record comparisons.
- @return	number of fields used in comparisons in rem0cmp.* */
-@@ -242,7 +242,7 @@ ulint
- dtuple_get_n_fields_cmp(
- /*====================*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets number of fields used in record comparisons. */
- UNIV_INLINE
-@@ -252,7 +252,7 @@ dtuple_set_n_fields_cmp(
- 	dtuple_t*	tuple,		/*!< in: tuple */
- 	ulint		n_fields_cmp)	/*!< in: number of fields used in
- 					comparisons in rem0cmp.* */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /* Estimate the number of bytes that are going to be allocated when
- creating a new dtuple_t object */
-@@ -272,7 +272,7 @@ dtuple_create_from_mem(
- 	void*	buf,		/*!< in, out: buffer to use */
- 	ulint	buf_size,	/*!< in: buffer size */
- 	ulint	n_fields)	/*!< in: number of fields */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /**********************************************************//**
- Creates a data tuple to a memory heap. The default value for number
-@@ -286,7 +286,7 @@ dtuple_create(
- 				is created, DTUPLE_EST_ALLOC(n_fields)
- 				bytes will be allocated from this heap */
- 	ulint		n_fields)/*!< in: number of fields */
--	__attribute__((nonnull, malloc));
-+	MY_ATTRIBUTE((nonnull, malloc));
- 
- /*********************************************************************//**
- Sets number of fields used in a tuple. Normally this is set in
-@@ -297,7 +297,7 @@ dtuple_set_n_fields(
- /*================*/
- 	dtuple_t*	tuple,		/*!< in: tuple */
- 	ulint		n_fields)	/*!< in: number of fields */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Copies a data tuple to another.  This is a shallow copy; if a deep copy
- is desired, dfield_dup() will have to be invoked on each field.
-@@ -309,7 +309,7 @@ dtuple_copy(
- 	const dtuple_t*	tuple,	/*!< in: tuple to copy from */
- 	mem_heap_t*	heap)	/*!< in: memory heap
- 				where the tuple is created */
--	__attribute__((nonnull, malloc));
-+	MY_ATTRIBUTE((nonnull, malloc));
- /**********************************************************//**
- The following function returns the sum of data lengths of a tuple. The space
- occupied by the field structs or the tuple struct is not counted.
-@@ -320,7 +320,7 @@ dtuple_get_data_size(
- /*=================*/
- 	const dtuple_t*	tuple,	/*!< in: typed data tuple */
- 	ulint		comp)	/*!< in: nonzero=ROW_FORMAT=COMPACT  */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Computes the number of externally stored fields in a data tuple.
- @return	number of fields */
-@@ -329,7 +329,7 @@ ulint
- dtuple_get_n_ext(
- /*=============*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /************************************************************//**
- Compare two data tuples, respecting the collation of character fields.
- @return 1, 0 , -1 if tuple1 is greater, equal, less, respectively,
-@@ -340,7 +340,7 @@ dtuple_coll_cmp(
- /*============*/
- 	const dtuple_t*	tuple1,	/*!< in: tuple 1 */
- 	const dtuple_t*	tuple2)	/*!< in: tuple 2 */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /************************************************************//**
- Folds a prefix given as the number of fields of a tuple.
- @return	the folded value */
-@@ -353,7 +353,7 @@ dtuple_fold(
- 	ulint		n_bytes,/*!< in: number of bytes to fold in an
- 				incomplete last field */
- 	index_id_t	tree_id)/*!< in: index tree id */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /*******************************************************************//**
- Sets types of fields binary in a tuple. */
- UNIV_INLINE
-@@ -362,7 +362,7 @@ dtuple_set_types_binary(
- /*====================*/
- 	dtuple_t*	tuple,	/*!< in: data tuple */
- 	ulint		n)	/*!< in: number of fields to set */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Checks if a dtuple contains an SQL null value.
- @return	TRUE if some field is SQL null */
-@@ -371,7 +371,7 @@ ibool
- dtuple_contains_null(
- /*=================*/
- 	const dtuple_t*	tuple)	/*!< in: dtuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************//**
- Checks that a data field is typed. Asserts an error if not.
- @return	TRUE if ok */
-@@ -380,7 +380,7 @@ ibool
- dfield_check_typed(
- /*===============*/
- 	const dfield_t*	field)	/*!< in: data field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************//**
- Checks that a data tuple is typed. Asserts an error if not.
- @return	TRUE if ok */
-@@ -389,7 +389,7 @@ ibool
- dtuple_check_typed(
- /*===============*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************//**
- Checks that a data tuple is typed.
- @return	TRUE if ok */
-@@ -398,7 +398,7 @@ ibool
- dtuple_check_typed_no_assert(
- /*=========================*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifdef UNIV_DEBUG
- /**********************************************************//**
- Validates the consistency of a tuple which must be complete, i.e,
-@@ -409,7 +409,7 @@ ibool
- dtuple_validate(
- /*============*/
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- /*************************************************************//**
- Pretty prints a dfield value according to its data type. */
-@@ -418,7 +418,7 @@ void
- dfield_print(
- /*=========*/
- 	const dfield_t*	dfield)	/*!< in: dfield */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Pretty prints a dfield value according to its data type. Also the hex string
- is printed if a string contains non-printable characters. */
-@@ -427,7 +427,7 @@ void
- dfield_print_also_hex(
- /*==================*/
- 	const dfield_t*	dfield)	 /*!< in: dfield */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************//**
- The following function prints the contents of a tuple. */
- UNIV_INTERN
-@@ -436,7 +436,7 @@ dtuple_print(
- /*=========*/
- 	FILE*		f,	/*!< in: output stream */
- 	const dtuple_t*	tuple)	/*!< in: tuple */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Moves parts of long fields in entry to the big record vector so that
- the size of tuple drops below the maximum record size allowed in the
-@@ -453,7 +453,7 @@ dtuple_convert_big_rec(
- 	dtuple_t*	entry,	/*!< in/out: index entry */
- 	ulint*		n_ext)	/*!< in/out: number of
- 				externally stored columns */
--	__attribute__((nonnull, malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
- /**************************************************************//**
- Puts back to entry the data stored in vector. Note that to ensure the
- fields in entry can accommodate the data, vector must have been created
-@@ -466,7 +466,7 @@ dtuple_convert_back_big_rec(
- 	dtuple_t*	entry,	/*!< in: entry whose data was put to vector */
- 	big_rec_t*	vector)	/*!< in, own: big rec vector; it is
- 				freed in this function */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**************************************************************//**
- Frees the memory in a big rec vector. */
- UNIV_INLINE
-@@ -475,7 +475,7 @@ dtuple_big_rec_free(
- /*================*/
- 	big_rec_t*	vector)	/*!< in, own: big rec vector; it is
- 				freed in this function */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*######################################################################*/
- 
---- a/storage/innobase/include/dict0boot.h
-+++ b/storage/innobase/include/dict0boot.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -95,7 +95,7 @@ UNIV_INTERN
- dberr_t
- dict_boot(void)
- /*===========*/
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /*****************************************************************//**
- Creates and initializes the data dictionary at the server bootstrap.
-@@ -104,7 +104,7 @@ UNIV_INTERN
- dberr_t
- dict_create(void)
- /*=============*/
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /*********************************************************************//**
- Check if a table id belongs to  system table.
-@@ -114,7 +114,7 @@ bool
- dict_is_sys_table(
- /*==============*/
- 	table_id_t	id)		/*!< in: table id to check */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /* Space id and page no where the dictionary header resides */
- #define	DICT_HDR_SPACE		0	/* the SYSTEM tablespace */
---- a/storage/innobase/include/dict0crea.h
-+++ b/storage/innobase/include/dict0crea.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -123,7 +123,7 @@ dict_create_add_foreign_id(
- 				incremented if used */
- 	const char*	name,	/*!< in: table name */
- 	dict_foreign_t*	foreign)/*!< in/out: foreign key */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Adds the given set of foreign key objects to the dictionary tables
- in the database. This function does not modify the dictionary cache. The
-@@ -142,7 +142,7 @@ dict_create_add_foreigns_to_dictionary(
- 	const dict_foreign_set&	local_fk_set,
- 	const dict_table_t*	table,
- 	trx_t*			trx)
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /****************************************************************//**
- Creates the tablespaces and datafiles system tables inside InnoDB
- at server bootstrap or server start if they are not found or are
-@@ -177,7 +177,7 @@ dict_create_add_foreign_to_dictionary(
- 	const char*		name,	/*!< in: table name */
- 	const dict_foreign_t*	foreign,/*!< in: foreign key */
- 	trx_t*			trx)	/*!< in/out: dictionary transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /* Table create node structure */
- struct tab_node_t{
---- a/storage/innobase/include/dict0crea.ic
-+++ b/storage/innobase/include/dict0crea.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -33,7 +33,7 @@ UNIV_INTERN
- bool
- row_is_mysql_tmp_table_name(
- /*========================*/
--	const char*     name) __attribute__((warn_unused_result));
-+	const char*     name) MY_ATTRIBUTE((warn_unused_result));
- 				/*!< in: table name in the form
- 				'database/tablename' */
- 
---- a/storage/innobase/include/dict0dict.h
-+++ b/storage/innobase/include/dict0dict.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -53,7 +53,7 @@ void
- dict_casedn_str(
- /*============*/
- 	char*	a)	/*!< in/out: string to put in lower case */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Get the database name length in a table name.
- @return	database name length */
-@@ -63,7 +63,7 @@ dict_get_db_name_len(
- /*=================*/
- 	const char*	name)	/*!< in: table name in the form
- 				dbname '/' tablename */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Open a table from its database and table name, this is currently used by
- foreign constraint parser to get the referenced table.
-@@ -107,7 +107,7 @@ dict_remove_db_name(
- /*================*/
- 	const char*	name)	/*!< in: table name in the form
- 				dbname '/' tablename */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /** Operation to perform when opening a table */
- enum dict_table_op_t {
-@@ -130,7 +130,7 @@ dict_table_open_on_id(
- 	table_id_t	table_id,	/*!< in: table id */
- 	ibool		dict_locked,	/*!< in: TRUE=data dictionary locked */
- 	dict_table_op_t	table_op)	/*!< in: operation to perform */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /********************************************************************//**
- Decrements the count of open handles to a table. */
- UNIV_INTERN
-@@ -142,7 +142,7 @@ dict_table_close(
- 	ibool		try_drop)	/*!< in: TRUE=try to drop any orphan
- 					indexes after an aborted online
- 					index creation */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Inits the data dictionary module. */
- UNIV_INTERN
-@@ -167,7 +167,7 @@ ulint
- dict_col_get_mbminlen(
- /*==================*/
- 	const dict_col_t*	col)	/*!< in: column */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets the maximum number of bytes per character.
- @return maximum multi-byte char size, in bytes */
-@@ -176,7 +176,7 @@ ulint
- dict_col_get_mbmaxlen(
- /*==================*/
- 	const dict_col_t*	col)	/*!< in: column */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Sets the minimum and maximum number of bytes per character. */
- UNIV_INLINE
-@@ -188,7 +188,7 @@ dict_col_set_mbminmaxlen(
- 					character size, in bytes */
- 	ulint		mbmaxlen)	/*!< in: minimum multi-byte
- 					character size, in bytes */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Gets the column data type. */
- UNIV_INLINE
-@@ -197,7 +197,7 @@ dict_col_copy_type(
- /*===============*/
- 	const dict_col_t*	col,	/*!< in: column */
- 	dtype_t*		type)	/*!< out: data type */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Determine bytes of column prefix to be stored in the undo log. Please
- note if the table format is UNIV_FORMAT_A (< UNIV_FORMAT_B), no prefix
-@@ -210,7 +210,7 @@ dict_max_field_len_store_undo(
- 	dict_table_t*		table,	/*!< in: table */
- 	const dict_col_t*	col)	/*!< in: column which index prefix
- 					is based on */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- #ifdef UNIV_DEBUG
- /*********************************************************************//**
-@@ -222,7 +222,7 @@ dict_col_type_assert_equal(
- /*=======================*/
- 	const dict_col_t*	col,	/*!< in: column */
- 	const dtype_t*		type)	/*!< in: data type */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- #ifndef UNIV_HOTBACKUP
- /***********************************************************************//**
-@@ -233,7 +233,7 @@ ulint
- dict_col_get_min_size(
- /*==================*/
- 	const dict_col_t*	col)	/*!< in: column */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************************//**
- Returns the maximum size of the column.
- @return	maximum size */
-@@ -242,7 +242,7 @@ ulint
- dict_col_get_max_size(
- /*==================*/
- 	const dict_col_t*	col)	/*!< in: column */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************************//**
- Returns the size of a fixed size column, 0 if not a fixed size column.
- @return	fixed size, or 0 */
-@@ -252,7 +252,7 @@ dict_col_get_fixed_size(
- /*====================*/
- 	const dict_col_t*	col,	/*!< in: column */
- 	ulint			comp)	/*!< in: nonzero=ROW_FORMAT=COMPACT  */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************************//**
- Returns the ROW_FORMAT=REDUNDANT stored SQL NULL size of a column.
- For fixed length types it is the fixed length of the type, otherwise 0.
-@@ -263,7 +263,7 @@ dict_col_get_sql_null_size(
- /*=======================*/
- 	const dict_col_t*	col,	/*!< in: column */
- 	ulint			comp)	/*!< in: nonzero=ROW_FORMAT=COMPACT  */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets the column number.
- @return	col->ind, table column position (starting from 0) */
-@@ -272,7 +272,7 @@ ulint
- dict_col_get_no(
- /*============*/
- 	const dict_col_t*	col)	/*!< in: column */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets the column position in the clustered index. */
- UNIV_INLINE
-@@ -281,7 +281,7 @@ dict_col_get_clust_pos(
- /*===================*/
- 	const dict_col_t*	col,		/*!< in: table column */
- 	const dict_index_t*	clust_index)	/*!< in: clustered index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /****************************************************************//**
- If the given column name is reserved for InnoDB system columns, return
- TRUE.
-@@ -291,7 +291,7 @@ ibool
- dict_col_name_is_reserved(
- /*======================*/
- 	const char*	name)	/*!< in: column name */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Acquire the autoinc lock. */
- UNIV_INTERN
-@@ -299,7 +299,7 @@ void
- dict_table_autoinc_lock(
- /*====================*/
- 	dict_table_t*	table)	/*!< in/out: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Unconditionally set the autoinc counter. */
- UNIV_INTERN
-@@ -308,7 +308,7 @@ dict_table_autoinc_initialize(
- /*==========================*/
- 	dict_table_t*	table,	/*!< in/out: table */
- 	ib_uint64_t	value)	/*!< in: next value to assign to a row */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Store autoinc value when the table is evicted.
- @param[in]	table	table evicted */
-@@ -333,7 +333,7 @@ ib_uint64_t
- dict_table_autoinc_read(
- /*====================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Updates the autoinc counter if the value supplied is greater than the
- current value. */
-@@ -344,7 +344,7 @@ dict_table_autoinc_update_if_greater(
- 
- 	dict_table_t*	table,	/*!< in/out: table */
- 	ib_uint64_t	value)	/*!< in: value which was assigned to a row */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Release the autoinc lock. */
- UNIV_INTERN
-@@ -352,7 +352,7 @@ void
- dict_table_autoinc_unlock(
- /*======================*/
- 	dict_table_t*	table)	/*!< in/out: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /**********************************************************************//**
- Adds system columns to a table object. */
-@@ -362,7 +362,7 @@ dict_table_add_system_columns(
- /*==========================*/
- 	dict_table_t*	table,	/*!< in/out: table */
- 	mem_heap_t*	heap)	/*!< in: temporary heap */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /**********************************************************************//**
- Adds a table object to the dictionary cache. */
-@@ -373,7 +373,7 @@ dict_table_add_to_cache(
- 	dict_table_t*	table,		/*!< in: table */
- 	ibool		can_be_evicted,	/*!< in: TRUE if can be evicted*/
- 	mem_heap_t*	heap)		/*!< in: temporary heap */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Removes a table object from the dictionary cache. */
- UNIV_INTERN
-@@ -381,7 +381,7 @@ void
- dict_table_remove_from_cache(
- /*=========================*/
- 	dict_table_t*	table)	/*!< in, own: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Removes a table object from the dictionary cache. */
- UNIV_INTERN
-@@ -404,7 +404,7 @@ dict_table_rename_in_cache(
- 					/*!< in: in ALTER TABLE we want
- 					to preserve the original table name
- 					in constraints which reference it */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Removes an index from the dictionary cache. */
- UNIV_INTERN
-@@ -413,7 +413,7 @@ dict_index_remove_from_cache(
- /*=========================*/
- 	dict_table_t*	table,	/*!< in/out: table */
- 	dict_index_t*	index)	/*!< in, own: index */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Change the id of a table object in the dictionary cache. This is used in
- DISCARD TABLESPACE. */
-@@ -423,7 +423,7 @@ dict_table_change_id_in_cache(
- /*==========================*/
- 	dict_table_t*	table,	/*!< in/out: table object already in cache */
- 	table_id_t	new_id)	/*!< in: new id to set */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Removes a foreign constraint struct from the dictionary cache. */
- UNIV_INTERN
-@@ -431,7 +431,7 @@ void
- dict_foreign_remove_from_cache(
- /*===========================*/
- 	dict_foreign_t*	foreign)	/*!< in, own: foreign constraint */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Adds a foreign key constraint object to the dictionary cache. May free
- the object if there already is an object with the same identifier in.
-@@ -452,7 +452,7 @@ dict_foreign_add_to_cache(
- 				compatibility */
- 	dict_err_ignore_t	ignore_err)
- 				/*!< in: error to be ignored */
--	__attribute__((nonnull(1), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1), warn_unused_result));
- /*********************************************************************//**
- Checks if a table is referenced by foreign keys.
- @return	TRUE if table is referenced by a foreign key */
-@@ -461,7 +461,7 @@ ibool
- dict_table_is_referenced_by_foreign_key(
- /*====================================*/
- 	const dict_table_t*	table)	/*!< in: InnoDB table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Replace the index passed in with another equivalent index in the
- foreign key lists of the table.
-@@ -475,7 +475,7 @@ dict_foreign_replace_index(
- 					/*!< in: column names, or NULL
- 					to use table->col_names */
- 	const dict_index_t*	index)	/*!< in: index to be replaced */
--	__attribute__((nonnull(1,3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,3), warn_unused_result));
- /**********************************************************************//**
- Determines whether a string starts with the specified keyword.
- @return TRUE if str starts with keyword */
-@@ -486,7 +486,7 @@ dict_str_starts_with_keyword(
- 	THD*		thd,		/*!< in: MySQL thread handle */
- 	const char*	str,		/*!< in: string to scan for keyword */
- 	const char*	keyword)	/*!< in: keyword to look for */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Scans a table create SQL string and adds to the data dictionary
- the foreign key constraints declared in the string. This function
-@@ -515,7 +515,7 @@ dict_create_foreign_constraints(
- 	ibool		reject_fks)	/*!< in: if TRUE, fail with error
- 					code DB_CANNOT_ADD_CONSTRAINT if
- 					any foreign keys are found. */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Parses the CONSTRAINT id's to be dropped in an ALTER TABLE statement.
- @return DB_SUCCESS or DB_CANNOT_DROP_CONSTRAINT if syntax error or the
-@@ -532,7 +532,7 @@ dict_foreign_parse_drop_constraints(
- 						to drop */
- 	const char***	constraints_to_drop)	/*!< out: id's of the
- 						constraints to drop */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Returns a table object and increments its open handle count.
- NOTE! This is a high-level function to be used mainly from outside the
-@@ -551,7 +551,7 @@ dict_table_open_on_name(
- 	dict_err_ignore_t
- 			ignore_err)	/*!< in: error to be ignored when
- 					loading the table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*********************************************************************//**
- Tries to find an index whose first fields are the columns in the array,
-@@ -580,7 +580,7 @@ dict_foreign_find_index(
- 					/*!< in: nonzero if none of
- 					the columns must be declared
- 					NOT NULL */
--	__attribute__((nonnull(1,3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,3), warn_unused_result));
- /**********************************************************************//**
- Returns a column's name.
- @return column name. NOTE: not guaranteed to stay valid if table is
-@@ -591,7 +591,7 @@ dict_table_get_col_name(
- /*====================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	ulint			col_nr)	/*!< in: column number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Prints a table data. */
- UNIV_INTERN
-@@ -599,7 +599,7 @@ void
- dict_table_print(
- /*=============*/
- 	dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Outputs info on foreign keys of a table. */
- UNIV_INTERN
-@@ -613,7 +613,7 @@ dict_print_info_on_foreign_keys(
- 	FILE*		file,	/*!< in: file where to print */
- 	trx_t*		trx,	/*!< in: transaction */
- 	dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Outputs info on a foreign key of a table in a format suitable for
- CREATE TABLE. */
-@@ -625,7 +625,7 @@ dict_print_info_on_foreign_key_in_create_format(
- 	trx_t*		trx,		/*!< in: transaction */
- 	dict_foreign_t*	foreign,	/*!< in: foreign key constraint */
- 	ibool		add_newline)	/*!< in: whether to add a newline */
--	__attribute__((nonnull(1,3)));
-+	MY_ATTRIBUTE((nonnull(1,3)));
- /********************************************************************//**
- Displays the names of the index and the table. */
- UNIV_INTERN
-@@ -635,7 +635,7 @@ dict_index_name_print(
- 	FILE*			file,	/*!< in: output stream */
- 	const trx_t*		trx,	/*!< in: transaction */
- 	const dict_index_t*	index)	/*!< in: index to print */
--	__attribute__((nonnull(1,3)));
-+	MY_ATTRIBUTE((nonnull(1,3)));
- /*********************************************************************//**
- Tries to find an index whose first fields are the columns in the array,
- in the same order and is not marked for deletion and is not the same
-@@ -664,7 +664,7 @@ dict_foreign_qualify_index(
- 					/*!< in: nonzero if none of
- 					the columns must be declared
- 					NOT NULL */
--	__attribute__((nonnull(1,3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,3), warn_unused_result));
- #ifdef UNIV_DEBUG
- /********************************************************************//**
- Gets the first index on the table (the clustered index).
-@@ -674,7 +674,7 @@ dict_index_t*
- dict_table_get_first_index(
- /*=======================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the last index on the table.
- @return	index, NULL if none exists */
-@@ -683,7 +683,7 @@ dict_index_t*
- dict_table_get_last_index(
- /*=======================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the next index on the table.
- @return	index, NULL if none left */
-@@ -692,7 +692,7 @@ dict_index_t*
- dict_table_get_next_index(
- /*======================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #else /* UNIV_DEBUG */
- # define dict_table_get_first_index(table) UT_LIST_GET_FIRST((table)->indexes)
- # define dict_table_get_last_index(table) UT_LIST_GET_LAST((table)->indexes)
-@@ -721,7 +721,7 @@ ulint
- dict_index_is_clust(
- /*================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /********************************************************************//**
- Check whether the index is unique.
- @return	nonzero for unique index, zero for other indexes */
-@@ -730,7 +730,7 @@ ulint
- dict_index_is_unique(
- /*=================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /********************************************************************//**
- Check whether the index is the insert buffer tree.
- @return	nonzero for insert buffer, zero for other indexes */
-@@ -739,7 +739,7 @@ ulint
- dict_index_is_ibuf(
- /*===============*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /********************************************************************//**
- Check whether the index is a secondary index or the insert buffer tree.
- @return	nonzero for insert buffer, zero for other indexes */
-@@ -748,7 +748,7 @@ ulint
- dict_index_is_sec_or_ibuf(
- /*======================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /************************************************************************
- Gets the all the FTS indexes for the table. NOTE: must not be called for
-@@ -760,7 +760,7 @@ dict_table_get_all_fts_indexes(
- 				/* out: number of indexes collected */
- 	dict_table_t*	table,	/* in: table */
- 	ib_vector_t*	indexes)/* out: vector for collecting FTS indexes */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Gets the number of user-defined columns in a table in the dictionary
- cache.
-@@ -770,7 +770,7 @@ ulint
- dict_table_get_n_user_cols(
- /*=======================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /********************************************************************//**
- Gets the number of system columns in a table in the dictionary cache.
- @return	number of system (e.g., ROW_ID) columns of a table */
-@@ -779,7 +779,7 @@ ulint
- dict_table_get_n_sys_cols(
- /*======================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /********************************************************************//**
- Gets the number of all columns (also system) in a table in the dictionary
- cache.
-@@ -789,7 +789,7 @@ ulint
- dict_table_get_n_cols(
- /*==================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /********************************************************************//**
- Gets the approximately estimated number of rows in the table.
- @return	estimated number of rows */
-@@ -798,7 +798,7 @@ ib_uint64_t
- dict_table_get_n_rows(
- /*==================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Increment the number of rows in the table by one.
- Notice that this operation is not protected by any latch, the number is
-@@ -808,7 +808,7 @@ void
- dict_table_n_rows_inc(
- /*==================*/
- 	dict_table_t*	table)	/*!< in/out: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Decrement the number of rows in the table by one.
- Notice that this operation is not protected by any latch, the number is
-@@ -818,7 +818,7 @@ void
- dict_table_n_rows_dec(
- /*==================*/
- 	dict_table_t*	table)	/*!< in/out: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- /********************************************************************//**
- Gets the nth column of a table.
-@@ -829,7 +829,7 @@ dict_table_get_nth_col(
- /*===================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	ulint			pos)	/*!< in: position of column */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the given system column of a table.
- @return	pointer to column object */
-@@ -839,7 +839,7 @@ dict_table_get_sys_col(
- /*===================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	ulint			sys)	/*!< in: DATA_ROW_ID, ... */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #else /* UNIV_DEBUG */
- #define dict_table_get_nth_col(table, pos) \
- ((table)->cols + (pos))
-@@ -855,7 +855,7 @@ dict_table_get_sys_col_no(
- /*======================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	ulint			sys)	/*!< in: DATA_ROW_ID, ... */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifndef UNIV_HOTBACKUP
- /********************************************************************//**
- Returns the minimum data size of an index record.
-@@ -865,7 +865,7 @@ ulint
- dict_index_get_min_size(
- /*====================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- /********************************************************************//**
- Check whether the table uses the compact page format.
-@@ -875,7 +875,7 @@ ibool
- dict_table_is_comp(
- /*===============*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Determine the file format of a table.
- @return	file format version */
-@@ -884,7 +884,7 @@ ulint
- dict_table_get_format(
- /*==================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Determine the file format from a dict_table_t::flags.
- @return	file format version */
-@@ -893,7 +893,7 @@ ulint
- dict_tf_get_format(
- /*===============*/
- 	ulint		flags)		/*!< in: dict_table_t::flags */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /********************************************************************//**
- Set the various values in a dict_table_t::flags pointer. */
- UNIV_INLINE
-@@ -904,7 +904,7 @@ dict_tf_set(
- 	rec_format_t	format,		/*!< in: file format */
- 	ulint		zip_ssize,	/*!< in: zip shift size */
- 	bool		remote_path)	/*!< in: table uses DATA DIRECTORY */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Convert a 32 bit integer table flags to the 32 bit integer that is
- written into the tablespace header at the offset FSP_SPACE_FLAGS and is
-@@ -921,7 +921,7 @@ ulint
- dict_tf_to_fsp_flags(
- /*=================*/
- 	ulint	flags)	/*!< in: dict_table_t::flags */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /********************************************************************//**
- Extract the compressed page size from table flags.
- @return	compressed page size, or 0 if not compressed */
-@@ -930,7 +930,7 @@ ulint
- dict_tf_get_zip_size(
- /*=================*/
- 	ulint	flags)			/*!< in: flags */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /********************************************************************//**
- Check whether the table uses the compressed compact page format.
- @return	compressed page size, or 0 if not compressed */
-@@ -939,7 +939,7 @@ ulint
- dict_table_zip_size(
- /*================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifndef UNIV_HOTBACKUP
- /*********************************************************************//**
- Obtain exclusive locks on all index trees of the table. This is to prevent
-@@ -950,7 +950,7 @@ void
- dict_table_x_lock_indexes(
- /*======================*/
- 	dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Release the exclusive locks on all index tree. */
- UNIV_INLINE
-@@ -958,7 +958,7 @@ void
- dict_table_x_unlock_indexes(
- /*========================*/
- 	dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Checks if a column is in the ordering columns of the clustered index of a
- table. Column prefixes are treated like whole columns.
-@@ -969,7 +969,7 @@ dict_table_col_in_clustered_key(
- /*============================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	ulint			n)	/*!< in: column number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Check if the table has an FTS index.
- @return TRUE if table has an FTS index */
-@@ -978,7 +978,7 @@ ibool
- dict_table_has_fts_index(
- /*=====================*/
- 	dict_table_t*   table)		/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Copies types of columns contained in table to tuple and sets all
- fields of the tuple to the SQL NULL value.  This function should
-@@ -989,7 +989,7 @@ dict_table_copy_types(
- /*==================*/
- 	dtuple_t*		tuple,	/*!< in/out: data tuple */
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************
- Wait until all the background threads of the given table have exited, i.e.,
- bg_threads == 0. Note: bg_threads_mutex must be reserved when
-@@ -1001,7 +1001,7 @@ dict_table_wait_for_bg_threads_to_exit(
- 	dict_table_t*	table,	/* in: table */
- 	ulint		delay)	/* in: time in microseconds to wait between
- 				checks of bg_threads. */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Looks for an index with the given id. NOTE that we do not reserve
- the dictionary mutex: this function is for emergency purposes like
-@@ -1012,7 +1012,7 @@ dict_index_t*
- dict_index_find_on_id_low(
- /*======================*/
- 	index_id_t	id)	/*!< in: index id */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /**********************************************************************//**
- Make room in the table cache by evicting an unused table. The unused table
- should not be part of FK relationship and currently not used in any user
-@@ -1038,7 +1038,7 @@ dict_index_add_to_cache(
- 	ibool		strict)	/*!< in: TRUE=refuse to create the index
- 				if records could be too big to fit in
- 				an B-tree page */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Removes an index from the dictionary cache. */
- UNIV_INTERN
-@@ -1047,7 +1047,7 @@ dict_index_remove_from_cache(
- /*=========================*/
- 	dict_table_t*	table,	/*!< in/out: table */
- 	dict_index_t*	index)	/*!< in, own: index */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /********************************************************************//**
- Gets the number of fields in the internal representation of an index,
-@@ -1060,7 +1060,7 @@ dict_index_get_n_fields(
- 	const dict_index_t*	index)	/*!< in: an internal
- 					representation of index (in
- 					the dictionary cache) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the number of fields in the internal representation of an index
- that uniquely determine the position of an index entry in the index, if
-@@ -1073,7 +1073,7 @@ dict_index_get_n_unique(
- /*====================*/
- 	const dict_index_t*	index)	/*!< in: an internal representation
- 					of index (in the dictionary cache) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the number of fields in the internal representation of an index
- which uniquely determine the position of an index entry in the index, if
-@@ -1085,7 +1085,7 @@ dict_index_get_n_unique_in_tree(
- /*============================*/
- 	const dict_index_t*	index)	/*!< in: an internal representation
- 					of index (in the dictionary cache) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the number of user-defined ordering fields in the index. In the internal
- representation we add the row id to the ordering fields to make all indexes
-@@ -1098,7 +1098,7 @@ dict_index_get_n_ordering_defined_by_user(
- /*======================================*/
- 	const dict_index_t*	index)	/*!< in: an internal representation
- 					of index (in the dictionary cache) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifdef UNIV_DEBUG
- /********************************************************************//**
- Gets the nth field of an index.
-@@ -1109,7 +1109,7 @@ dict_index_get_nth_field(
- /*=====================*/
- 	const dict_index_t*	index,	/*!< in: index */
- 	ulint			pos)	/*!< in: position of field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #else /* UNIV_DEBUG */
- # define dict_index_get_nth_field(index, pos) ((index)->fields + (pos))
- #endif /* UNIV_DEBUG */
-@@ -1122,7 +1122,7 @@ dict_index_get_nth_col(
- /*===================*/
- 	const dict_index_t*	index,	/*!< in: index */
- 	ulint			pos)	/*!< in: position of the field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Gets the column number of the nth field in an index.
- @return	column number */
-@@ -1132,7 +1132,7 @@ dict_index_get_nth_col_no(
- /*======================*/
- 	const dict_index_t*	index,	/*!< in: index */
- 	ulint			pos)	/*!< in: position of the field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Looks for column n in an index.
- @return position in internal representation of the index;
-@@ -1143,7 +1143,7 @@ dict_index_get_nth_col_pos(
- /*=======================*/
- 	const dict_index_t*	index,	/*!< in: index */
- 	ulint			n)	/*!< in: column number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Looks for column n in an index.
- @return position in internal representation of the index;
-@@ -1156,7 +1156,7 @@ dict_index_get_nth_col_or_prefix_pos(
- 	ulint			n,		/*!< in: column number */
- 	ibool			inc_prefix)	/*!< in: TRUE=consider
- 						column prefixes too */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Returns TRUE if the index contains a column or a prefix of that column.
- @return	TRUE if contains the column or its prefix */
-@@ -1166,7 +1166,7 @@ dict_index_contains_col_or_prefix(
- /*==============================*/
- 	const dict_index_t*	index,	/*!< in: index */
- 	ulint			n)	/*!< in: column number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Looks for a matching field in an index. The column has to be the same. The
- column in index must be complete, or must contain a prefix longer than the
-@@ -1181,7 +1181,7 @@ dict_index_get_nth_field_pos(
- 	const dict_index_t*	index,	/*!< in: index from which to search */
- 	const dict_index_t*	index2,	/*!< in: index */
- 	ulint			n)	/*!< in: field number in index2 */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Looks for column n position in the clustered index.
- @return	position in internal representation of the clustered index */
-@@ -1191,7 +1191,7 @@ dict_table_get_nth_col_pos(
- /*=======================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	ulint			n)	/*!< in: column number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Returns the position of a system column in an index.
- @return	position, ULINT_UNDEFINED if not contained */
-@@ -1201,7 +1201,7 @@ dict_index_get_sys_col_pos(
- /*=======================*/
- 	const dict_index_t*	index,	/*!< in: index */
- 	ulint			type)	/*!< in: DATA_ROW_ID, ... */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Adds a column to index. */
- UNIV_INTERN
-@@ -1212,7 +1212,7 @@ dict_index_add_col(
- 	const dict_table_t*	table,		/*!< in: table */
- 	dict_col_t*		col,		/*!< in: column */
- 	ulint			prefix_len)	/*!< in: column prefix length */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /*******************************************************************//**
- Copies types of fields contained in index to tuple. */
-@@ -1224,7 +1224,7 @@ dict_index_copy_types(
- 	const dict_index_t*	index,		/*!< in: index */
- 	ulint			n_fields)	/*!< in: number of
- 						field types to copy */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /*********************************************************************//**
- Gets the field column.
-@@ -1234,7 +1234,7 @@ const dict_col_t*
- dict_field_get_col(
- /*===============*/
- 	const dict_field_t*	field)	/*!< in: index field */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifndef UNIV_HOTBACKUP
- /**********************************************************************//**
- Returns an index object if it is found in the dictionary cache.
-@@ -1245,7 +1245,7 @@ dict_index_t*
- dict_index_get_if_in_cache_low(
- /*===========================*/
- 	index_id_t	index_id)	/*!< in: index id */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
- /**********************************************************************//**
- Returns an index object if it is found in the dictionary cache.
-@@ -1255,7 +1255,7 @@ dict_index_t*
- dict_index_get_if_in_cache(
- /*=======================*/
- 	index_id_t	index_id)	/*!< in: index id */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #endif /* UNIV_DEBUG || UNIV_BUF_DEBUG */
- #ifdef UNIV_DEBUG
- /**********************************************************************//**
-@@ -1268,7 +1268,7 @@ dict_index_check_search_tuple(
- /*==========================*/
- 	const dict_index_t*	index,	/*!< in: index tree */
- 	const dtuple_t*		tuple)	/*!< in: tuple used in a search */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /** Whether and when to allow temporary index names */
- enum check_name {
- 	/** Require all indexes to be complete. */
-@@ -1288,7 +1288,7 @@ dict_table_check_for_dup_indexes(
- 					in this table */
- 	enum check_name		check)	/*!< in: whether and when to allow
- 					temporary index names */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* UNIV_DEBUG */
- /**********************************************************************//**
- Builds a node pointer out of a physical record and a page number.
-@@ -1306,7 +1306,7 @@ dict_index_build_node_ptr(
- 					created */
- 	ulint			level)	/*!< in: level of rec in tree:
- 					0 means leaf level */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Copies an initial segment of a physical record, long enough to specify an
- index entry uniquely.
-@@ -1322,7 +1322,7 @@ dict_index_copy_rec_order_prefix(
- 	byte**			buf,	/*!< in/out: memory buffer for the
- 					copied prefix, or NULL */
- 	ulint*			buf_size)/*!< in/out: buffer size */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Builds a typed data tuple out of a physical record.
- @return	own: data tuple */
-@@ -1334,7 +1334,7 @@ dict_index_build_data_tuple(
- 	rec_t*		rec,	/*!< in: record for which to build data tuple */
- 	ulint		n_fields,/*!< in: number of data fields */
- 	mem_heap_t*	heap)	/*!< in: memory heap where tuple created */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets the space id of the root of the index tree.
- @return	space id */
-@@ -1343,7 +1343,7 @@ ulint
- dict_index_get_space(
- /*=================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Sets the space id of the root of the index tree. */
- UNIV_INLINE
-@@ -1352,7 +1352,7 @@ dict_index_set_space(
- /*=================*/
- 	dict_index_t*	index,	/*!< in/out: index */
- 	ulint		space)	/*!< in: space id */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Gets the page number of the root of the index tree.
- @return	page number */
-@@ -1361,7 +1361,7 @@ ulint
- dict_index_get_page(
- /*================*/
- 	const dict_index_t*	tree)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Gets the read-write lock of the index tree.
- @return	read-write lock */
-@@ -1370,7 +1370,7 @@ rw_lock_t*
- dict_index_get_lock(
- /*================*/
- 	dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Returns free space reserved for future updates of records. This is
- relevant only in the case of many consecutive inserts, as updates
-@@ -1390,7 +1390,7 @@ enum online_index_status
- dict_index_get_online_status(
- /*=========================*/
- 	const dict_index_t*	index)	/*!< in: secondary index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Sets the status of online index creation. */
- UNIV_INLINE
-@@ -1399,7 +1399,7 @@ dict_index_set_online_status(
- /*=========================*/
- 	dict_index_t*			index,	/*!< in/out: index */
- 	enum online_index_status	status)	/*!< in: status */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Determines if a secondary index is being or has been created online,
- or if the table is being rebuilt online, allowing concurrent modifications
-@@ -1413,7 +1413,7 @@ bool
- dict_index_is_online_ddl(
- /*=====================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Calculates the minimum record length in an index. */
- UNIV_INTERN
-@@ -1421,7 +1421,7 @@ ulint
- dict_index_calc_min_rec_len(
- /*========================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Reserves the dictionary system mutex for MySQL. */
- UNIV_INTERN
-@@ -1485,7 +1485,7 @@ dict_tables_have_same_db(
- 				dbname '/' tablename */
- 	const char*	name2)	/*!< in: table name in the form
- 				dbname '/' tablename */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Removes an index from the cache */
- UNIV_INTERN
-@@ -1494,7 +1494,7 @@ dict_index_remove_from_cache(
- /*=========================*/
- 	dict_table_t*	table,	/*!< in/out: table */
- 	dict_index_t*	index)	/*!< in, own: index */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Get index by name
- @return	index, NULL if does not exist */
-@@ -1504,7 +1504,7 @@ dict_table_get_index_on_name(
- /*=========================*/
- 	dict_table_t*	table,	/*!< in: table */
- 	const char*	name)	/*!< in: name of the index to find */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- In case there is more than one index with the same name return the index
- with the min(id).
-@@ -1515,7 +1515,7 @@ dict_table_get_index_on_name_and_min_id(
- /*====================================*/
- 	dict_table_t*	table,	/*!< in: table */
- 	const char*	name)	/*!< in: name of the index to find */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***************************************************************
- Check whether a column exists in an FTS index. */
- UNIV_INLINE
-@@ -1526,7 +1526,7 @@ dict_table_is_fts_column(
- 				the offset within the vector */
- 	ib_vector_t*	indexes,/* in: vector containing only FTS indexes */
- 	ulint		col_no)	/* in: col number to search for */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Move a table to the non LRU end of the LRU list. */
- UNIV_INTERN
-@@ -1534,7 +1534,7 @@ void
- dict_table_move_from_lru_to_non_lru(
- /*================================*/
- 	dict_table_t*	table)	/*!< in: table to move from LRU to non-LRU */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Move a table to the LRU list from the non-LRU list. */
- UNIV_INTERN
-@@ -1542,7 +1542,7 @@ void
- dict_table_move_from_non_lru_to_lru(
- /*================================*/
- 	dict_table_t*	table)	/*!< in: table to move from non-LRU to LRU */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Move to the most recently used segment of the LRU list. */
- UNIV_INTERN
-@@ -1550,7 +1550,7 @@ void
- dict_move_to_mru(
- /*=============*/
- 	dict_table_t*	table)	/*!< in: table to move to MRU */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Maximum number of columns in a foreign key constraint. Please Note MySQL
- has a much lower limit on the number of columns allowed in a foreign key
-@@ -1674,7 +1674,7 @@ dict_table_schema_check(
- 						!= DB_TABLE_NOT_FOUND is
- 						returned */
- 	size_t			errstr_sz)	/*!< in: errstr size */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /* @} */
- 
- /*********************************************************************//**
-@@ -1692,7 +1692,7 @@ dict_fs2utf8(
- 	size_t		db_utf8_size,	/*!< in: dbname_utf8 size */
- 	char*		table_utf8,	/*!< out: table name, e.g. aюbØc */
- 	size_t		table_utf8_size)/*!< in: table_utf8 size */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Closes the data dictionary module. */
-@@ -1709,7 +1709,7 @@ ulint
- dict_table_is_corrupted(
- /*====================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /**********************************************************************//**
- Check whether the index is corrupted.
-@@ -1719,7 +1719,7 @@ ulint
- dict_index_is_corrupted(
- /*====================*/
- 	const dict_index_t*	index)	/*!< in: index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #endif /* !UNIV_HOTBACKUP */
- /**********************************************************************//**
-@@ -1732,7 +1732,7 @@ dict_set_corrupted(
- 	dict_index_t*	index,	/*!< in/out: index */
- 	trx_t*		trx,	/*!< in/out: transaction */
- 	const char*	ctx)	/*!< in: context */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Flags an index corrupted in the data dictionary cache only. This
-@@ -1744,7 +1744,7 @@ dict_set_corrupted_index_cache_only(
- /*================================*/
- 	dict_index_t*	index,		/*!< in/out: index */
- 	dict_table_t*	table)		/*!< in/out: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Flags a table with specified space_id corrupted in the table dictionary
-@@ -1764,7 +1764,7 @@ bool
- dict_tf_is_valid(
- /*=============*/
- 	ulint		flags)		/*!< in: table flags */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /********************************************************************//**
- Check if the tablespace for the table has been discarded.
-@@ -1774,7 +1774,7 @@ bool
- dict_table_is_discarded(
- /*====================*/
- 	const dict_table_t*	table)	/*!< in: table to check */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /********************************************************************//**
- Check if it is a temporary table.
-@@ -1784,7 +1784,7 @@ bool
- dict_table_is_temporary(
- /*====================*/
- 	const dict_table_t*	table)	/*!< in: table to check */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- #ifndef UNIV_HOTBACKUP
- /*********************************************************************//**
-@@ -1795,7 +1795,7 @@ void
- dict_index_zip_success(
- /*===================*/
- 	dict_index_t*	index)	/*!< in/out: index to be updated. */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- This function should be called whenever a page compression attempt
- fails. Updates the compression padding information. */
-@@ -1804,7 +1804,7 @@ void
- dict_index_zip_failure(
- /*===================*/
- 	dict_index_t*	index)	/*!< in/out: index to be updated. */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Return the optimal page size, for which page will likely compress.
- @return page size beyond which page may not compress*/
-@@ -1814,7 +1814,7 @@ dict_index_zip_pad_optimal_page_size(
- /*=================================*/
- 	dict_index_t*	index)	/*!< in: index for which page size
- 				is requested */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Convert table flag to row format string.
- @return row format name */
---- a/storage/innobase/include/dict0dict.ic
-+++ b/storage/innobase/include/dict0dict.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -357,7 +357,7 @@ UNIV_INLINE
- ulint
- dict_table_get_n_sys_cols(
- /*======================*/
--	const dict_table_t*	table __attribute__((unused)))	/*!< in: table */
-+	const dict_table_t*	table MY_ATTRIBUTE((unused)))	/*!< in: table */
- {
- 	ut_ad(table);
- 	ut_ad(table->magic_n == DICT_TABLE_MAGIC_N);
---- a/storage/innobase/include/dict0load.h
-+++ b/storage/innobase/include/dict0load.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -243,7 +243,7 @@ dict_load_foreigns(
- 	bool			check_charsets,	/*!< in: whether to check
- 						charset compatibility */
- 	dict_err_ignore_t	ignore_err)	/*!< in: error to be ignored */
--	__attribute__((nonnull(1), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1), warn_unused_result));
- /********************************************************************//**
- Prints to the standard output information on all tables found in the data
- dictionary system table. */
---- a/storage/innobase/include/dict0mem.h
-+++ b/storage/innobase/include/dict0mem.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -276,7 +276,7 @@ dict_mem_table_add_col(
- 	ulint		mtype,	/*!< in: main datatype */
- 	ulint		prtype,	/*!< in: precise type */
- 	ulint		len)	/*!< in: precision */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /**********************************************************************//**
- Renames a column of a table in the data dictionary cache. */
- UNIV_INTERN
-@@ -287,7 +287,7 @@ dict_mem_table_col_rename(
- 	unsigned	nth_col,/*!< in: column index */
- 	const char*	from,	/*!< in: old column name */
- 	const char*	to)	/*!< in: new column name */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- This function populates a dict_col_t memory structure with
- supplied information. */
---- a/storage/innobase/include/dict0stats.h
-+++ b/storage/innobase/include/dict0stats.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2009, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2009, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -77,7 +77,7 @@ dict_stats_set_persistent(
- 	dict_table_t*	table,	/*!< in/out: table */
- 	ibool		ps_on,	/*!< in: persistent stats explicitly enabled */
- 	ibool		ps_off)	/*!< in: persistent stats explicitly disabled */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*********************************************************************//**
- Check whether persistent statistics is enabled for a given table.
-@@ -87,7 +87,7 @@ ibool
- dict_stats_is_persistent_enabled(
- /*=============================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*********************************************************************//**
- Set the auto recalc flag for a given table (only honored for a persistent
-@@ -127,7 +127,7 @@ void
- dict_stats_deinit(
- /*==============*/
- 	dict_table_t*	table)	/*!< in/out: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*********************************************************************//**
- Calculates new estimates for table and index statistics. The statistics
-@@ -179,7 +179,7 @@ void
- dict_stats_update_for_index(
- /*========================*/
- 	dict_index_t*	index)	/*!< in/out: index */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*********************************************************************//**
- Renames a table in InnoDB persistent stats storage.
---- a/storage/innobase/include/dict0stats_bg.h
-+++ b/storage/innobase/include/dict0stats_bg.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2012, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -74,7 +74,7 @@ bool
- dict_stats_stop_bg(
- /*===============*/
- 	dict_table_t*	table)	/*!< in/out: table */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /*****************************************************************//**
- Wait until background stats thread has stopped using the specified table.
---- a/storage/innobase/include/dyn0dyn.h
-+++ b/storage/innobase/include/dyn0dyn.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -48,7 +48,7 @@ dyn_array_create(
- /*=============*/
- 	dyn_array_t*	arr)	/*!< in/out memory buffer of
- 				size sizeof(dyn_array_t) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /************************************************************//**
- Frees a dynamic array. */
- UNIV_INLINE
-@@ -56,7 +56,7 @@ void
- dyn_array_free(
- /*===========*/
- 	dyn_array_t*	arr)	/*!< in,own: dyn array */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Makes room on top of a dyn array and returns a pointer to a buffer in it.
- After copying the elements, the caller must close the buffer using
-@@ -69,7 +69,7 @@ dyn_array_open(
- 	dyn_array_t*	arr,	/*!< in: dynamic array */
- 	ulint		size)	/*!< in: size in bytes of the buffer; MUST be
- 				smaller than DYN_ARRAY_DATA_SIZE! */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Closes the buffer returned by dyn_array_open. */
- UNIV_INLINE
-@@ -78,7 +78,7 @@ dyn_array_close(
- /*============*/
- 	dyn_array_t*	arr,	/*!< in: dynamic array */
- 	const byte*	ptr)	/*!< in: end of used space */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Makes room on top of a dyn array and returns a pointer to
- the added element. The caller must copy the element to
-@@ -90,7 +90,7 @@ dyn_array_push(
- /*===========*/
- 	dyn_array_t*	arr,	/*!< in/out: dynamic array */
- 	ulint		size)	/*!< in: size in bytes of the element */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /************************************************************//**
- Returns pointer to an element in dyn array.
- @return	pointer to element */
-@@ -101,7 +101,7 @@ dyn_array_get_element(
- 	const dyn_array_t*	arr,	/*!< in: dyn array */
- 	ulint			pos)	/*!< in: position of element
- 					in bytes from array start */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /************************************************************//**
- Returns the size of stored data in a dyn array.
- @return	data size in bytes */
-@@ -110,7 +110,7 @@ ulint
- dyn_array_get_data_size(
- /*====================*/
- 	const dyn_array_t*	arr)	/*!< in: dyn array */
--	__attribute__((nonnull, warn_unused_result, pure));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result, pure));
- /************************************************************//**
- Gets the first block in a dyn array.
- @param arr	dyn array
-@@ -144,7 +144,7 @@ ulint
- dyn_block_get_used(
- /*===============*/
- 	const dyn_block_t*	block)	/*!< in: dyn array block */
--	__attribute__((nonnull, warn_unused_result, pure));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result, pure));
- /********************************************************************//**
- Gets pointer to the start of data in a dyn array block.
- @return	pointer to data */
-@@ -153,7 +153,7 @@ byte*
- dyn_block_get_data(
- /*===============*/
- 	const dyn_block_t*	block)	/*!< in: dyn array block */
--	__attribute__((nonnull, warn_unused_result, pure));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result, pure));
- /********************************************************//**
- Pushes n bytes to a dyn array. */
- UNIV_INLINE
-@@ -163,7 +163,7 @@ dyn_push_string(
- 	dyn_array_t*	arr,	/*!< in/out: dyn array */
- 	const byte*	str,	/*!< in: string to write */
- 	ulint		len)	/*!< in: string length */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*#################################################################*/
- 
---- a/storage/innobase/include/dyn0dyn.ic
-+++ b/storage/innobase/include/dyn0dyn.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -36,7 +36,7 @@ dyn_block_t*
- dyn_array_add_block(
- /*================*/
- 	dyn_array_t*	arr)	/*!< in/out: dyn array */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /********************************************************************//**
- Gets the number of used bytes in a dyn array block.
---- a/storage/innobase/include/fil0fil.h
-+++ b/storage/innobase/include/fil0fil.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -233,7 +233,7 @@ fil_node_create(
- 	ulint		id,	/*!< in: space id where to append */
- 	ibool		is_raw)	/*!< in: TRUE if a raw device or
- 				a raw disk partition */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifdef UNIV_LOG_ARCHIVE
- /****************************************************************//**
- Drops files from the start of a file space, so that its size is cut by
-@@ -400,7 +400,7 @@ fil_read_first_page(
- 						lsn values in data files */
- 	lsn_t*		max_flushed_lsn)	/*!< out: max of flushed
- 						lsn values in data files */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /*******************************************************************//**
- Increments the count of pending operation, if space is not being deleted.
- @return	TRUE if being deleted, and operation should be skipped */
-@@ -488,7 +488,7 @@ dberr_t
- fil_discard_tablespace(
- /*===================*/
- 	ulint	id)	/*!< in: space id */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- 
- /** Test if a tablespace file can be renamed to a new filepath by checking
-@@ -597,7 +597,7 @@ fil_create_new_single_table_tablespace(
- 	ulint		size)		/*!< in: the initial size of the
- 					tablespace file in pages,
- 					must be >= FIL_IBD_FILE_INITIAL_SIZE */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifndef UNIV_HOTBACKUP
- /********************************************************************//**
- Tries to open a single-table tablespace and optionally checks the space id is
-@@ -631,7 +631,7 @@ fil_open_single_table_tablespace(
- 	const char*	tablename,	/*!< in: table name in the
- 					databasename/tablename format */
- 	const char*	filepath)	/*!< in: tablespace filepath */
--	__attribute__((nonnull(5), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(5), warn_unused_result));
- 
- #endif /* !UNIV_HOTBACKUP */
- /********************************************************************//**
-@@ -780,7 +780,7 @@ fil_io(
- 				appropriately aligned */
- 	void*	message)	/*!< in: message for aio handler if non-sync
- 				aio used, else ignored */
--	__attribute__((nonnull(8)));
-+	MY_ATTRIBUTE((nonnull(8)));
- /**********************************************************************//**
- Waits for an aio operation to complete. This function is used to write the
- handler for completed requests. The aio array of pending requests is divided
-@@ -975,7 +975,7 @@ fil_tablespace_iterate(
- 	dict_table_t*		table,
- 	ulint			n_io_buffers,
- 	PageCallback&		callback)
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*******************************************************************//**
- Checks if a single-table tablespace for a given table name exists in the
-@@ -999,7 +999,7 @@ fil_get_space_names(
- /*================*/
- 	space_name_list_t&	space_name_list)
- 				/*!< in/out: Vector for collecting the names. */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /** Generate redo log for swapping two .ibd files
- @param[in]	old_table	old table
-@@ -1014,7 +1014,7 @@ fil_mtr_rename_log(
- 	const dict_table_t*	new_table,
- 	const char*		tmp_name,
- 	mtr_t*			mtr)
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*******************************************************************//**
- Finds the given page_no of the given space id from the double write buffer,
---- a/storage/innobase/include/fsp0fsp.h
-+++ b/storage/innobase/include/fsp0fsp.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -510,7 +510,7 @@ fseg_alloc_free_page_general(
- 				in which the page should be initialized.
- 				If init_mtr!=mtr, but the page is already
- 				latched in mtr, do not initialize the page. */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- /**********************************************************************//**
- Reserves free pages from a tablespace. All mini-transactions which may
- use several pages from the tablespace should call this function beforehand
-@@ -579,7 +579,7 @@ fseg_page_is_free(
- 	fseg_header_t*	seg_header,	/*!< in: segment header */
- 	ulint		space,		/*!< in: space id */
- 	ulint		page)		/*!< in: page offset */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************************//**
- Frees part of a segment. This function can be used to free a segment
- by repeatedly calling this function in different mini-transactions.
-@@ -675,7 +675,7 @@ bool
- fsp_flags_is_valid(
- /*===============*/
- 	ulint	flags)		/*!< in: tablespace flags */
--	__attribute__((warn_unused_result, const));
-+	MY_ATTRIBUTE((warn_unused_result, const));
- /********************************************************************//**
- Determine if the tablespace is compressed from dict_table_t::flags.
- @return	TRUE if compressed, FALSE if not compressed */
---- a/storage/innobase/include/fts0ast.h
-+++ b/storage/innobase/include/fts0ast.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2007, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -200,7 +200,7 @@ fts_ast_visit(
- 						and ignored processing an
- 						operator, currently we only
- 						ignore FTS_IGNORE operator */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*****************************************************************//**
- Process (nested) sub-expression, create a new result set to store the
- sub-expression result by processing nodes under current sub-expression
-@@ -213,7 +213,7 @@ fts_ast_visit_sub_exp(
- 	fts_ast_node_t*		node,		/*!< in: instance to traverse*/
- 	fts_ast_callback	visitor,	/*!< in: callback */
- 	void*			arg)		/*!< in: callback arg */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************
- Create a lex instance.*/
- UNIV_INTERN
-@@ -223,7 +223,7 @@ fts_lexer_create(
- 	ibool		boolean_mode,		/*!< in: query type */
- 	const byte*	query,			/*!< in: query string */
- 	ulint		query_len)		/*!< in: query string len */
--	__attribute__((nonnull, malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
- /********************************************************************
- Free an fts_lexer_t instance.*/
- UNIV_INTERN
-@@ -232,7 +232,7 @@ fts_lexer_free(
- /*===========*/
- 	fts_lexer_t*	fts_lexer)		/*!< in: lexer instance to
- 						free */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**
- Create an ast string object, with NUL-terminator, so the string
---- a/storage/innobase/include/fts0fts.h
-+++ b/storage/innobase/include/fts0fts.h
-@@ -411,7 +411,7 @@ fts_get_next_doc_id(
- /*================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	doc_id_t*		doc_id)	/*!< out: new document id */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Update the next and last Doc ID in the CONFIG table to be the input
- "doc_id" value (+ 1). We would do so after each FTS index build or
-@@ -424,7 +424,7 @@ fts_update_next_doc_id(
- 	const dict_table_t*	table,		/*!< in: table */
- 	const char*		table_name,	/*!< in: table name, or NULL */
- 	doc_id_t		doc_id)		/*!< in: DOC ID to set */
--	__attribute__((nonnull(2)));
-+	MY_ATTRIBUTE((nonnull(2)));
- 
- /******************************************************************//**
- Create a new document id .
-@@ -440,7 +440,7 @@ fts_create_doc_id(
- 						current row that is being
- 						inserted. */
- 	mem_heap_t*	heap)			/*!< in: heap */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Create a new fts_doc_ids_t.
- @return new fts_doc_ids_t. */
-@@ -469,7 +469,7 @@ fts_trx_add_op(
- 	fts_row_state	state,			/*!< in: state of the row */
- 	ib_vector_t*	fts_indexes)		/*!< in: FTS indexes affected
- 						(NULL=all) */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- /******************************************************************//**
- Free an FTS trx. */
-@@ -494,7 +494,7 @@ fts_create_common_tables(
- 						index */
- 	const char*	name,			/*!< in: table name */
- 	bool		skip_doc_id_index)	/*!< in: Skip index on doc id */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Wrapper function of fts_create_index_tables_low(), create auxiliary
- tables for an FTS index
-@@ -506,7 +506,7 @@ fts_create_index_tables(
- 	trx_t*			trx,		/*!< in: transaction handle */
- 	const dict_index_t*	index)		/*!< in: the FTS index
- 						instance */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Creates the column specific ancillary tables needed for supporting an
- FTS index on the given table. row_mysql_lock_data_dictionary must have
-@@ -522,7 +522,7 @@ fts_create_index_tables_low(
- 						instance */
- 	const char*	table_name,		/*!< in: the table name */
- 	table_id_t	table_id)		/*!< in: the table id */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Add the FTS document id hidden column. */
- UNIV_INTERN
-@@ -531,7 +531,7 @@ fts_add_doc_id_column(
- /*==================*/
- 	dict_table_t*	table,	/*!< in/out: Table with FTS index */
- 	mem_heap_t*	heap)	/*!< in: temporary memory heap, or NULL */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- 
- /*********************************************************************//**
- Drops the ancillary tables needed for supporting an FTS index on the
-@@ -545,7 +545,7 @@ fts_drop_tables(
- 	trx_t*		trx,			/*!< in: transaction */
- 	dict_table_t*	table)			/*!< in: table has the FTS
- 						index */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- The given transaction is about to be committed; do whatever is necessary
- from the FTS system's POV.
-@@ -555,7 +555,7 @@ dberr_t
- fts_commit(
- /*=======*/
- 	trx_t*		trx)			/*!< in: transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*******************************************************************//**
- FTS Query entry point.
-@@ -572,7 +572,7 @@ fts_query(
- 						in bytes */
- 	fts_result_t**	result)			/*!< out: query result, to be
- 						freed by the caller.*/
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************************//**
- Retrieve the FTS Relevance Ranking result for doc with doc_id
-@@ -690,7 +690,7 @@ dberr_t
- fts_optimize_table(
- /*===============*/
- 	dict_table_t*	table)			/*!< in: table to optimiza */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Startup the optimize thread and create the work queue. */
-@@ -716,7 +716,7 @@ fts_drop_index_tables(
- /*==================*/
- 	trx_t*		trx,			/*!< in: transaction */
- 	dict_index_t*	index)			/*!< in: Index to drop */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************************//**
- Remove the table from the OPTIMIZER's list. We do wait for
-@@ -757,7 +757,7 @@ fts_savepoint_take(
- 	trx_t*		trx,			/*!< in: transaction */
- 	fts_trx_t*	fts_trx,		/*!< in: fts transaction */
- 	const char*	name)			/*!< in: savepoint name */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Refresh last statement savepoint. */
- UNIV_INTERN
-@@ -765,7 +765,7 @@ void
- fts_savepoint_laststmt_refresh(
- /*===========================*/
- 	trx_t*		trx)			/*!< in: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Release the savepoint data identified by  name. */
- UNIV_INTERN
-@@ -834,7 +834,7 @@ fts_drop_index_split_tables(
- /*========================*/
- 	trx_t*		trx,			/*!< in: transaction */
- 	dict_index_t*	index)			/*!< in: fts instance */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /** Run SYNC on the table, i.e., write out data from the cache to the
- FTS auxiliary INDEX table and clear the cache at the end.
-@@ -1026,7 +1026,7 @@ fts_drop_index(
- 	dict_table_t*	table,	/*!< in: Table where indexes are dropped */
- 	dict_index_t*	index,	/*!< in: Index to be dropped */
- 	trx_t*		trx)	/*!< in: Transaction for the drop */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /****************************************************************//**
- Rename auxiliary tables for all fts index for a table
---- a/storage/innobase/include/fts0priv.h
-+++ b/storage/innobase/include/fts0priv.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2011, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -121,7 +121,7 @@ fts_parse_sql(
- 	fts_table_t*	fts_table,	/*!< in: FTS aux table */
- 	pars_info_t*	info,		/*!< in: info struct, or NULL */
- 	const char*	sql)		/*!< in: SQL string to evaluate */
--	__attribute__((nonnull(3), malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(3), malloc, warn_unused_result));
- /******************************************************************//**
- Evaluate a parsed SQL statement
- @return DB_SUCCESS or error code */
-@@ -131,7 +131,7 @@ fts_eval_sql(
- /*=========*/
- 	trx_t*		trx,		/*!< in: transaction */
- 	que_t*		graph)		/*!< in: Parsed statement */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Construct the name of an ancillary FTS table for the given table.
- @return own: table name, must be freed with mem_free() */
-@@ -141,7 +141,7 @@ fts_get_table_name(
- /*===============*/
- 	const fts_table_t*
- 			fts_table)	/*!< in: FTS aux table info */
--	__attribute__((nonnull, malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
- /******************************************************************//**
- Construct the column specification part of the SQL string for selecting the
- indexed FTS columns for the given table. Adds the necessary bound
-@@ -164,7 +164,7 @@ fts_get_select_columns_str(
- 	dict_index_t*	index,		/*!< in: FTS index */
- 	pars_info_t*	info,		/*!< in/out: parser info */
- 	mem_heap_t*	heap)		/*!< in: memory heap */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /** define for fts_doc_fetch_by_doc_id() "option" value, defines whether
- we want to get Doc whose ID is equal to or greater or smaller than supplied
-@@ -191,7 +191,7 @@ fts_doc_fetch_by_doc_id(
- 			callback,	/*!< in: callback to read
- 					records */
- 	void*		arg)		/*!< in: callback arg */
--	__attribute__((nonnull(6)));
-+	MY_ATTRIBUTE((nonnull(6)));
- 
- /*******************************************************************//**
- Callback function for fetch that stores the text of an FTS document,
-@@ -203,7 +203,7 @@ fts_query_expansion_fetch_doc(
- /*==========================*/
- 	void*		row,		/*!< in: sel_node_t* */
- 	void*		user_arg)	/*!< in: fts_doc_t* */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************
- Write out a single word's data as new entry/entries in the INDEX table.
- @return DB_SUCCESS if all OK. */
-@@ -216,7 +216,7 @@ fts_write_node(
- 	fts_table_t*	fts_table,	/*!< in: the FTS aux index */
- 	fts_string_t*	word,		/*!< in: word in UTF-8 */
- 	fts_node_t*	node)		/*!< in: node columns */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Tokenize a document. */
- UNIV_INTERN
-@@ -227,7 +227,7 @@ fts_tokenize_document(
- 					tokenize */
- 	fts_doc_t*	result)		/*!< out: if provided, save
- 					result tokens here */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- 
- /*******************************************************************//**
- Continue to tokenize a document. */
-@@ -241,7 +241,7 @@ fts_tokenize_document_next(
- 					tokens from this tokenization */
- 	fts_doc_t*	result)		/*!< out: if provided, save
- 					result tokens here */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /******************************************************************//**
- Initialize a document. */
- UNIV_INTERN
-@@ -249,7 +249,7 @@ void
- fts_doc_init(
- /*=========*/
- 	fts_doc_t*	doc)		/*!< in: doc to initialize */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************************//**
- Do a binary search for a doc id in the array
-@@ -263,7 +263,7 @@ fts_bsearch(
- 	int		lower,		/*!< in: lower bound of array*/
- 	int		upper,		/*!< in: upper bound of array*/
- 	doc_id_t	doc_id)		/*!< in: doc id to lookup */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Free document. */
- UNIV_INTERN
-@@ -271,7 +271,7 @@ void
- fts_doc_free(
- /*=========*/
- 	fts_doc_t*	doc)		/*!< in: document */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Free fts_optimizer_word_t instanace.*/
- UNIV_INTERN
-@@ -279,7 +279,7 @@ void
- fts_word_free(
- /*==========*/
- 	fts_word_t*	word)		/*!< in: instance to free.*/
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Read the rows from the FTS inde
- @return DB_SUCCESS or error code */
-@@ -293,7 +293,7 @@ fts_index_fetch_nodes(
- 	const fts_string_t*
- 			word,		/*!< in: the word to fetch */
- 	fts_fetch_t*	fetch)		/*!< in: fetch callback.*/
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Create a fts_optimizer_word_t instance.
- @return new instance */
-@@ -304,7 +304,7 @@ fts_word_init(
- 	fts_word_t*	word,		/*!< in: word to initialize */
- 	byte*		utf8,		/*!< in: UTF-8 string */
- 	ulint		len)		/*!< in: length of string in bytes */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Compare two fts_trx_table_t instances, we actually compare the
- table id's here.
-@@ -315,7 +315,7 @@ fts_trx_table_cmp(
- /*==============*/
- 	const void*	v1,		/*!< in: id1 */
- 	const void*	v2)		/*!< in: id2 */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Compare a table id with a trx_table_t table id.
- @return < 0 if n1 < n2, 0 if n1 == n2, > 0 if n1 > n2 */
-@@ -325,7 +325,7 @@ fts_trx_table_id_cmp(
- /*=================*/
- 	const void*	p1,		/*!< in: id1 */
- 	const void*	p2)		/*!< in: id2 */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Commit a transaction.
- @return DB_SUCCESS if all OK */
-@@ -334,7 +334,7 @@ dberr_t
- fts_sql_commit(
- /*===========*/
- 	trx_t*		trx)		/*!< in: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Rollback a transaction.
- @return DB_SUCCESS if all OK */
-@@ -343,7 +343,7 @@ dberr_t
- fts_sql_rollback(
- /*=============*/
- 	trx_t*		trx)		/*!< in: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Parse an SQL string. %s is replaced with the table's id. Don't acquire
- the dict mutex
-@@ -355,7 +355,7 @@ fts_parse_sql_no_dict_lock(
- 	fts_table_t*	fts_table,	/*!< in: table with FTS index */
- 	pars_info_t*	info,		/*!< in: parser info */
- 	const char*	sql)		/*!< in: SQL string to evaluate */
--	__attribute__((nonnull(3), malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(3), malloc, warn_unused_result));
- /******************************************************************//**
- Get value from config table. The caller must ensure that enough
- space is allocated for value to hold the column contents
-@@ -370,7 +370,7 @@ fts_config_get_value(
- 					this parameter name */
- 	fts_string_t*	value)		/*!< out: value read from
- 					config table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Get value specific to an FTS index from the config table. The caller
- must ensure that enough space is allocated for value to hold the
-@@ -386,7 +386,7 @@ fts_config_get_index_value(
- 					this parameter name */
- 	fts_string_t*	value)		/*!< out: value read from
- 					config table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Set the value in the config table for name.
- @return DB_SUCCESS or error code */
-@@ -400,7 +400,7 @@ fts_config_set_value(
- 					this parameter name */
- 	const fts_string_t*
- 			value)		/*!< in: value to update */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /****************************************************************//**
- Set an ulint value in the config table.
- @return DB_SUCCESS if all OK else error code */
-@@ -412,7 +412,7 @@ fts_config_set_ulint(
- 	fts_table_t*	fts_table,	/*!< in: the indexed FTS table */
- 	const char*	name,		/*!< in: param name */
- 	ulint		int_value)	/*!< in: value */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Set the value specific to an FTS index in the config table.
- @return DB_SUCCESS or error code */
-@@ -426,7 +426,7 @@ fts_config_set_index_value(
- 					this parameter name */
- 	fts_string_t*	value)		/*!< out: value read from
- 					config table */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Increment the value in the config table for column name.
- @return DB_SUCCESS or error code */
-@@ -439,7 +439,7 @@ fts_config_increment_value(
- 	const char*	name,		/*!< in: increment config value
- 					for this parameter name */
- 	ulint		delta)		/*!< in: increment by this much */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Increment the per index value in the config table for column name.
- @return DB_SUCCESS or error code */
-@@ -452,7 +452,7 @@ fts_config_increment_index_value(
- 	const char*	name,		/*!< in: increment config value
- 					for this parameter name */
- 	ulint		delta)		/*!< in: increment by this much */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Get an ulint value from the config table.
- @return DB_SUCCESS or error code */
-@@ -464,7 +464,7 @@ fts_config_get_index_ulint(
- 	dict_index_t*	index,		/*!< in: FTS index */
- 	const char*	name,		/*!< in: param name */
- 	ulint*		int_value)	/*!< out: value */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Set an ulint value int the config table.
- @return DB_SUCCESS or error code */
-@@ -476,7 +476,7 @@ fts_config_set_index_ulint(
- 	dict_index_t*	index,		/*!< in: FTS index */
- 	const char*	name,		/*!< in: param name */
- 	ulint		int_value)	/*!< in: value */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Get an ulint value from the config table.
- @return DB_SUCCESS or error code */
-@@ -488,7 +488,7 @@ fts_config_get_ulint(
- 	fts_table_t*	fts_table,	/*!< in: the indexed FTS table */
- 	const char*	name,		/*!< in: param name */
- 	ulint*		int_value)	/*!< out: value */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Search cache for word.
- @return the word node vector if found else NULL */
-@@ -500,7 +500,7 @@ fts_cache_find_word(
- 			index_cache,	/*!< in: cache to search */
- 	const fts_string_t*
- 			text)		/*!< in: word to search for */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Check cache for deleted doc id.
- @return TRUE if deleted */
-@@ -511,7 +511,7 @@ fts_cache_is_deleted_doc_id(
- 	const fts_cache_t*
- 			cache,		/*!< in: cache ito search */
- 	doc_id_t	doc_id)		/*!< in: doc id to search for */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Append deleted doc ids to vector and sort the vector. */
- UNIV_INTERN
-@@ -546,7 +546,7 @@ fts_get_total_word_count(
- 	trx_t*		trx,		/*!< in: transaction */
- 	dict_index_t*	index,		/*!< in: for this index */
- 	ulint*		total)		/*!< out: total words */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif
- /******************************************************************//**
- Search the index specific cache for a particular FTS index.
-@@ -559,7 +559,7 @@ fts_find_index_cache(
- 			cache,		/*!< in: cache to search */
- 	const dict_index_t*
- 			index)		/*!< in: index to search for */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Write the table id to the given buffer (including final NUL). Buffer must be
- at least FTS_AUX_MIN_TABLE_ID_LENGTH bytes long.
-@@ -570,10 +570,10 @@ fts_write_object_id(
- /*================*/
- 	ib_id_t		id,		/*!< in: a table/index id */
- 	char*		str,		/*!< in: buffer to write the id to */
--	bool		hex_format __attribute__((unused)))
-+	bool		hex_format MY_ATTRIBUTE((unused)))
- 					/*!< in: true for fixed hex format,
- 					false for old ambiguous format */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Read the table id from the string generated by fts_write_object_id().
- @return TRUE if parse successful */
-@@ -583,7 +583,7 @@ fts_read_object_id(
- /*===============*/
- 	ib_id_t*	id,		/*!< out: a table id */
- 	const char*	str)		/*!< in: buffer to read from */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Get the table id.
- @return number of bytes written */
-@@ -596,7 +596,7 @@ fts_get_table_id(
- 	char*		table_id)	/*!< out: table id, must be at least
- 					FTS_AUX_MIN_TABLE_ID_LENGTH bytes
- 					long */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Add the table to add to the OPTIMIZER's list. */
- UNIV_INTERN
-@@ -604,7 +604,7 @@ void
- fts_optimize_add_table(
- /*===================*/
- 	dict_table_t*	table)		/*!< in: table to add */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Optimize a table. */
- UNIV_INTERN
-@@ -612,7 +612,7 @@ void
- fts_optimize_do_table(
- /*==================*/
- 	dict_table_t*	table)		/*!< in: table to optimize */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Construct the prefix name of an FTS table.
- @return own: table name, must be freed with mem_free() */
-@@ -622,7 +622,7 @@ fts_get_table_name_prefix(
- /*======================*/
- 	const fts_table_t*
- 			fts_table)	/*!< in: Auxiliary table type */
--	__attribute__((nonnull, malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
- /******************************************************************//**
- Add node positions. */
- UNIV_INTERN
-@@ -633,7 +633,7 @@ fts_cache_node_add_positions(
- 	fts_node_t*	node,		/*!< in: word node */
- 	doc_id_t	doc_id,		/*!< in: doc id */
- 	ib_vector_t*	positions)	/*!< in: fts_token_t::positions */
--	__attribute__((nonnull(2,4)));
-+	MY_ATTRIBUTE((nonnull(2,4)));
- 
- /******************************************************************//**
- Create the config table name for retrieving index specific value.
-@@ -644,7 +644,7 @@ fts_config_create_index_param_name(
- /*===============================*/
- 	const char*		param,		/*!< in: base name of param */
- 	const dict_index_t*	index)		/*!< in: index for config */
--	__attribute__((nonnull, malloc, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
- 
- #ifndef UNIV_NONINL
- #include "fts0priv.ic"
---- a/storage/innobase/include/fts0priv.ic
-+++ b/storage/innobase/include/fts0priv.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2011, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -33,7 +33,7 @@ fts_write_object_id(
- /*================*/
- 	ib_id_t		id,		/* in: a table/index id */
- 	char*		str,		/* in: buffer to write the id to */
--	bool		hex_format __attribute__((unused)))
-+	bool		hex_format MY_ATTRIBUTE((unused)))
- 					/* in: true for fixed hex format,
- 					false for old ambiguous format */
- {
---- a/storage/innobase/include/ha_prototypes.h
-+++ b/storage/innobase/include/ha_prototypes.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2006, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2006, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -135,7 +135,7 @@ enum durability_properties
- thd_requested_durability(
- /*=====================*/
- 	const THD* thd)	/*!< in: thread handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************************//**
- Returns true if the transaction this thread is processing has edited
-@@ -176,7 +176,7 @@ innobase_mysql_cmp(
- 	const unsigned char* b,		/*!< in: data field */
- 	unsigned int	b_length)	/*!< in: data field length,
- 					not UNIV_SQL_NULL */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**************************************************************//**
- Converts a MySQL type to an InnoDB type. Note that this function returns
- the 'mtype' of InnoDB. InnoDB differentiates between MySQL's old <= 4.1
-@@ -192,7 +192,7 @@ get_innobase_type_from_mysql_type(
- 					and unsigned integer
- 					types are 'unsigned types' */
- 	const void*	field)		/*!< in: MySQL Field */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************************//**
- Get the variable length bounds of the given character set. */
-@@ -290,7 +290,7 @@ innobase_get_stmt(
- /*==============*/
- 	THD*	thd,		/*!< in: MySQL thread handle */
- 	size_t*	length)		/*!< out: length of the SQL statement */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- This function is used to find the storage length in bytes of the first n
- characters for prefix indexes using a multibyte character set. The function
-@@ -316,7 +316,7 @@ enum icp_result
- innobase_index_cond(
- /*================*/
- 	void*	file)	/*!< in/out: pointer to ha_innobase */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Returns true if the thread supports XA,
- global value of innodb_supports_xa if thd is NULL.
-@@ -452,7 +452,7 @@ innobase_format_name(
- 	const char*	name,		/*!< in: index or table name
- 					to format */
- 	ibool		is_index_name)	/*!< in: index name */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Corresponds to Sql_condition:enum_warning_level. */
- enum ib_log_level_t {
-@@ -482,7 +482,7 @@ ib_errf(
- 	ib_uint32_t	code,		/*!< MySQL error code */
- 	const char*	format,		/*!< printf format */
- 	...)				/*!< Args */
--	__attribute__((format(printf, 4, 5)));
-+	MY_ATTRIBUTE((format(printf, 4, 5)));
- 
- /******************************************************************//**
- Use this when the args are passed to the format string from
-@@ -513,7 +513,7 @@ ib_logf(
- 	ib_log_level_t	level,		/*!< in: warning level */
- 	const char*	format,		/*!< printf format */
- 	...)				/*!< Args */
--	__attribute__((format(printf, 2, 3)));
-+	MY_ATTRIBUTE((format(printf, 2, 3)));
- 
- /******************************************************************//**
- Returns the NUL terminated value of glob_hostname.
-@@ -559,7 +559,7 @@ innobase_next_autoinc(
- 	ulonglong	step,		/*!< in: AUTOINC increment step */
- 	ulonglong	offset,		/*!< in: AUTOINC offset */
- 	ulonglong	max_value)	/*!< in: max value for type */
--	__attribute__((pure, warn_unused_result));
-+	MY_ATTRIBUTE((pure, warn_unused_result));
- 
- /********************************************************************//**
- Get the upper limit of the MySQL integral and floating-point type.
-@@ -569,7 +569,7 @@ ulonglong
- innobase_get_int_col_max_value(
- /*===========================*/
- 	const Field*	field)	/*!< in: MySQL field */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /**********************************************************************
- Check if the length of the identifier exceeds the maximum allowed.
---- a/storage/innobase/include/handler0alter.h
-+++ b/storage/innobase/include/handler0alter.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2005, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -32,7 +32,7 @@ innobase_rec_to_mysql(
- 	const dict_index_t*	index,	/*!< in: index */
- 	const ulint*		offsets)/*!< in: rec_get_offsets(
- 					rec, index, ...) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*************************************************************//**
- Copies an InnoDB index entry to table->record[0]. */
-@@ -43,7 +43,7 @@ innobase_fields_to_mysql(
- 	struct TABLE*		table,	/*!< in/out: MySQL table */
- 	const dict_index_t*	index,	/*!< in: InnoDB index */
- 	const dfield_t*		fields)	/*!< in: InnoDB index fields */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*************************************************************//**
- Copies an InnoDB row to table->record[0]. */
-@@ -54,7 +54,7 @@ innobase_row_to_mysql(
- 	struct TABLE*		table,	/*!< in/out: MySQL table */
- 	const dict_table_t*	itab,	/*!< in: InnoDB table */
- 	const dtuple_t*		row)	/*!< in: InnoDB row */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*************************************************************//**
- Resets table->record[0]. */
-@@ -63,7 +63,7 @@ void
- innobase_rec_reset(
- /*===============*/
- 	struct TABLE*		table)		/*!< in/out: MySQL table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Generate the next autoinc based on a snapshot of the session
- auto_increment_increment and auto_increment_offset variables. */
---- a/storage/innobase/include/ibuf0ibuf.h
-+++ b/storage/innobase/include/ibuf0ibuf.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -118,7 +118,7 @@ void
- ibuf_mtr_start(
- /*===========*/
- 	mtr_t*	mtr)	/*!< out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***************************************************************//**
- Commits an insert buffer mini-transaction. */
- UNIV_INLINE
-@@ -126,7 +126,7 @@ void
- ibuf_mtr_commit(
- /*============*/
- 	mtr_t*	mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Initializes an ibuf bitmap page. */
- UNIV_INTERN
-@@ -252,7 +252,7 @@ ibool
- ibuf_inside(
- /*========*/
- 	const mtr_t*	mtr)	/*!< in: mini-transaction */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /***********************************************************************//**
- Checks if a page address is an ibuf bitmap page (level 3 page) address.
- @return	TRUE if a bitmap page */
-@@ -285,7 +285,7 @@ ibuf_page_low(
- 				is not one of the fixed address ibuf
- 				pages, or NULL, in which case a new
- 				transaction is created. */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #ifdef UNIV_DEBUG
- /** Checks if a page is a level 2 or 3 page in the ibuf hierarchy of
- pages.  Must not be called when recv_no_ibuf_operations==TRUE.
-@@ -445,7 +445,7 @@ ibuf_check_bitmap_on_import(
- /*========================*/
- 	const trx_t*	trx,		/*!< in: transaction */
- 	ulint		space_id)	/*!< in: tablespace identifier */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #define IBUF_HEADER_PAGE_NO	FSP_IBUF_HEADER_PAGE_NO
- #define IBUF_TREE_ROOT_PAGE_NO	FSP_IBUF_TREE_ROOT_PAGE_NO
---- a/storage/innobase/include/lock0lock.h
-+++ b/storage/innobase/include/lock0lock.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -266,7 +266,7 @@ lock_rec_expl_exist_on_page(
- /*========================*/
- 	ulint	space,	/*!< in: space id */
- 	ulint	page_no)/*!< in: page number */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /*********************************************************************//**
- Checks if locks of other transactions prevent an immediate insert of
- a record. If they do, first tests if the query thread should anyway
-@@ -289,7 +289,7 @@ lock_rec_insert_check_and_lock(
- 				inserted record maybe should inherit
- 				LOCK_GAP type locks from the successor
- 				record */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Checks if locks of other transactions prevent an immediate modify (update,
- delete mark, or delete unmark) of a clustered index record. If they do,
-@@ -310,7 +310,7 @@ lock_clust_rec_modify_check_and_lock(
- 	dict_index_t*		index,	/*!< in: clustered index */
- 	const ulint*		offsets,/*!< in: rec_get_offsets(rec, index) */
- 	que_thr_t*		thr)	/*!< in: query thread */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- /*********************************************************************//**
- Checks if locks of other transactions prevent an immediate modify
- (delete mark or delete unmark) of a secondary index record.
-@@ -331,7 +331,7 @@ lock_sec_rec_modify_check_and_lock(
- 	que_thr_t*	thr,	/*!< in: query thread
- 				(can be NULL if BTR_NO_LOCKING_FLAG) */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((warn_unused_result, nonnull(2,3,4,6)));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull(2,3,4,6)));
- /*********************************************************************//**
- Like lock_clust_rec_read_check_and_lock(), but reads a
- secondary index record.
-@@ -418,7 +418,7 @@ lock_clust_rec_read_check_and_lock_alt(
- 	ulint			gap_mode,/*!< in: LOCK_ORDINARY, LOCK_GAP, or
- 					LOCK_REC_NOT_GAP */
- 	que_thr_t*		thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Checks that a record is seen in a consistent read.
- @return true if sees, or false if an earlier version of the record
-@@ -450,7 +450,7 @@ lock_sec_rec_cons_read_sees(
- 					should be read or passed over
- 					by a read cursor */
- 	const read_view_t*	view)	/*!< in: consistent read view */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Locks the specified database table in the mode given. If the lock cannot
- be granted immediately, the query thread is put to wait.
-@@ -465,7 +465,7 @@ lock_table(
- 				in dictionary cache */
- 	enum lock_mode	mode,	/*!< in: lock mode */
- 	que_thr_t*	thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Creates a table IX lock object for a resurrected transaction. */
- UNIV_INTERN
-@@ -520,7 +520,7 @@ lock_rec_fold(
- /*==========*/
- 	ulint	space,	/*!< in: space */
- 	ulint	page_no)/*!< in: page number */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /*********************************************************************//**
- Calculates the hash value of a page file address: used in inserting or
- searching for a lock in the hash table.
-@@ -570,7 +570,7 @@ lock_is_table_exclusive(
- /*====================*/
- 	const dict_table_t*	table,	/*!< in: table */
- 	const trx_t*		trx)	/*!< in: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Checks if a lock request lock1 has to wait for request lock2.
- @return	TRUE if lock1 has to wait for lock2 to be removed */
-@@ -594,7 +594,7 @@ lock_report_trx_id_insanity(
- 	dict_index_t*	index,		/*!< in: index */
- 	const ulint*	offsets,	/*!< in: rec_get_offsets(rec, index) */
- 	trx_id_t	max_trx_id)	/*!< in: trx_sys_get_max_trx_id() */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Prints info of a table lock. */
- UNIV_INTERN
-@@ -621,7 +621,7 @@ lock_print_info_summary(
- /*====================*/
- 	FILE*	file,	/*!< in: file where to print */
- 	ibool   nowait)	/*!< in: whether to wait for the lock mutex */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Prints info of locks for each transaction. This function assumes that the
- caller holds the lock mutex and more importantly it will release the lock
-@@ -641,7 +641,7 @@ ulint
- lock_number_of_rows_locked(
- /*=======================*/
- 	const trx_lock_t*	trx_lock)	/*!< in: transaction locks */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*******************************************************************//**
- Gets the type of a lock. Non-inline version for using outside of the
-@@ -799,7 +799,7 @@ dberr_t
- lock_trx_handle_wait(
- /*=================*/
- 	trx_t*	trx)	/*!< in/out: trx lock state */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Get the number of locks on a table.
- @return number of locks */
-@@ -808,7 +808,7 @@ ulint
- lock_table_get_n_locks(
- /*===================*/
- 	const dict_table_t*	table)	/*!< in: table */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- /*********************************************************************//**
- Checks that a transaction id is sensible, i.e., not in the future.
-@@ -821,7 +821,7 @@ lock_check_trx_id_sanity(
- 	const rec_t*	rec,		/*!< in: user record */
- 	dict_index_t*	index,		/*!< in: index */
- 	const ulint*	offsets)	/*!< in: rec_get_offsets(rec, index) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Check if the transaction holds any locks on the sys tables
- or its records.
-@@ -831,7 +831,7 @@ const lock_t*
- lock_trx_has_sys_table_locks(
- /*=========================*/
- 	const trx_t*	trx)	/*!< in: transaction to check */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /*******************************************************************//**
- Check if the transaction holds an exclusive lock on a record.
-@@ -844,7 +844,7 @@ lock_trx_has_rec_x_lock(
- 	const dict_table_t*	table,	/*!< in: table to check */
- 	const buf_block_t*	block,	/*!< in: buffer block of the record */
- 	ulint			heap_no)/*!< in: record heap number */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- 
- /** Lock modes and types */
---- a/storage/innobase/include/lock0priv.h
-+++ b/storage/innobase/include/lock0priv.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2007, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2007, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -117,7 +117,7 @@ lock_clust_rec_some_has_impl(
- 	const rec_t*		rec,	/*!< in: user record */
- 	const dict_index_t*	index,	/*!< in: clustered index */
- 	const ulint*		offsets)/*!< in: rec_get_offsets(rec, index) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #ifndef UNIV_NONINL
- #include "lock0priv.ic"
---- a/storage/innobase/include/log0recv.h
-+++ b/storage/innobase/include/log0recv.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -51,7 +51,7 @@ recv_read_checkpoint_info_for_backup(
- 	lsn_t*		first_header_lsn)
- 				/*!< out: lsn of of the start of the
- 				first log file */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*******************************************************************//**
- Scans the log segment and n_bytes_scanned is set to the length of valid
- log scanned. */
---- a/storage/innobase/include/mach0data.h
-+++ b/storage/innobase/include/mach0data.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -53,7 +53,7 @@ ulint
- mach_read_from_1(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to byte */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*******************************************************//**
- The following function is used to store data in two consecutive
- bytes. We store the most significant byte to the lower address. */
-@@ -72,7 +72,7 @@ ulint
- mach_read_from_2(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to two bytes */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- 
- /********************************************************//**
- The following function is used to convert a 16-bit data item
-@@ -84,7 +84,7 @@ uint16
- mach_encode_2(
- /*==========*/
- 	ulint	n)	/*!< in: integer in machine-dependent format */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /********************************************************//**
- The following function is used to convert a 16-bit data item
- from the canonical format, for fast bytewise equality test
-@@ -95,7 +95,7 @@ ulint
- mach_decode_2(
- /*==========*/
- 	uint16	n)	/*!< in: 16-bit integer in canonical format */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /*******************************************************//**
- The following function is used to store data in 3 consecutive
- bytes. We store the most significant byte to the lowest address. */
-@@ -114,7 +114,7 @@ ulint
- mach_read_from_3(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to 3 bytes */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*******************************************************//**
- The following function is used to store data in four consecutive
- bytes. We store the most significant byte to the lowest address. */
-@@ -133,7 +133,7 @@ ulint
- mach_read_from_4(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to four bytes */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a ulint in a compressed form (1..5 bytes).
- @return	stored size in bytes */
-@@ -151,7 +151,7 @@ ulint
- mach_get_compressed_size(
- /*=====================*/
- 	ulint	n)	/*!< in: ulint integer to be stored */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /*********************************************************//**
- Reads a ulint in a compressed form.
- @return	read integer */
-@@ -160,7 +160,7 @@ ulint
- mach_read_compressed(
- /*=================*/
- 	const byte*	b)	/*!< in: pointer to memory from where to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*******************************************************//**
- The following function is used to store data in 6 consecutive
- bytes. We store the most significant byte to the lowest address. */
-@@ -179,7 +179,7 @@ ib_uint64_t
- mach_read_from_6(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to 6 bytes */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*******************************************************//**
- The following function is used to store data in 7 consecutive
- bytes. We store the most significant byte to the lowest address. */
-@@ -198,7 +198,7 @@ ib_uint64_t
- mach_read_from_7(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to 7 bytes */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*******************************************************//**
- The following function is used to store data in 8 consecutive
- bytes. We store the most significant byte to the lowest address. */
-@@ -217,7 +217,7 @@ ib_uint64_t
- mach_read_from_8(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to 8 bytes */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a 64-bit integer in a compressed form (5..9 bytes).
- @return	size in bytes */
-@@ -243,7 +243,7 @@ ib_uint64_t
- mach_ull_read_compressed(
- /*=====================*/
- 	const byte*	b)	/*!< in: pointer to memory from where to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a 64-bit integer in a compressed form (1..11 bytes).
- @return	size in bytes */
-@@ -261,7 +261,7 @@ ulint
- mach_ull_get_much_compressed_size(
- /*==============================*/
- 	ib_uint64_t	n)	/*!< in: 64-bit integer to be stored */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /*********************************************************//**
- Reads a 64-bit integer in a compressed form.
- @return	the value read */
-@@ -270,7 +270,7 @@ ib_uint64_t
- mach_ull_read_much_compressed(
- /*==========================*/
- 	const byte*	b)	/*!< in: pointer to memory from where to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Reads a ulint in a compressed form if the log record fully contains it.
- @return	pointer to end of the stored field, NULL if not complete */
-@@ -301,7 +301,7 @@ double
- mach_double_read(
- /*=============*/
- 	const byte*	b)	/*!< in: pointer to memory from where to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a double. It is stored in a little-endian format. */
- UNIV_INLINE
-@@ -318,7 +318,7 @@ float
- mach_float_read(
- /*============*/
- 	const byte*	b)	/*!< in: pointer to memory from where to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a float. It is stored in a little-endian format. */
- UNIV_INLINE
-@@ -336,7 +336,7 @@ mach_read_from_n_little_endian(
- /*===========================*/
- 	const byte*	buf,		/*!< in: from where to read */
- 	ulint		buf_size)	/*!< in: from how many bytes to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a ulint in the little-endian format. */
- UNIV_INLINE
-@@ -354,7 +354,7 @@ ulint
- mach_read_from_2_little_endian(
- /*===========================*/
- 	const byte*	buf)		/*!< in: from where to read */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************//**
- Writes a ulint in the little-endian format. */
- UNIV_INLINE
---- a/storage/innobase/include/mem0mem.h
-+++ b/storage/innobase/include/mem0mem.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2010, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -353,7 +353,7 @@ mem_heap_printf(
- /*============*/
- 	mem_heap_t*	heap,	/*!< in: memory heap */
- 	const char*	format,	/*!< in: format string */
--	...) __attribute__ ((format (printf, 2, 3)));
-+	...) MY_ATTRIBUTE ((format (printf, 2, 3)));
- 
- #ifdef MEM_PERIODIC_CHECK
- /******************************************************************//**
---- a/storage/innobase/include/mem0mem.ic
-+++ b/storage/innobase/include/mem0mem.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2010, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -476,9 +476,9 @@ void
- mem_heap_free_func(
- /*===============*/
- 	mem_heap_t*	heap,		/*!< in, own: heap to be freed */
--	const char*	file_name __attribute__((unused)),
-+	const char*	file_name MY_ATTRIBUTE((unused)),
- 					/*!< in: file name where freed */
--	ulint		line  __attribute__((unused)))
-+	ulint		line  MY_ATTRIBUTE((unused)))
- {
- 	mem_block_t*	block;
- 	mem_block_t*	prev_block;
---- a/storage/innobase/include/mtr0mtr.h
-+++ b/storage/innobase/include/mtr0mtr.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -207,7 +207,7 @@ void
- mtr_start(
- /*======*/
- 	mtr_t*	mtr)	/*!< out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***************************************************************//**
- Commits a mini-transaction. */
- UNIV_INTERN
-@@ -215,7 +215,7 @@ void
- mtr_commit(
- /*=======*/
- 	mtr_t*	mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************//**
- Sets and returns a savepoint in mtr.
- @return	savepoint */
-@@ -308,7 +308,7 @@ mtr_memo_release(
- 	mtr_t*	mtr,	/*!< in/out: mini-transaction */
- 	void*	object,	/*!< in: object */
- 	ulint	type)	/*!< in: object type: MTR_MEMO_S_LOCK, ... */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- # ifndef UNIV_HOTBACKUP
- /**********************************************************//**
-@@ -321,7 +321,7 @@ mtr_memo_contains(
- 	mtr_t*		mtr,	/*!< in: mtr */
- 	const void*	object,	/*!< in: object to search */
- 	ulint		type)	/*!< in: type of object */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- 
- /**********************************************************//**
- Checks if memo contains the given page.
---- a/storage/innobase/include/mtr0mtr.ic
-+++ b/storage/innobase/include/mtr0mtr.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -37,7 +37,7 @@ ibool
- mtr_block_dirtied(
- /*==============*/
- 	const buf_block_t*	block)	/*!< in: block being x-fixed */
--	__attribute__((nonnull,warn_unused_result));
-+	MY_ATTRIBUTE((nonnull,warn_unused_result));
- 
- /***************************************************************//**
- Starts a mini-transaction. */
---- a/storage/innobase/include/os0file.h
-+++ b/storage/innobase/include/os0file.h
-@@ -1,6 +1,6 @@
- /***********************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2009, Percona Inc.
- 
- Portions of this file contain modifications contributed and copyrighted
-@@ -529,7 +529,7 @@ os_file_create_simple_no_error_handling_func(
- 				OS_FILE_READ_ALLOW_DELETE; the last option is
- 				used by a backup program reading the file */
- 	ibool*		success)/*!< out: TRUE if succeed, FALSE if error */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /****************************************************************//**
- Tries to disable OS caching on an opened file descriptor. */
- UNIV_INTERN
-@@ -563,7 +563,7 @@ os_file_create_func(
- 				function source code for the exact rules */
- 	ulint		type,	/*!< in: OS_DATA_FILE or OS_LOG_FILE */
- 	ibool*		success)/*!< out: TRUE if succeed, FALSE if error */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************************//**
- Deletes a file. The file has to be closed before calling this.
- @return	TRUE if success */
-@@ -629,7 +629,7 @@ pfs_os_file_create_simple_func(
- 	ibool*		success,/*!< out: TRUE if succeed, FALSE if error */
- 	const char*	src_file,/*!< in: file name where func invoked */
- 	ulint		src_line)/*!< in: line where the func invoked */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /****************************************************************//**
- NOTE! Please use the corresponding macro
-@@ -654,7 +654,7 @@ pfs_os_file_create_simple_no_error_handling_func(
- 	ibool*		success,/*!< out: TRUE if succeed, FALSE if error */
- 	const char*	src_file,/*!< in: file name where func invoked */
- 	ulint		src_line)/*!< in: line where the func invoked */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /****************************************************************//**
- NOTE! Please use the corresponding macro os_file_create(), not directly
-@@ -682,7 +682,7 @@ pfs_os_file_create_func(
- 	ibool*		success,/*!< out: TRUE if succeed, FALSE if error */
- 	const char*	src_file,/*!< in: file name where func invoked */
- 	ulint		src_line)/*!< in: line where the func invoked */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /***********************************************************************//**
- NOTE! Please use the corresponding macro os_file_close(), not directly
-@@ -861,7 +861,7 @@ os_offset_t
- os_file_get_size(
- /*=============*/
- 	os_file_t	file)	/*!< in: handle to a file */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /***********************************************************************//**
- Write the specified number of zeros to a newly created file.
- @return	TRUE if success */
-@@ -873,7 +873,7 @@ os_file_set_size(
- 				null-terminated string */
- 	os_file_t	file,	/*!< in: handle to a file */
- 	os_offset_t	size)	/*!< in: file size */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************************//**
- Truncates a file at its current position.
- @return	TRUE if success */
---- a/storage/innobase/include/os0thread.h
-+++ b/storage/innobase/include/os0thread.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -125,7 +125,7 @@ os_thread_exit(
- /*===========*/
- 	void*	exit_value)	/*!< in: exit value; in Windows this void*
- 				is cast as a DWORD */
--	UNIV_COLD __attribute__((noreturn));
-+	UNIV_COLD MY_ATTRIBUTE((noreturn));
- /*****************************************************************//**
- Returns the thread identifier of current thread.
- @return	current thread identifier */
---- a/storage/innobase/include/page0cur.h
-+++ b/storage/innobase/include/page0cur.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -180,7 +180,7 @@ page_cur_tuple_insert(
- 	mem_heap_t**	heap,	/*!< in/out: pointer to memory heap, or NULL */
- 	ulint		n_ext,	/*!< in: number of externally stored columns */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle, or NULL */
--	__attribute__((nonnull(1,2,3,4,5), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4,5), warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- /***********************************************************//**
- Inserts a record next to page cursor. Returns pointer to inserted record if
-@@ -218,7 +218,7 @@ page_cur_insert_rec_low(
- 	const rec_t*	rec,	/*!< in: pointer to a physical record */
- 	ulint*		offsets,/*!< in/out: rec_get_offsets(rec, index) */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle, or NULL */
--	__attribute__((nonnull(1,2,3,4), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4), warn_unused_result));
- /***********************************************************//**
- Inserts a record next to page cursor on a compressed and uncompressed
- page. Returns pointer to inserted record if succeed, i.e.,
-@@ -240,7 +240,7 @@ page_cur_insert_rec_zip(
- 	const rec_t*	rec,	/*!< in: pointer to a physical record */
- 	ulint*		offsets,/*!< in/out: rec_get_offsets(rec, index) */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle, or NULL */
--	__attribute__((nonnull(1,2,3,4), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4), warn_unused_result));
- /*************************************************************//**
- Copies records from page to a newly created page, from a given record onward,
- including that record. Infimum and supremum records are not copied.
---- a/storage/innobase/include/page0page.h
-+++ b/storage/innobase/include/page0page.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -165,7 +165,7 @@ page_t*
- page_align(
- /*=======*/
- 	const void*	ptr)	/*!< in: pointer to page frame */
--		__attribute__((const));
-+		MY_ATTRIBUTE((const));
- /************************************************************//**
- Gets the offset within a page.
- @return	offset from the start of the page */
-@@ -174,7 +174,7 @@ ulint
- page_offset(
- /*========*/
- 	const void*	ptr)	/*!< in: pointer to page frame */
--		__attribute__((const));
-+		MY_ATTRIBUTE((const));
- /*************************************************************//**
- Returns the max trx id field value. */
- UNIV_INLINE
-@@ -232,7 +232,7 @@ page_header_get_offs(
- /*=================*/
- 	const page_t*	page,	/*!< in: page */
- 	ulint		field)	/*!< in: PAGE_FREE, ... */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- 
- /*************************************************************//**
- Returns the pointer stored in the given header field, or NULL. */
-@@ -292,7 +292,7 @@ page_rec_get_nth_const(
- /*===================*/
- 	const page_t*	page,	/*!< in: page */
- 	ulint		nth)	/*!< in: nth record */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /************************************************************//**
- Returns the nth record of the record list.
- This is the inverse function of page_rec_get_n_recs_before().
-@@ -303,7 +303,7 @@ page_rec_get_nth(
- /*=============*/
- 	page_t*	page,	/*< in: page */
- 	ulint	nth)	/*!< in: nth record */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #ifndef UNIV_HOTBACKUP
- /************************************************************//**
-@@ -316,7 +316,7 @@ rec_t*
- page_get_middle_rec(
- /*================*/
- 	page_t*	page)	/*!< in: page */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*************************************************************//**
- Compares a data tuple to a physical record. Differs from the function
- cmp_dtuple_rec_with_match in the way that the record must reside on an
-@@ -524,7 +524,7 @@ bool
- page_is_leaf(
- /*=========*/
- 	const page_t*	page)	/*!< in: page */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /************************************************************//**
- Determine whether the page is empty.
- @return	true if the page is empty (PAGE_N_RECS = 0) */
-@@ -533,7 +533,7 @@ bool
- page_is_empty(
- /*==========*/
- 	const page_t*	page)	/*!< in: page */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /************************************************************//**
- Determine whether the page contains garbage.
- @return	true if the page contains garbage (PAGE_GARBAGE is not 0) */
-@@ -542,7 +542,7 @@ bool
- page_has_garbage(
- /*=============*/
- 	const page_t*	page)	/*!< in: page */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /************************************************************//**
- Gets the pointer to the next record on the page.
- @return	pointer to next record */
-@@ -614,7 +614,7 @@ ibool
- page_rec_is_user_rec_low(
- /*=====================*/
- 	ulint	offset)	/*!< in: record offset on page */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /************************************************************//**
- TRUE if the record is the supremum record on a page.
- @return	TRUE if the supremum record */
-@@ -623,7 +623,7 @@ ibool
- page_rec_is_supremum_low(
- /*=====================*/
- 	ulint	offset)	/*!< in: record offset on page */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /************************************************************//**
- TRUE if the record is the infimum record on a page.
- @return	TRUE if the infimum record */
-@@ -632,7 +632,7 @@ ibool
- page_rec_is_infimum_low(
- /*====================*/
- 	ulint	offset)	/*!< in: record offset on page */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- /************************************************************//**
- TRUE if the record is a user record on the page.
-@@ -642,7 +642,7 @@ ibool
- page_rec_is_user_rec(
- /*=================*/
- 	const rec_t*	rec)	/*!< in: record */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /************************************************************//**
- TRUE if the record is the supremum record on a page.
- @return	TRUE if the supremum record */
-@@ -651,7 +651,7 @@ ibool
- page_rec_is_supremum(
- /*=================*/
- 	const rec_t*	rec)	/*!< in: record */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- /************************************************************//**
- TRUE if the record is the infimum record on a page.
-@@ -661,7 +661,7 @@ ibool
- page_rec_is_infimum(
- /*================*/
- 	const rec_t*	rec)	/*!< in: record */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /***************************************************************//**
- Looks for the record which owns the given record.
- @return	the owner record */
-@@ -681,7 +681,7 @@ page_rec_write_field(
- 	ulint	i,	/*!< in: index of the field to update */
- 	ulint	val,	/*!< in: value to write */
- 	mtr_t*	mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /************************************************************//**
- Returns the maximum combined size of records which can be inserted on top
-@@ -711,7 +711,7 @@ ulint
- page_get_free_space_of_empty(
- /*=========================*/
- 	ulint	comp)	/*!< in: nonzero=compact page format */
--		__attribute__((const));
-+		MY_ATTRIBUTE((const));
- /**********************************************************//**
- Returns the base extra size of a physical record.  This is the
- size of the fixed header, independent of the record size.
-@@ -797,7 +797,7 @@ page_create_zip(
- 	ulint		level,		/*!< in: the B-tree level of the page */
- 	trx_id_t	max_trx_id,	/*!< in: PAGE_MAX_TRX_ID */
- 	mtr_t*		mtr)		/*!< in/out: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************//**
- Empty a previously created B-tree index page. */
- UNIV_INTERN
-@@ -807,7 +807,7 @@ page_create_empty(
- 	buf_block_t*	block,	/*!< in/out: B-tree block */
- 	dict_index_t*	index,	/*!< in: the index of the page */
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- /*************************************************************//**
- Differs from page_copy_rec_list_end, because this function does not
- touch the lock table and max trx id on page or compress the page.
-@@ -846,7 +846,7 @@ page_copy_rec_list_end(
- 	rec_t*		rec,		/*!< in: record on page */
- 	dict_index_t*	index,		/*!< in: record descriptor */
- 	mtr_t*		mtr)		/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Copies records from page to new_page, up to the given record, NOT
- including that record. Infimum and supremum records are not copied.
-@@ -868,7 +868,7 @@ page_copy_rec_list_start(
- 	rec_t*		rec,		/*!< in: record on page */
- 	dict_index_t*	index,		/*!< in: record descriptor */
- 	mtr_t*		mtr)		/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Deletes records from a page from a given record onward, including that record.
- The infimum and supremum records are not deleted. */
-@@ -885,7 +885,7 @@ page_delete_rec_list_end(
- 				records in the end of the chain to
- 				delete, or ULINT_UNDEFINED if not known */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Deletes records from page, up to the given record, NOT including
- that record. Infimum and supremum records are not deleted. */
-@@ -897,7 +897,7 @@ page_delete_rec_list_start(
- 	buf_block_t*	block,	/*!< in: buffer block of the page */
- 	dict_index_t*	index,	/*!< in: record descriptor */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*************************************************************//**
- Moves record list end to another page. Moved records include
- split_rec.
-@@ -918,7 +918,7 @@ page_move_rec_list_end(
- 	rec_t*		split_rec,	/*!< in: first record to move */
- 	dict_index_t*	index,		/*!< in: record descriptor */
- 	mtr_t*		mtr)		/*!< in: mtr */
--	__attribute__((nonnull(1, 2, 4, 5)));
-+	MY_ATTRIBUTE((nonnull(1, 2, 4, 5)));
- /*************************************************************//**
- Moves record list start to another page. Moved records do not include
- split_rec.
-@@ -938,7 +938,7 @@ page_move_rec_list_start(
- 	rec_t*		split_rec,	/*!< in: first record not to move */
- 	dict_index_t*	index,		/*!< in: record descriptor */
- 	mtr_t*		mtr)		/*!< in: mtr */
--	__attribute__((nonnull(1, 2, 4, 5)));
-+	MY_ATTRIBUTE((nonnull(1, 2, 4, 5)));
- /****************************************************************//**
- Splits a directory slot which owns too many records. */
- UNIV_INTERN
-@@ -949,7 +949,7 @@ page_dir_split_slot(
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page whose
- 				uncompressed part will be written, or NULL */
- 	ulint		slot_no)/*!< in: the directory slot */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /*************************************************************//**
- Tries to balance the given directory slot with too few records
- with the upper neighbor, so that there are at least the minimum number
-@@ -962,7 +962,7 @@ page_dir_balance_slot(
- 	page_t*		page,	/*!< in/out: index page */
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page, or NULL */
- 	ulint		slot_no)/*!< in: the directory slot */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /**********************************************************//**
- Parses a log record of a record list end or start deletion.
- @return	end of log record or NULL */
---- a/storage/innobase/include/page0types.h
-+++ b/storage/innobase/include/page0types.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -129,7 +129,7 @@ page_zip_rec_set_deleted(
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page */
- 	const byte*	rec,	/*!< in: record on the uncompressed page */
- 	ulint		flag)	/*!< in: the deleted flag (nonzero=TRUE) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Write the "owned" flag of a record on a compressed page.  The n_owned field
-@@ -141,7 +141,7 @@ page_zip_rec_set_owned(
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page */
- 	const byte*	rec,	/*!< in: record on the uncompressed page */
- 	ulint		flag)	/*!< in: the owned flag (nonzero=TRUE) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Shift the dense page directory when a record is deleted. */
-@@ -154,7 +154,7 @@ page_zip_dir_delete(
- 	dict_index_t*	index,	/*!< in: index of rec */
- 	const ulint*	offsets,/*!< in: rec_get_offsets(rec) */
- 	const byte*	free)	/*!< in: previous start of the free list */
--	__attribute__((nonnull(1,2,3,4)));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4)));
- 
- /**********************************************************************//**
- Add a slot to the dense page directory. */
-@@ -165,5 +165,5 @@ page_zip_dir_add_slot(
- 	page_zip_des_t*	page_zip,	/*!< in/out: compressed page */
- 	ulint		is_clustered)	/*!< in: nonzero for clustered index,
- 					zero for others */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif
---- a/storage/innobase/include/page0zip.h
-+++ b/storage/innobase/include/page0zip.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2005, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -58,7 +58,7 @@ ulint
- page_zip_get_size(
- /*==============*/
- 	const page_zip_des_t*	page_zip)	/*!< in: compressed page */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /**********************************************************************//**
- Set the size of a compressed page in bytes. */
- UNIV_INLINE
-@@ -81,7 +81,7 @@ page_zip_rec_needs_ext(
- 	ulint	n_fields,	/*!< in: number of fields in the record;
- 				ignored if zip_size == 0 */
- 	ulint	zip_size)	/*!< in: compressed page size in bytes, or 0 */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- /**********************************************************************//**
- Determine the guaranteed free space on an empty page.
-@@ -92,7 +92,7 @@ page_zip_empty_size(
- /*================*/
- 	ulint	n_fields,	/*!< in: number of columns in the index */
- 	ulint	zip_size)	/*!< in: compressed page size in bytes */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- #endif /* !UNIV_HOTBACKUP */
- 
- /**********************************************************************//**
-@@ -127,7 +127,7 @@ page_zip_compress(
- 	dict_index_t*	index,	/*!< in: index of the B-tree node */
- 	ulint		level,	/*!< in: compression level */
- 	mtr_t*		mtr)	/*!< in: mini-transaction, or NULL */
--	__attribute__((nonnull(1,2,3)));
-+	MY_ATTRIBUTE((nonnull(1,2,3)));
- 
- /**********************************************************************//**
- Decompress a page.  This function should tolerate errors on the compressed
-@@ -145,7 +145,7 @@ page_zip_decompress(
- 				FALSE=verify but do not copy some
- 				page header fields that should not change
- 				after page creation */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- #ifdef UNIV_DEBUG
- /**********************************************************************//**
-@@ -172,7 +172,7 @@ page_zip_validate_low(
- 	const dict_index_t*	index,	/*!< in: index of the page, if known */
- 	ibool			sloppy)	/*!< in: FALSE=strict,
- 					TRUE=ignore the MIN_REC_FLAG */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- /**********************************************************************//**
- Check that the compressed and decompressed pages match. */
- UNIV_INTERN
-@@ -182,7 +182,7 @@ page_zip_validate(
- 	const page_zip_des_t*	page_zip,/*!< in: compressed page */
- 	const page_t*		page,	/*!< in: uncompressed page */
- 	const dict_index_t*	index)	/*!< in: index of the page, if known */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- #endif /* UNIV_ZIP_DEBUG */
- 
- /**********************************************************************//**
-@@ -195,7 +195,7 @@ page_zip_max_ins_size(
- /*==================*/
- 	const page_zip_des_t*	page_zip,/*!< in: compressed page */
- 	ibool			is_clust)/*!< in: TRUE if clustered index */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- 
- /**********************************************************************//**
- Determine if enough space is available in the modification log.
-@@ -209,7 +209,7 @@ page_zip_available(
- 	ulint			length,	/*!< in: combined size of the record */
- 	ulint			create)	/*!< in: nonzero=add the record to
- 					the heap */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- 
- /**********************************************************************//**
- Write data to the uncompressed header portion of a page.  The data must
-@@ -222,7 +222,7 @@ page_zip_write_header(
- 	const byte*	str,	/*!< in: address on the uncompressed page */
- 	ulint		length,	/*!< in: length of the data */
- 	mtr_t*		mtr)	/*!< in: mini-transaction, or NULL */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- /**********************************************************************//**
- Write an entire record on the compressed page.  The data must already
-@@ -236,7 +236,7 @@ page_zip_write_rec(
- 	dict_index_t*	index,	/*!< in: the index the record belongs to */
- 	const ulint*	offsets,/*!< in: rec_get_offsets(rec, index) */
- 	ulint		create)	/*!< in: nonzero=insert, zero=update */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /***********************************************************//**
- Parses a log record of writing a BLOB pointer of a record.
-@@ -265,7 +265,7 @@ page_zip_write_blob_ptr(
- 	ulint		n,	/*!< in: column index */
- 	mtr_t*		mtr)	/*!< in: mini-transaction handle,
- 				or NULL if no logging is needed */
--	__attribute__((nonnull(1,2,3,4)));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4)));
- 
- /***********************************************************//**
- Parses a log record of writing the node pointer of a record.
-@@ -290,7 +290,7 @@ page_zip_write_node_ptr(
- 	ulint		size,	/*!< in: data size of rec */
- 	ulint		ptr,	/*!< in: node pointer */
- 	mtr_t*		mtr)	/*!< in: mini-transaction, or NULL */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- /**********************************************************************//**
- Write the trx_id and roll_ptr of a record on a B-tree leaf node page. */
-@@ -304,7 +304,7 @@ page_zip_write_trx_id_and_roll_ptr(
- 	ulint		trx_id_col,/*!< in: column number of TRX_ID in rec */
- 	trx_id_t	trx_id,	/*!< in: transaction identifier */
- 	roll_ptr_t	roll_ptr)/*!< in: roll_ptr */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Write the "deleted" flag of a record on a compressed page.  The flag must
-@@ -316,7 +316,7 @@ page_zip_rec_set_deleted(
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page */
- 	const byte*	rec,	/*!< in: record on the uncompressed page */
- 	ulint		flag)	/*!< in: the deleted flag (nonzero=TRUE) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Write the "owned" flag of a record on a compressed page.  The n_owned field
-@@ -328,7 +328,7 @@ page_zip_rec_set_owned(
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page */
- 	const byte*	rec,	/*!< in: record on the uncompressed page */
- 	ulint		flag)	/*!< in: the owned flag (nonzero=TRUE) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Insert a record to the dense page directory. */
-@@ -355,7 +355,7 @@ page_zip_dir_delete(
- 	const ulint*		offsets,	/*!< in: rec_get_offsets(rec) */
- 	const byte*		free)		/*!< in: previous start of
- 						the free list */
--	__attribute__((nonnull(1,2,3,4)));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4)));
- 
- /**********************************************************************//**
- Add a slot to the dense page directory. */
-@@ -366,7 +366,7 @@ page_zip_dir_add_slot(
- 	page_zip_des_t*	page_zip,	/*!< in/out: compressed page */
- 	ulint		is_clustered)	/*!< in: nonzero for clustered index,
- 					zero for others */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /***********************************************************//**
- Parses a log record of writing to the header of a page.
-@@ -394,7 +394,7 @@ page_zip_write_header(
- 	const byte*	str,	/*!< in: address on the uncompressed page */
- 	ulint		length,	/*!< in: length of the data */
- 	mtr_t*		mtr)	/*!< in: mini-transaction, or NULL */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- /**********************************************************************//**
- Reorganize and compress a page.  This is a low-level operation for
-@@ -417,7 +417,7 @@ page_zip_reorganize(
- 				m_start, m_end, m_nonempty */
- 	dict_index_t*	index,	/*!< in: index of the B-tree node */
- 	mtr_t*		mtr)	/*!< in: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /**********************************************************************//**
- Copy the records of a page byte for byte.  Do not copy the page header
-@@ -436,7 +436,7 @@ page_zip_copy_recs(
- 	const page_t*		src,		/*!< in: page */
- 	dict_index_t*		index,		/*!< in: index of the B-tree */
- 	mtr_t*			mtr)		/*!< in: mini-transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- 
- /**********************************************************************//**
-@@ -450,7 +450,7 @@ page_zip_parse_compress(
- 	byte*		end_ptr,/*!< in: buffer end */
- 	page_t*		page,	/*!< out: uncompressed page */
- 	page_zip_des_t*	page_zip)/*!< out: compressed page */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- /**********************************************************************//**
- Calculate the compressed page checksum.
-@@ -462,7 +462,7 @@ page_zip_calc_checksum(
-         const void*     data,   /*!< in: compressed page */
-         ulint           size,   /*!< in: size of compressed page */
- 	srv_checksum_algorithm_t algo) /*!< in: algorithm to use */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Verify a compressed page's checksum.
-@@ -496,7 +496,7 @@ page_zip_parse_compress_no_data(
- 	page_t*		page,		/*!< in: uncompressed page */
- 	page_zip_des_t*	page_zip,	/*!< out: compressed page */
- 	dict_index_t*	index)		/*!< in: index */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- 
- /**********************************************************************//**
- Reset the counters used for filling
---- a/storage/innobase/include/pars0pars.h
-+++ b/storage/innobase/include/pars0pars.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -472,7 +472,7 @@ pars_complete_graph_for_exec(
- 				query graph, or NULL for dummy graph */
- 	trx_t*		trx,	/*!< in: transaction handle */
- 	mem_heap_t*	heap)	/*!< in: memory heap from which allocated */
--	__attribute__((nonnull(2,3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(2,3), warn_unused_result));
- 
- /****************************************************************//**
- Create parser info struct.
-@@ -628,7 +628,7 @@ pars_info_bind_ull_literal(
- 	pars_info_t*		info,	/*!< in: info struct */
- 	const char*		name,	/*!< in: name */
- 	const ib_uint64_t*	val)	/*!< in: value */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /****************************************************************//**
- Add bound id. */
---- a/storage/innobase/include/read0read.h
-+++ b/storage/innobase/include/read0read.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -82,7 +82,7 @@ read_view_sees_trx_id(
- /*==================*/
- 	const read_view_t*	view,	/*!< in: read view */
- 	trx_id_t		trx_id)	/*!< in: trx id */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Prints a read view to stderr. */
- UNIV_INTERN
---- a/storage/innobase/include/rem0cmp.h
-+++ b/storage/innobase/include/rem0cmp.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -174,7 +174,7 @@ cmp_dtuple_rec_with_match_low(
- 				bytes within the first field not completely
- 				matched; when function returns, contains the
- 				value for current comparison */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #define cmp_dtuple_rec_with_match(tuple,rec,offsets,fields,bytes)	\
- 	cmp_dtuple_rec_with_match_low(					\
- 		tuple,rec,offsets,dtuple_get_n_fields_cmp(tuple),fields,bytes)
-@@ -218,7 +218,7 @@ cmp_rec_rec_simple(
- 	struct TABLE*		table)	/*!< in: MySQL table, for reporting
- 					duplicate key value if applicable,
- 					or NULL */
--	__attribute__((nonnull(1,2,3,4), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4), warn_unused_result));
- /*************************************************************//**
- This function is used to compare two physical records. Only the common
- first fields are compared, and if an externally stored field is
---- a/storage/innobase/include/rem0rec.h
-+++ b/storage/innobase/include/rem0rec.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -98,7 +98,7 @@ rec_get_next_ptr_const(
- /*===================*/
- 	const rec_t*	rec,	/*!< in: physical record */
- 	ulint		comp)	/*!< in: nonzero=compact page format */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to get the pointer of the next chained record
- on the same page.
-@@ -109,7 +109,7 @@ rec_get_next_ptr(
- /*=============*/
- 	rec_t*	rec,	/*!< in: physical record */
- 	ulint	comp)	/*!< in: nonzero=compact page format */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to get the offset of the
- next chained record on the same page.
-@@ -120,7 +120,7 @@ rec_get_next_offs(
- /*==============*/
- 	const rec_t*	rec,	/*!< in: physical record */
- 	ulint		comp)	/*!< in: nonzero=compact page format */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the next record offset field
- of an old-style record. */
-@@ -130,7 +130,7 @@ rec_set_next_offs_old(
- /*==================*/
- 	rec_t*	rec,	/*!< in: old-style physical record */
- 	ulint	next)	/*!< in: offset of the next record */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to set the next record offset field
- of a new-style record. */
-@@ -140,7 +140,7 @@ rec_set_next_offs_new(
- /*==================*/
- 	rec_t*	rec,	/*!< in/out: new-style physical record */
- 	ulint	next)	/*!< in: offset of the next record */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to get the number of fields
- in an old-style record.
-@@ -150,7 +150,7 @@ ulint
- rec_get_n_fields_old(
- /*=================*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to get the number of fields
- in a record.
-@@ -161,7 +161,7 @@ rec_get_n_fields(
- /*=============*/
- 	const rec_t*		rec,	/*!< in: physical record */
- 	const dict_index_t*	index)	/*!< in: record descriptor */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to get the number of records owned by the
- previous directory record.
-@@ -171,7 +171,7 @@ ulint
- rec_get_n_owned_old(
- /*================*/
- 	const rec_t*	rec)	/*!< in: old-style physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the number of owned records. */
- UNIV_INLINE
-@@ -180,7 +180,7 @@ rec_set_n_owned_old(
- /*================*/
- 	rec_t*	rec,		/*!< in: old-style physical record */
- 	ulint	n_owned)	/*!< in: the number of owned */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to get the number of records owned by the
- previous directory record.
-@@ -190,7 +190,7 @@ ulint
- rec_get_n_owned_new(
- /*================*/
- 	const rec_t*	rec)	/*!< in: new-style physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the number of owned records. */
- UNIV_INLINE
-@@ -200,7 +200,7 @@ rec_set_n_owned_new(
- 	rec_t*		rec,	/*!< in/out: new-style physical record */
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page, or NULL */
- 	ulint		n_owned)/*!< in: the number of owned */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /******************************************************//**
- The following function is used to retrieve the info bits of
- a record.
-@@ -211,7 +211,7 @@ rec_get_info_bits(
- /*==============*/
- 	const rec_t*	rec,	/*!< in: physical record */
- 	ulint		comp)	/*!< in: nonzero=compact page format */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the info bits of a record. */
- UNIV_INLINE
-@@ -220,7 +220,7 @@ rec_set_info_bits_old(
- /*==================*/
- 	rec_t*	rec,	/*!< in: old-style physical record */
- 	ulint	bits)	/*!< in: info bits */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to set the info bits of a record. */
- UNIV_INLINE
-@@ -229,7 +229,7 @@ rec_set_info_bits_new(
- /*==================*/
- 	rec_t*	rec,	/*!< in/out: new-style physical record */
- 	ulint	bits)	/*!< in: info bits */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function retrieves the status bits of a new-style record.
- @return	status bits */
-@@ -238,7 +238,7 @@ ulint
- rec_get_status(
- /*===========*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /******************************************************//**
- The following function is used to set the status bits of a new-style record. */
-@@ -248,7 +248,7 @@ rec_set_status(
- /*===========*/
- 	rec_t*	rec,	/*!< in/out: physical record */
- 	ulint	bits)	/*!< in: info bits */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************//**
- The following function is used to retrieve the info and status
-@@ -260,7 +260,7 @@ rec_get_info_and_status_bits(
- /*=========================*/
- 	const rec_t*	rec,	/*!< in: physical record */
- 	ulint		comp)	/*!< in: nonzero=compact page format */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the info and status
- bits of a record.  (Only compact records have status bits.) */
-@@ -270,7 +270,7 @@ rec_set_info_and_status_bits(
- /*=========================*/
- 	rec_t*	rec,	/*!< in/out: compact physical record */
- 	ulint	bits)	/*!< in: info bits */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************//**
- The following function tells if record is delete marked.
-@@ -281,7 +281,7 @@ rec_get_deleted_flag(
- /*=================*/
- 	const rec_t*	rec,	/*!< in: physical record */
- 	ulint		comp)	/*!< in: nonzero=compact page format */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the deleted bit. */
- UNIV_INLINE
-@@ -290,7 +290,7 @@ rec_set_deleted_flag_old(
- /*=====================*/
- 	rec_t*	rec,	/*!< in: old-style physical record */
- 	ulint	flag)	/*!< in: nonzero if delete marked */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to set the deleted bit. */
- UNIV_INLINE
-@@ -300,7 +300,7 @@ rec_set_deleted_flag_new(
- 	rec_t*		rec,	/*!< in/out: new-style physical record */
- 	page_zip_des_t*	page_zip,/*!< in/out: compressed page, or NULL */
- 	ulint		flag)	/*!< in: nonzero if delete marked */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /******************************************************//**
- The following function tells if a new-style record is a node pointer.
- @return	TRUE if node pointer */
-@@ -309,7 +309,7 @@ ibool
- rec_get_node_ptr_flag(
- /*==================*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to get the order number
- of an old-style record in the heap of the index page.
-@@ -319,7 +319,7 @@ ulint
- rec_get_heap_no_old(
- /*================*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the heap number
- field in an old-style record. */
-@@ -329,7 +329,7 @@ rec_set_heap_no_old(
- /*================*/
- 	rec_t*	rec,	/*!< in: physical record */
- 	ulint	heap_no)/*!< in: the heap number */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to get the order number
- of a new-style record in the heap of the index page.
-@@ -339,7 +339,7 @@ ulint
- rec_get_heap_no_new(
- /*================*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- The following function is used to set the heap number
- field in a new-style record. */
-@@ -349,7 +349,7 @@ rec_set_heap_no_new(
- /*================*/
- 	rec_t*	rec,	/*!< in/out: physical record */
- 	ulint	heap_no)/*!< in: the heap number */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- The following function is used to test whether the data offsets
- in the record are stored in one-byte or two-byte format.
-@@ -359,7 +359,7 @@ ibool
- rec_get_1byte_offs_flag(
- /*====================*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /******************************************************//**
- The following function is used to set the 1-byte offsets flag. */
-@@ -369,7 +369,7 @@ rec_set_1byte_offs_flag(
- /*====================*/
- 	rec_t*	rec,	/*!< in: physical record */
- 	ibool	flag)	/*!< in: TRUE if 1byte form */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************//**
- Returns the offset of nth field end if the record is stored in the 1-byte
-@@ -382,7 +382,7 @@ rec_1_get_field_end_info(
- /*=====================*/
- 	const rec_t*	rec,	/*!< in: record */
- 	ulint		n)	/*!< in: field index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /******************************************************//**
- Returns the offset of nth field end if the record is stored in the 2-byte
-@@ -396,7 +396,7 @@ rec_2_get_field_end_info(
- /*=====================*/
- 	const rec_t*	rec,	/*!< in: record */
- 	ulint		n)	/*!< in: field index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /******************************************************//**
- Returns nonzero if the field is stored off-page.
-@@ -408,7 +408,7 @@ rec_2_is_field_extern(
- /*==================*/
- 	const rec_t*	rec,	/*!< in: record */
- 	ulint		n)	/*!< in: field index */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /******************************************************//**
- Determine how many of the first n columns in a compact
-@@ -421,7 +421,7 @@ rec_get_n_extern_new(
- 	const rec_t*		rec,	/*!< in: compact physical record */
- 	const dict_index_t*	index,	/*!< in: record descriptor */
- 	ulint			n)	/*!< in: number of columns to scan */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************//**
- The following function determines the offsets to each field
-@@ -446,9 +446,9 @@ rec_get_offsets_func(
- #endif /* UNIV_DEBUG */
- 	mem_heap_t**		heap)	/*!< in/out: memory heap */
- #ifdef UNIV_DEBUG
--	__attribute__((nonnull(1,2,5,7),warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,5,7),warn_unused_result));
- #else /* UNIV_DEBUG */
--	__attribute__((nonnull(1,2,5),warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,5),warn_unused_result));
- #endif /* UNIV_DEBUG */
- 
- #ifdef UNIV_DEBUG
-@@ -475,7 +475,7 @@ rec_get_offsets_reverse(
- 					0=leaf node */
- 	ulint*			offsets)/*!< in/out: array consisting of
- 					offsets[0] allocated elements */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- /************************************************************//**
- Validates offsets returned by rec_get_offsets().
-@@ -488,7 +488,7 @@ rec_offs_validate(
- 	const dict_index_t*	index,	/*!< in: record descriptor or NULL */
- 	const ulint*		offsets)/*!< in: array returned by
- 					rec_get_offsets() */
--	__attribute__((nonnull(3), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(3), warn_unused_result));
- /************************************************************//**
- Updates debug data in offsets, in order to avoid bogus
- rec_offs_validate() failures. */
-@@ -500,7 +500,7 @@ rec_offs_make_valid(
- 	const dict_index_t*	index,	/*!< in: record descriptor */
- 	ulint*			offsets)/*!< in: array returned by
- 					rec_get_offsets() */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #else
- # define rec_offs_make_valid(rec, index, offsets) ((void) 0)
- #endif /* UNIV_DEBUG */
-@@ -517,7 +517,7 @@ rec_get_nth_field_offs_old(
- 	ulint		n,	/*!< in: index of the field */
- 	ulint*		len)	/*!< out: length of the field; UNIV_SQL_NULL
- 				if SQL null */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #define rec_get_nth_field_old(rec, n, len) \
- ((rec) + rec_get_nth_field_offs_old(rec, n, len))
- /************************************************************//**
-@@ -531,7 +531,7 @@ rec_get_nth_field_size(
- /*===================*/
- 	const rec_t*	rec,	/*!< in: record */
- 	ulint		n)	/*!< in: index of the field */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /************************************************************//**
- The following function is used to get an offset to the nth
- data field in a record.
-@@ -544,7 +544,7 @@ rec_get_nth_field_offs(
- 	ulint		n,	/*!< in: index of the field */
- 	ulint*		len)	/*!< out: length of the field; UNIV_SQL_NULL
- 				if SQL null */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #define rec_get_nth_field(rec, offsets, n, len) \
- ((rec) + rec_get_nth_field_offs(offsets, n, len))
- /******************************************************//**
-@@ -556,7 +556,7 @@ ulint
- rec_offs_comp(
- /*==========*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- Determine if the offsets are for a record containing
- externally stored columns.
-@@ -566,7 +566,7 @@ ulint
- rec_offs_any_extern(
- /*================*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- Determine if the offsets are for a record containing null BLOB pointers.
- @return	first field containing a null BLOB pointer, or NULL if none found */
-@@ -576,7 +576,7 @@ rec_offs_any_null_extern(
- /*=====================*/
- 	const rec_t*	rec,		/*!< in: record */
- 	const ulint*	offsets)	/*!< in: rec_get_offsets(rec) */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- Returns nonzero if the extern bit is set in nth field of rec.
- @return	nonzero if externally stored */
-@@ -586,7 +586,7 @@ rec_offs_nth_extern(
- /*================*/
- 	const ulint*	offsets,/*!< in: array returned by rec_get_offsets() */
- 	ulint		n)	/*!< in: nth field */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- Returns nonzero if the SQL NULL bit is set in nth field of rec.
- @return	nonzero if SQL NULL */
-@@ -596,7 +596,7 @@ rec_offs_nth_sql_null(
- /*==================*/
- 	const ulint*	offsets,/*!< in: array returned by rec_get_offsets() */
- 	ulint		n)	/*!< in: nth field */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /******************************************************//**
- Gets the physical size of a field.
- @return	length of field */
-@@ -606,7 +606,7 @@ rec_offs_nth_size(
- /*==============*/
- 	const ulint*	offsets,/*!< in: array returned by rec_get_offsets() */
- 	ulint		n)	/*!< in: nth field */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- 
- /******************************************************//**
- Returns the number of extern bits set in a record.
-@@ -616,7 +616,7 @@ ulint
- rec_offs_n_extern(
- /*==============*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /***********************************************************//**
- This is used to modify the value of an already existing field in a record.
- The previous value must have exactly the same size as the new value. If len
-@@ -636,7 +636,7 @@ rec_set_nth_field(
- 				length as the previous value.
- 				If SQL null, previous value must be
- 				SQL null. */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- /**********************************************************//**
- The following function returns the data size of an old-style physical
- record, that is the sum of field lengths. SQL null fields
-@@ -648,7 +648,7 @@ ulint
- rec_get_data_size_old(
- /*==================*/
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /**********************************************************//**
- The following function returns the number of allocated elements
- for an array of offsets.
-@@ -658,7 +658,7 @@ ulint
- rec_offs_get_n_alloc(
- /*=================*/
- 	const ulint*	offsets)/*!< in: array for rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /**********************************************************//**
- The following function sets the number of allocated elements
- for an array of offsets. */
-@@ -669,7 +669,7 @@ rec_offs_set_n_alloc(
- 	ulint*	offsets,	/*!< out: array for rec_get_offsets(),
- 				must be allocated */
- 	ulint	n_alloc)	/*!< in: number of elements */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #define rec_offs_init(offsets) \
- 	rec_offs_set_n_alloc(offsets, (sizeof offsets) / sizeof *offsets)
- /**********************************************************//**
-@@ -680,7 +680,7 @@ ulint
- rec_offs_n_fields(
- /*==============*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /**********************************************************//**
- The following function returns the data size of a physical
- record, that is the sum of field lengths. SQL null fields
-@@ -692,7 +692,7 @@ ulint
- rec_offs_data_size(
- /*===============*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /**********************************************************//**
- Returns the total size of record minus data size of record.
- The value returned by the function is the distance from record
-@@ -703,7 +703,7 @@ ulint
- rec_offs_extra_size(
- /*================*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /**********************************************************//**
- Returns the total size of a physical record.
- @return	size */
-@@ -712,7 +712,7 @@ ulint
- rec_offs_size(
- /*==========*/
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- #ifdef UNIV_DEBUG
- /**********************************************************//**
- Returns a pointer to the start of the record.
-@@ -723,7 +723,7 @@ rec_get_start(
- /*==========*/
- 	const rec_t*	rec,	/*!< in: pointer to record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- /**********************************************************//**
- Returns a pointer to the end of the record.
- @return	pointer to end */
-@@ -733,7 +733,7 @@ rec_get_end(
- /*========*/
- 	const rec_t*	rec,	/*!< in: pointer to record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- #else /* UNIV_DEBUG */
- # define rec_get_start(rec, offsets) ((rec) - rec_offs_extra_size(offsets))
- # define rec_get_end(rec, offsets) ((rec) + rec_offs_data_size(offsets))
-@@ -748,7 +748,7 @@ rec_copy(
- 	void*		buf,	/*!< in: buffer */
- 	const rec_t*	rec,	/*!< in: physical record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /**********************************************************//**
- Determines the size of a data tuple prefix in a temporary file.
-@@ -761,7 +761,7 @@ rec_get_converted_size_temp(
- 	const dfield_t*		fields,	/*!< in: array of data fields */
- 	ulint			n_fields,/*!< in: number of data fields */
- 	ulint*			extra)	/*!< out: extra size */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- 
- /******************************************************//**
- Determine the offset to each field in temporary file.
-@@ -774,7 +774,7 @@ rec_init_offsets_temp(
- 	const dict_index_t*	index,	/*!< in: record descriptor */
- 	ulint*			offsets)/*!< in/out: array of offsets;
- 					in: n=rec_offs_n_fields(offsets) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /*********************************************************//**
- Builds a temporary file record out of a data tuple.
-@@ -787,7 +787,7 @@ rec_convert_dtuple_to_temp(
- 	const dict_index_t*	index,		/*!< in: record descriptor */
- 	const dfield_t*		fields,		/*!< in: array of data fields */
- 	ulint			n_fields)	/*!< in: number of fields */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**************************************************************//**
- Copies the first n fields of a physical record to a new physical record in
-@@ -805,7 +805,7 @@ rec_copy_prefix_to_buf(
- 						for the copied prefix,
- 						or NULL */
- 	ulint*			buf_size)	/*!< in/out: buffer size */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /************************************************************//**
- Folds a prefix of a physical record to a ulint.
- @return	the folded value */
-@@ -821,7 +821,7 @@ rec_fold(
- 	ulint		n_bytes,	/*!< in: number of bytes to fold
- 					in an incomplete last field */
- 	index_id_t	tree_id)	/*!< in: index tree id */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- /*********************************************************//**
- Builds a physical record out of a data tuple and
-@@ -837,7 +837,7 @@ rec_convert_dtuple_to_rec(
- 	const dtuple_t*		dtuple,	/*!< in: data tuple */
- 	ulint			n_ext)	/*!< in: number of
- 					externally stored columns */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /**********************************************************//**
- Returns the extra size of an old-style physical record if we know its
- data size and number of fields.
-@@ -849,7 +849,7 @@ rec_get_converted_extra_size(
- 	ulint	data_size,	/*!< in: data size */
- 	ulint	n_fields,	/*!< in: number of fields */
- 	ulint	n_ext)		/*!< in: number of externally stored columns */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /**********************************************************//**
- Determines the size of a data tuple prefix in ROW_FORMAT=COMPACT.
- @return	total size */
-@@ -861,7 +861,7 @@ rec_get_converted_size_comp_prefix(
- 	const dfield_t*		fields,	/*!< in: array of data fields */
- 	ulint			n_fields,/*!< in: number of data fields */
- 	ulint*			extra)	/*!< out: extra size */
--	__attribute__((warn_unused_result, nonnull(1,2)));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull(1,2)));
- /**********************************************************//**
- Determines the size of a data tuple in ROW_FORMAT=COMPACT.
- @return	total size */
-@@ -877,7 +877,7 @@ rec_get_converted_size_comp(
- 	const dfield_t*		fields,	/*!< in: array of data fields */
- 	ulint			n_fields,/*!< in: number of data fields */
- 	ulint*			extra)	/*!< out: extra size */
--	__attribute__((nonnull(1,3)));
-+	MY_ATTRIBUTE((nonnull(1,3)));
- /**********************************************************//**
- The following function returns the size of a data tuple when converted to
- a physical record.
-@@ -889,7 +889,7 @@ rec_get_converted_size(
- 	dict_index_t*	index,	/*!< in: record descriptor */
- 	const dtuple_t*	dtuple,	/*!< in: data tuple */
- 	ulint		n_ext)	/*!< in: number of externally stored columns */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- #ifndef UNIV_HOTBACKUP
- /**************************************************************//**
- Copies the first n fields of a physical record to a data tuple.
-@@ -904,7 +904,7 @@ rec_copy_prefix_to_dtuple(
- 	ulint			n_fields,	/*!< in: number of fields
- 						to copy */
- 	mem_heap_t*		heap)		/*!< in: memory heap */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /***************************************************************//**
- Validates the consistency of a physical record.
-@@ -915,7 +915,7 @@ rec_validate(
- /*=========*/
- 	const rec_t*	rec,	/*!< in: physical record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***************************************************************//**
- Prints an old-style physical record. */
- UNIV_INTERN
-@@ -924,7 +924,7 @@ rec_print_old(
- /*==========*/
- 	FILE*		file,	/*!< in: file where to print */
- 	const rec_t*	rec)	/*!< in: physical record */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifndef UNIV_HOTBACKUP
- /***************************************************************//**
- Prints a physical record in ROW_FORMAT=COMPACT.  Ignores the
-@@ -936,7 +936,7 @@ rec_print_comp(
- 	FILE*		file,	/*!< in: file where to print */
- 	const rec_t*	rec,	/*!< in: physical record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***************************************************************//**
- Prints a physical record. */
- UNIV_INTERN
-@@ -946,7 +946,7 @@ rec_print_new(
- 	FILE*		file,	/*!< in: file where to print */
- 	const rec_t*	rec,	/*!< in: physical record */
- 	const ulint*	offsets)/*!< in: array returned by rec_get_offsets() */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***************************************************************//**
- Prints a physical record. */
- UNIV_INTERN
-@@ -956,7 +956,7 @@ rec_print(
- 	FILE*			file,	/*!< in: file where to print */
- 	const rec_t*		rec,	/*!< in: physical record */
- 	const dict_index_t*	index)	/*!< in: record descriptor */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- # ifdef UNIV_DEBUG
- /************************************************************//**
-@@ -968,7 +968,7 @@ rec_get_trx_id(
- /*===========*/
- 	const rec_t*		rec,	/*!< in: record */
- 	const dict_index_t*	index)	/*!< in: clustered index */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- # endif /* UNIV_DEBUG */
- #endif /* UNIV_HOTBACKUP */
- 
---- a/storage/innobase/include/row0ftsort.h
-+++ b/storage/innobase/include/row0ftsort.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2010, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2010, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -187,7 +187,7 @@ row_fts_psort_info_init(
- 					instantiated */
- 	fts_psort_t**		merge)	/*!< out: parallel merge info
- 					to be instantiated */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Clean up and deallocate FTS parallel sort structures, and close
- temparary merge sort files */
-@@ -275,5 +275,5 @@ row_fts_merge_insert(
- 	fts_psort_t*	psort_info,	/*!< parallel sort info */
- 	ulint		id)		/* !< in: which auxiliary table's data
- 					to insert to */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* row0ftsort_h */
---- a/storage/innobase/include/row0import.h
-+++ b/storage/innobase/include/row0import.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -46,7 +46,7 @@ row_import_for_mysql(
- 	dict_table_t*	table,		/*!< in/out: table */
- 	row_prebuilt_t*	prebuilt)	/*!< in: prebuilt struct
- 						in MySQL */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*****************************************************************//**
- Update the DICT_TF2_DISCARDED flag in SYS_TABLES.
-@@ -64,7 +64,7 @@ row_import_update_discarded_flag(
- 	bool		dict_locked)		/*!< in: Set to true if the
- 						caller already owns the
- 						dict_sys_t:: mutex. */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*****************************************************************//**
- Update the (space, root page) of a table's indexes from the values
-@@ -83,7 +83,7 @@ row_import_update_index_root(
- 	bool			dict_locked)	/*!< in: Set to true if the
- 						caller already owns the
- 						dict_sys_t:: mutex. */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifndef UNIV_NONINL
- #include "row0import.ic"
- #endif
---- a/storage/innobase/include/row0ins.h
-+++ b/storage/innobase/include/row0ins.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -53,7 +53,7 @@ row_ins_check_foreign_constraint(
- 				table, else the referenced table */
- 	dtuple_t*	entry,	/*!< in: index entry for index */
- 	que_thr_t*	thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Creates an insert node struct.
- @return	own: insert node struct */
-@@ -98,7 +98,7 @@ row_ins_clust_index_entry_low(
- 	dtuple_t*	entry,	/*!< in/out: index entry to insert */
- 	ulint		n_ext,	/*!< in: number of externally stored columns */
- 	que_thr_t*	thr)	/*!< in: query thread or NULL */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***************************************************************//**
- Tries to insert an entry into a secondary index. If a record with exactly the
- same fields is found, the other record is necessarily marked deleted.
-@@ -123,7 +123,7 @@ row_ins_sec_index_entry_low(
- 	trx_id_t	trx_id,	/*!< in: PAGE_MAX_TRX_ID during
- 				row_log_table_apply(), or 0 */
- 	que_thr_t*	thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***************************************************************//**
- Tries to insert the externally stored fields (off-page columns)
- of a clustered index entry.
-@@ -142,7 +142,7 @@ row_ins_index_entry_big_rec_func(
- 	const void*		thd,	/*!< in: connection, or NULL */
- #endif /* DBUG_OFF */
- 	ulint			line)	/*!< in: line number of caller */
--	__attribute__((nonnull(1,2,3,4,5,6), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4,5,6), warn_unused_result));
- #ifdef DBUG_OFF
- # define row_ins_index_entry_big_rec(e,big,ofs,heap,index,thd,file,line) \
- 	row_ins_index_entry_big_rec_func(e,big,ofs,heap,index,file,line)
-@@ -164,7 +164,7 @@ row_ins_clust_index_entry(
- 	dtuple_t*	entry,	/*!< in/out: index entry to insert */
- 	que_thr_t*	thr,	/*!< in: query thread */
- 	ulint		n_ext)	/*!< in: number of externally stored columns */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***************************************************************//**
- Inserts an entry into a secondary index. Tries first optimistic,
- then pessimistic descent down the tree. If the entry matches enough
-@@ -178,7 +178,7 @@ row_ins_sec_index_entry(
- 	dict_index_t*	index,	/*!< in: secondary index */
- 	dtuple_t*	entry,	/*!< in/out: index entry to insert */
- 	que_thr_t*	thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************//**
- Inserts a row to a table. This is a high-level function used in
- SQL execution graphs.
---- a/storage/innobase/include/row0log.h
-+++ b/storage/innobase/include/row0log.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -54,7 +54,7 @@ row_log_allocate(
- 	const ulint*	col_map,/*!< in: mapping of old column
- 				numbers to new ones, or NULL if !table */
- 	const char*	path)	/*!< in: where to create temporary file */
--	__attribute__((nonnull(1), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1), warn_unused_result));
- 
- /******************************************************//**
- Free the row log for an index that was being created online. */
-@@ -63,7 +63,7 @@ void
- row_log_free(
- /*=========*/
- 	row_log_t*&	log)	/*!< in,own: row log */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************//**
- Free the row log for an index on which online creation was aborted. */
-@@ -72,7 +72,7 @@ void
- row_log_abort_sec(
- /*==============*/
- 	dict_index_t*	index)	/*!< in/out: index (x-latched) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /******************************************************//**
- Try to log an operation to a secondary index that is
-@@ -87,7 +87,7 @@ row_log_online_op_try(
- 	const dtuple_t* tuple,	/*!< in: index tuple */
- 	trx_id_t	trx_id)	/*!< in: transaction ID for insert,
- 				or 0 for delete */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************//**
- Logs an operation to a secondary index that is (or was) being created. */
- UNIV_INTERN
-@@ -98,7 +98,7 @@ row_log_online_op(
- 	const dtuple_t*	tuple,	/*!< in: index tuple */
- 	trx_id_t	trx_id)	/*!< in: transaction ID for insert,
- 				or 0 for delete */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- 
- /******************************************************//**
- Gets the error status of the online index rebuild log.
-@@ -109,7 +109,7 @@ row_log_table_get_error(
- /*====================*/
- 	const dict_index_t*	index)	/*!< in: clustered index of a table
- 					that is being rebuilt online */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************//**
- Logs a delete operation to a table that is being rebuilt.
-@@ -125,7 +125,7 @@ row_log_table_delete(
- 	const ulint*	offsets,/*!< in: rec_get_offsets(rec,index) */
- 	const byte*	sys)	/*!< in: DB_TRX_ID,DB_ROLL_PTR that should
- 				be logged, or NULL to use those in rec */
--	UNIV_COLD __attribute__((nonnull(1,2,3)));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull(1,2,3)));
- 
- /******************************************************//**
- Logs an update operation to a table that is being rebuilt.
-@@ -141,7 +141,7 @@ row_log_table_update(
- 	const ulint*	offsets,/*!< in: rec_get_offsets(rec,index) */
- 	const dtuple_t*	old_pk)	/*!< in: row_log_table_get_pk()
- 				before the update */
--	UNIV_COLD __attribute__((nonnull(1,2,3)));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull(1,2,3)));
- 
- /******************************************************//**
- Constructs the old PRIMARY KEY and DB_TRX_ID,DB_ROLL_PTR
-@@ -161,7 +161,7 @@ row_log_table_get_pk(
- 	byte*		sys,	/*!< out: DB_TRX_ID,DB_ROLL_PTR for
- 				row_log_table_delete(), or NULL */
- 	mem_heap_t**	heap)	/*!< in/out: memory heap where allocated */
--	UNIV_COLD __attribute__((nonnull(1,2,5), warn_unused_result));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull(1,2,5), warn_unused_result));
- 
- /******************************************************//**
- Logs an insert to a table that is being rebuilt.
-@@ -175,7 +175,7 @@ row_log_table_insert(
- 	dict_index_t*	index,	/*!< in/out: clustered index, S-latched
- 				or X-latched */
- 	const ulint*	offsets)/*!< in: rec_get_offsets(rec,index) */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- Notes that a BLOB is being freed during online ALTER TABLE. */
- UNIV_INTERN
-@@ -184,7 +184,7 @@ row_log_table_blob_free(
- /*====================*/
- 	dict_index_t*	index,	/*!< in/out: clustered index, X-latched */
- 	ulint		page_no)/*!< in: starting page number of the BLOB */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- Notes that a BLOB is being allocated during online ALTER TABLE. */
- UNIV_INTERN
-@@ -193,7 +193,7 @@ row_log_table_blob_alloc(
- /*=====================*/
- 	dict_index_t*	index,	/*!< in/out: clustered index, X-latched */
- 	ulint		page_no)/*!< in: starting page number of the BLOB */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- /******************************************************//**
- Apply the row_log_table log to a table upon completing rebuild.
- @return DB_SUCCESS, or error code on failure */
-@@ -206,7 +206,7 @@ row_log_table_apply(
- 				/*!< in: old table */
- 	struct TABLE*	table)	/*!< in/out: MySQL table
- 				(for reporting duplicates) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************//**
- Get the latest transaction ID that has invoked row_log_online_op()
-@@ -217,7 +217,7 @@ trx_id_t
- row_log_get_max_trx(
- /*================*/
- 	dict_index_t*	index)	/*!< in: index, must be locked */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /******************************************************//**
- Merge the row log to the index upon completing index creation.
-@@ -231,7 +231,7 @@ row_log_apply(
- 	dict_index_t*	index,	/*!< in/out: secondary index */
- 	struct TABLE*	table)	/*!< in/out: MySQL table
- 				(for reporting duplicates) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #ifndef UNIV_NONINL
- #include "row0log.ic"
---- a/storage/innobase/include/row0merge.h
-+++ b/storage/innobase/include/row0merge.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2005, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -127,7 +127,7 @@ row_merge_dup_report(
- /*=================*/
- 	row_merge_dup_t*	dup,	/*!< in/out: for reporting duplicates */
- 	const dfield_t*		entry)	/*!< in: duplicate index entry */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Sets an exclusive lock on a table, for the duration of creating indexes.
- @return	error code or DB_SUCCESS */
-@@ -138,7 +138,7 @@ row_merge_lock_table(
- 	trx_t*		trx,		/*!< in/out: transaction */
- 	dict_table_t*	table,		/*!< in: table to lock */
- 	enum lock_mode	mode)		/*!< in: LOCK_X or LOCK_S */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Drop indexes that were created before an error occurred.
- The data dictionary must have been locked exclusively by the caller,
-@@ -149,7 +149,7 @@ row_merge_drop_indexes_dict(
- /*========================*/
- 	trx_t*		trx,	/*!< in/out: dictionary transaction */
- 	table_id_t	table_id)/*!< in: table identifier */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Drop those indexes which were created before an error occurred.
- The data dictionary must have been locked exclusively by the caller,
-@@ -162,7 +162,7 @@ row_merge_drop_indexes(
- 	dict_table_t*	table,	/*!< in/out: table containing the indexes */
- 	ibool		locked)	/*!< in: TRUE=table locked,
- 				FALSE=may need to do a lazy drop */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Drop all partially created indexes during crash recovery. */
- UNIV_INTERN
-@@ -178,7 +178,7 @@ UNIV_INTERN
- int
- row_merge_file_create_low(
- 	const char*	path)
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /*********************************************************************//**
- Destroy a merge file. And de-register the file from Performance Schema
- if UNIV_PFS_IO is defined. */
-@@ -214,7 +214,7 @@ row_merge_rename_tables_dict(
- 					old_table->name */
- 	const char*	tmp_name,	/*!< in: new name for old_table */
- 	trx_t*		trx)		/*!< in/out: dictionary transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*********************************************************************//**
- Rename an index in the dictionary that was created. The data
-@@ -228,7 +228,7 @@ row_merge_rename_index_to_add(
- 	trx_t*		trx,		/*!< in/out: transaction */
- 	table_id_t	table_id,	/*!< in: table identifier */
- 	index_id_t	index_id)	/*!< in: index identifier */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Rename an index in the dictionary that is to be dropped. The data
- dictionary must have been locked exclusively by the caller, because
-@@ -241,7 +241,7 @@ row_merge_rename_index_to_drop(
- 	trx_t*		trx,		/*!< in/out: transaction */
- 	table_id_t	table_id,	/*!< in: table identifier */
- 	index_id_t	index_id)	/*!< in: index identifier */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Create the index and load in to the dictionary.
- @return	index, or NULL on error */
-@@ -274,7 +274,7 @@ row_merge_drop_table(
- /*=================*/
- 	trx_t*		trx,		/*!< in: transaction */
- 	dict_table_t*	table)		/*!< in: table instance to drop */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Build indexes on a table by reading a clustered index,
- creating a temporary file containing index entries, merge sorting
-@@ -307,7 +307,7 @@ row_merge_build_indexes(
- 					AUTO_INCREMENT column, or
- 					ULINT_UNDEFINED if none is added */
- 	ib_sequence_t&	sequence)	/*!< in/out: autoinc sequence */
--	__attribute__((nonnull(1,2,3,5,6,8), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,5,6,8), warn_unused_result));
- /********************************************************************//**
- Write a buffer to a block. */
- UNIV_INTERN
-@@ -317,7 +317,7 @@ row_merge_buf_write(
- 	const row_merge_buf_t*	buf,	/*!< in: sorted buffer */
- 	const merge_file_t*	of,	/*!< in: output file */
- 	row_merge_block_t*	block)	/*!< out: buffer for writing to file */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Sort a buffer. */
- UNIV_INTERN
-@@ -327,7 +327,7 @@ row_merge_buf_sort(
- 	row_merge_buf_t*	buf,	/*!< in/out: sort buffer */
- 	row_merge_dup_t*	dup)	/*!< in/out: reporter of duplicates
- 					(NULL if non-unique index) */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /********************************************************************//**
- Write a merge block to the file system.
- @return TRUE if request was successful, FALSE if fail */
-@@ -347,7 +347,7 @@ row_merge_buf_t*
- row_merge_buf_empty(
- /*================*/
- 	row_merge_buf_t*	buf)	/*!< in,own: sort buffer */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- 
- /** Create a merge file in the given location.
- @param[out]	merge_file	merge file structure
-@@ -373,7 +373,7 @@ row_merge_sort(
- 					index entries */
- 	row_merge_block_t*	block,	/*!< in/out: 3 buffers */
- 	int*			tmpfd)	/*!< in/out: temporary file handle */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Allocate a sort buffer.
- @return own: sort buffer */
-@@ -382,7 +382,7 @@ row_merge_buf_t*
- row_merge_buf_create(
- /*=================*/
- 	dict_index_t*	index)	/*!< in: secondary index */
--	__attribute__((warn_unused_result, nonnull, malloc));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull, malloc));
- /*********************************************************************//**
- Deallocate a sort buffer. */
- UNIV_INTERN
-@@ -390,7 +390,7 @@ void
- row_merge_buf_free(
- /*===============*/
- 	row_merge_buf_t*	buf)	/*!< in,own: sort buffer to be freed */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Destroy a merge file. */
- UNIV_INTERN
-@@ -398,7 +398,7 @@ void
- row_merge_file_destroy(
- /*===================*/
- 	merge_file_t*	merge_file)	/*!< in/out: merge file structure */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Read a merge block from the file system.
- @return TRUE if request was successful, FALSE if fail */
-@@ -428,5 +428,5 @@ row_merge_read_rec(
- 					or NULL on end of list
- 					(non-NULL on I/O error) */
- 	ulint*			offsets)/*!< out: offsets of mrec */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* row0merge.h */
---- a/storage/innobase/include/row0mysql.h
-+++ b/storage/innobase/include/row0mysql.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2000, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2000, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -167,7 +167,7 @@ row_mysql_handle_errors(
- 	trx_t*		trx,	/*!< in: transaction */
- 	que_thr_t*	thr,	/*!< in: query thread, or NULL */
- 	trx_savept_t*	savept)	/*!< in: savepoint, or NULL */
--	__attribute__((nonnull(1,2)));
-+	MY_ATTRIBUTE((nonnull(1,2)));
- /********************************************************************//**
- Create a prebuilt struct for a MySQL table handle.
- @return	own: a prebuilt struct */
-@@ -209,7 +209,7 @@ row_lock_table_autoinc_for_mysql(
- /*=============================*/
- 	row_prebuilt_t*	prebuilt)	/*!< in: prebuilt struct in the MySQL
- 					table handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Sets a table lock on the table mentioned in prebuilt.
- @return	error code or DB_SUCCESS */
-@@ -225,7 +225,7 @@ row_lock_table_for_mysql(
- 					prebuilt->select_lock_type */
- 	ulint		mode)		/*!< in: lock mode of table
- 					(ignored if table==NULL) */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /*********************************************************************//**
- Does an insert for MySQL.
- @return	error code or DB_SUCCESS */
-@@ -236,7 +236,7 @@ row_insert_for_mysql(
- 	byte*		mysql_rec,	/*!< in: row in the MySQL format */
- 	row_prebuilt_t*	prebuilt)	/*!< in: prebuilt struct in MySQL
- 					handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Builds a dummy query graph used in selects. */
- UNIV_INTERN
-@@ -276,7 +276,7 @@ row_update_for_mysql(
- 					the MySQL format */
- 	row_prebuilt_t*	prebuilt)	/*!< in: prebuilt struct in MySQL
- 					handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- This can only be used when srv_locks_unsafe_for_binlog is TRUE or this
- session is using a READ COMMITTED or READ UNCOMMITTED isolation level.
-@@ -297,7 +297,7 @@ row_unlock_for_mysql(
- 					the records under pcur and
- 					clust_pcur, and we do not need
- 					to reposition the cursors. */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Checks if a table name contains the string "/#sql" which denotes temporary
- tables in MySQL.
-@@ -306,7 +306,7 @@ UNIV_INTERN
- bool
- row_is_mysql_tmp_table_name(
- /*========================*/
--	const char*	name) __attribute__((warn_unused_result));
-+	const char*	name) MY_ATTRIBUTE((warn_unused_result));
- 				/*!< in: table name in the form
- 				'database/tablename' */
- 
-@@ -331,7 +331,7 @@ row_update_cascade_for_mysql(
- 	upd_node_t*	node,	/*!< in: update node used in the cascade
- 				or set null operation */
- 	dict_table_t*	table)	/*!< in: table where we do the operation */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Locks the data dictionary exclusively for performing a table create or other
- data dictionary modification operation. */
-@@ -387,7 +387,7 @@ row_create_table_for_mysql(
- 				added to the data dictionary cache) */
- 	trx_t*		trx,	/*!< in/out: transaction */
- 	bool		commit)	/*!< in: if true, commit the transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Does an index creation operation for MySQL. TODO: currently failure
- to create an index results in dropping the whole table! This is no problem
-@@ -406,7 +406,7 @@ row_create_index_for_mysql(
- 					index columns, which are
- 					then checked for not being too
- 					large. */
--	__attribute__((nonnull(1,2), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2), warn_unused_result));
- /*********************************************************************//**
- Scans a table create SQL string and adds to the data dictionary
- the foreign key constraints declared in the string. This function
-@@ -432,7 +432,7 @@ row_table_add_foreign_constraints(
- 	ibool		reject_fks)	/*!< in: if TRUE, fail with error
- 					code DB_CANNOT_ADD_CONSTRAINT if
- 					any foreign keys are found. */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- The master thread in srv0srv.cc calls this regularly to drop tables which
- we must drop in background after queries to them have ended. Such lazy
-@@ -461,7 +461,7 @@ row_mysql_lock_table(
- 	dict_table_t*	table,		/*!< in: table to lock */
- 	enum lock_mode	mode,		/*!< in: LOCK_X or LOCK_S */
- 	const char*	op_info)	/*!< in: string for trx->op_info */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*********************************************************************//**
- Truncates a table for MySQL.
-@@ -472,7 +472,7 @@ row_truncate_table_for_mysql(
- /*=========================*/
- 	dict_table_t*	table,	/*!< in: table handle */
- 	trx_t*		trx)	/*!< in: transaction handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Drops a table for MySQL.  If the name of the dropped table ends in
- one of "innodb_monitor", "innodb_lock_monitor", "innodb_tablespace_monitor",
-@@ -491,7 +491,7 @@ row_drop_table_for_mysql(
- 	bool		nonatomic = true)
- 				/*!< in: whether it is permitted
- 				to release and reacquire dict_operation_lock */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Drop all temporary tables during crash recovery. */
- UNIV_INTERN
-@@ -510,7 +510,7 @@ row_discard_tablespace_for_mysql(
- /*=============================*/
- 	const char*	name,	/*!< in: table name */
- 	trx_t*		trx)	/*!< in: transaction handle */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*****************************************************************//**
- Imports a tablespace. The space id in the .ibd file must match the space id
- of the table in the data dictionary.
-@@ -521,7 +521,7 @@ row_import_tablespace_for_mysql(
- /*============================*/
- 	dict_table_t*	table,		/*!< in/out: table */
- 	row_prebuilt_t*	prebuilt)	/*!< in: prebuilt struct in MySQL */
--        __attribute__((nonnull, warn_unused_result));
-+        MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Drops a database for MySQL.
- @return	error code or DB_SUCCESS */
-@@ -531,7 +531,7 @@ row_drop_database_for_mysql(
- /*========================*/
- 	const char*	name,	/*!< in: database name which ends to '/' */
- 	trx_t*		trx)	/*!< in: transaction handle */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*********************************************************************//**
- Renames a table for MySQL.
- @return	error code or DB_SUCCESS */
-@@ -543,7 +543,7 @@ row_rename_table_for_mysql(
- 	const char*	new_name,	/*!< in: new table name */
- 	trx_t*		trx,		/*!< in/out: transaction */
- 	bool		commit)		/*!< in: whether to commit trx */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Checks that the index contains entries in an ascending order, unique
- constraint is not broken, and calculates the number of index entries
-@@ -558,7 +558,7 @@ row_check_index_for_mysql(
- 	const dict_index_t*	index,		/*!< in: index */
- 	ulint*			n_rows)		/*!< out: number of entries
- 						seen in the consistent read */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Determines if a table is a magic monitor table.
- @return	true if monitor table */
-@@ -568,7 +568,7 @@ row_is_magic_monitor_table(
- /*=======================*/
- 	const char*	table_name)	/*!< in: name of the table, in the
- 					form database/table_name */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Initialize this module */
- UNIV_INTERN
-@@ -593,7 +593,7 @@ row_mysql_table_id_reassign(
- 	dict_table_t*	table,	/*!< in/out: table */
- 	trx_t*		trx,	/*!< in/out: transaction */
- 	table_id_t*	new_id) /*!< out: new table id */
--        __attribute__((nonnull, warn_unused_result));
-+        MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /* A struct describing a place for an individual column in the MySQL
- row format which is presented to the table handler in ha_innobase.
---- a/storage/innobase/include/row0purge.h
-+++ b/storage/innobase/include/row0purge.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -47,7 +47,7 @@ row_purge_node_create(
- 	que_thr_t*	parent,		/*!< in: parent node, i.e., a
- 					thr node */
- 	mem_heap_t*	heap)		/*!< in: memory heap where created */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************//**
- Determines if it is possible to remove a secondary index entry.
- Removal is possible if the secondary index entry does not refer to any
-@@ -70,7 +70,7 @@ row_purge_poss_sec(
- 	purge_node_t*	node,	/*!< in/out: row purge node */
- 	dict_index_t*	index,	/*!< in: secondary index */
- 	const dtuple_t*	entry)	/*!< in: secondary index entry */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***************************************************************
- Does the purge operation for a single undo log record. This is a high-level
- function used in an SQL execution graph.
-@@ -80,7 +80,7 @@ que_thr_t*
- row_purge_step(
- /*===========*/
- 	que_thr_t*	thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /* Purge node structure */
- 
---- a/storage/innobase/include/row0quiesce.h
-+++ b/storage/innobase/include/row0quiesce.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -43,7 +43,7 @@ row_quiesce_table_start(
- /*====================*/
- 	dict_table_t*	table,		/*!< in: quiesce this table */
- 	trx_t*		trx)		/*!< in/out: transaction/session */
--        __attribute__((nonnull));
-+        MY_ATTRIBUTE((nonnull));
- 
- /*********************************************************************//**
- Set a table's quiesce state.
-@@ -55,7 +55,7 @@ row_quiesce_set_state(
- 	dict_table_t*	table,		/*!< in: quiesce this table */
- 	ib_quiesce_t	state,		/*!< in: quiesce state to set */
- 	trx_t*		trx)		/*!< in/out: transaction */
--        __attribute__((nonnull, warn_unused_result));
-+        MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*********************************************************************//**
- Cleanup after table quiesce. */
-@@ -65,7 +65,7 @@ row_quiesce_table_complete(
- /*=======================*/
- 	dict_table_t*	table,		/*!< in: quiesce this table */
- 	trx_t*		trx)		/*!< in/out: transaction/session */
--        __attribute__((nonnull));
-+        MY_ATTRIBUTE((nonnull));
- 
- #ifndef UNIV_NONINL
- #include "row0quiesce.ic"
---- a/storage/innobase/include/row0row.h
-+++ b/storage/innobase/include/row0row.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -47,7 +47,7 @@ row_get_trx_id_offset(
- /*==================*/
- 	const dict_index_t*	index,	/*!< in: clustered index */
- 	const ulint*		offsets)/*!< in: record offsets */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Reads the trx id field from a clustered index record.
- @return	value of the field */
-@@ -58,7 +58,7 @@ row_get_rec_trx_id(
- 	const rec_t*		rec,	/*!< in: record */
- 	const dict_index_t*	index,	/*!< in: clustered index */
- 	const ulint*		offsets)/*!< in: rec_get_offsets(rec, index) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Reads the roll pointer field from a clustered index record.
- @return	value of the field */
-@@ -69,7 +69,7 @@ row_get_rec_roll_ptr(
- 	const rec_t*		rec,	/*!< in: record */
- 	const dict_index_t*	index,	/*!< in: clustered index */
- 	const ulint*		offsets)/*!< in: rec_get_offsets(rec, index) */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*****************************************************************//**
- When an insert or purge to a table is performed, this function builds
- the entry to be inserted into or purged from an index on the table.
-@@ -88,7 +88,7 @@ row_build_index_entry_low(
- 	mem_heap_t*		heap)	/*!< in: memory heap from which
- 					the memory for the index entry
- 					is allocated */
--	__attribute__((warn_unused_result, nonnull(1,3,4)));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull(1,3,4)));
- /*****************************************************************//**
- When an insert or purge to a table is performed, this function builds
- the entry to be inserted into or purged from an index on the table.
-@@ -107,7 +107,7 @@ row_build_index_entry(
- 	mem_heap_t*		heap)	/*!< in: memory heap from which
- 					the memory for the index entry
- 					is allocated */
--	__attribute__((warn_unused_result, nonnull(1,3,4)));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull(1,3,4)));
- /*******************************************************************//**
- An inverse function to row_build_index_entry. Builds a row from a
- record in a clustered index.
-@@ -155,7 +155,7 @@ row_build(
- 					prefixes, or NULL */
- 	mem_heap_t*		heap)	/*!< in: memory heap from which
- 					the memory needed is allocated */
--	__attribute__((nonnull(2,3,9)));
-+	MY_ATTRIBUTE((nonnull(2,3,9)));
- /*******************************************************************//**
- Converts an index record to a typed data tuple.
- @return index entry built; does not set info_bits, and the data fields
-@@ -171,7 +171,7 @@ row_rec_to_index_entry_low(
- 					stored columns */
- 	mem_heap_t*		heap)	/*!< in: memory heap from which
- 					the memory needed is allocated */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Converts an index record to a typed data tuple. NOTE that externally
- stored (often big) fields are NOT copied to heap.
-@@ -187,7 +187,7 @@ row_rec_to_index_entry(
- 					stored columns */
- 	mem_heap_t*		heap)	/*!< in: memory heap from which
- 					the memory needed is allocated */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Builds from a secondary index record a row reference with which we can
- search the clustered index record.
-@@ -210,7 +210,7 @@ row_build_row_ref(
- 				as long as the row reference is used! */
- 	mem_heap_t*	heap)	/*!< in: memory heap from which the memory
- 				needed is allocated */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Builds from a secondary index record a row reference with which we can
- search the clustered index record. */
-@@ -232,7 +232,7 @@ row_build_row_ref_in_tuple(
- 	ulint*			offsets,/*!< in: rec_get_offsets(rec, index)
- 					or NULL */
- 	trx_t*			trx)	/*!< in: transaction or NULL */
--	__attribute__((nonnull(1,2,3)));
-+	MY_ATTRIBUTE((nonnull(1,2,3)));
- /*******************************************************************//**
- Builds from a secondary index record a row reference with which we can
- search the clustered index record. */
-@@ -263,7 +263,7 @@ row_search_on_row_ref(
- 	const dict_table_t*	table,	/*!< in: table */
- 	const dtuple_t*		ref,	/*!< in: row reference */
- 	mtr_t*			mtr)	/*!< in/out: mtr */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*********************************************************************//**
- Fetches the clustered index record for a secondary index record. The latches
- on the secondary index record are preserved.
-@@ -277,7 +277,7 @@ row_get_clust_rec(
- 	dict_index_t*	index,	/*!< in: secondary index */
- 	dict_index_t**	clust_index,/*!< out: clustered index */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /** Result of row_search_index_entry */
- enum row_search_result {
-@@ -305,7 +305,7 @@ row_search_index_entry(
- 	btr_pcur_t*	pcur,	/*!< in/out: persistent cursor, which must
- 				be closed by the caller */
- 	mtr_t*		mtr)	/*!< in: mtr */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #define ROW_COPY_DATA		1
- #define ROW_COPY_POINTERS	2
-@@ -334,7 +334,7 @@ row_raw_format(
- 	char*			buf,		/*!< out: output buffer */
- 	ulint			buf_size)	/*!< in: output buffer size
- 						in bytes */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #ifndef UNIV_NONINL
- #include "row0row.ic"
---- a/storage/innobase/include/row0sel.h
-+++ b/storage/innobase/include/row0sel.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -168,7 +168,7 @@ row_search_for_mysql(
- 					then prebuilt must have a pcur
- 					with stored position! In opening of a
- 					cursor 'direction' should be 0. */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Checks if MySQL at the moment is allowed for this table to retrieve a
- consistent read result, or store it to the query cache.
-@@ -190,7 +190,7 @@ row_search_max_autoinc(
- 	dict_index_t*	index,		/*!< in: index to search */
- 	const char*	col_name,	/*!< in: autoinc column name */
- 	ib_uint64_t*	value)		/*!< out: AUTOINC value read */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /** A structure for caching column values for prefetched rows */
- struct sel_buf_t{
---- a/storage/innobase/include/row0uins.h
-+++ b/storage/innobase/include/row0uins.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -46,7 +46,7 @@ dberr_t
- row_undo_ins(
- /*=========*/
- 	undo_node_t*	node)	/*!< in: row undo node */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #ifndef UNIV_NONINL
- #include "row0uins.ic"
- #endif
---- a/storage/innobase/include/row0umod.h
-+++ b/storage/innobase/include/row0umod.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -43,7 +43,7 @@ row_undo_mod(
- /*=========*/
- 	undo_node_t*	node,	/*!< in: row undo node */
- 	que_thr_t*	thr)	/*!< in: query thread */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- #ifndef UNIV_NONINL
- #include "row0umod.ic"
---- a/storage/innobase/include/row0upd.h
-+++ b/storage/innobase/include/row0upd.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -91,7 +91,7 @@ upd_get_field_by_field_no(
- /*======================*/
- 	const upd_t*	update,	/*!< in: update vector */
- 	ulint		no)	/*!< in: field_no */
--	__attribute__((nonnull, pure));
-+	MY_ATTRIBUTE((nonnull, pure));
- /*********************************************************************//**
- Writes into the redo log the values of trx id and roll ptr and enough info
- to determine their positions within a clustered index record.
-@@ -174,7 +174,7 @@ bool
- row_upd_changes_disowned_external(
- /*==============================*/
- 	const upd_t*	update)	/*!< in: update vector */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- /***********************************************************//**
- Replaces the new column values stored in the update vector to the
-@@ -207,7 +207,7 @@ row_upd_build_sec_rec_difference_binary(
- 	const ulint*	offsets,/*!< in: rec_get_offsets(rec, index) */
- 	const dtuple_t*	entry,	/*!< in: entry to insert */
- 	mem_heap_t*	heap)	/*!< in: memory heap from which allocated */
--	__attribute__((warn_unused_result, nonnull));
-+	MY_ATTRIBUTE((warn_unused_result, nonnull));
- /***************************************************************//**
- Builds an update vector from those fields, excluding the roll ptr and
- trx id fields, which in an index entry differ from a record that has
-@@ -227,7 +227,7 @@ row_upd_build_difference_binary(
- 	trx_t*		trx,	/*!< in: transaction (for diagnostics),
- 				or NULL */
- 	mem_heap_t*	heap)	/*!< in: memory heap from which allocated */
--	__attribute__((nonnull(1,2,3,7), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2,3,7), warn_unused_result));
- /***********************************************************//**
- Replaces the new column values stored in the update vector to the index entry
- given. */
-@@ -250,7 +250,7 @@ row_upd_index_replace_new_col_vals_index_pos(
- 				does not work for non-clustered indexes. */
- 	mem_heap_t*	heap)	/*!< in: memory heap for allocating and
- 				copying the new values */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***********************************************************//**
- Replaces the new column values stored in the update vector to the index entry
- given. */
-@@ -269,7 +269,7 @@ row_upd_index_replace_new_col_vals(
- 				an upd_field is the clustered index position */
- 	mem_heap_t*	heap)	/*!< in: memory heap for allocating and
- 				copying the new values */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /***********************************************************//**
- Replaces the new column values stored in the update vector. */
- UNIV_INTERN
-@@ -311,7 +311,7 @@ row_upd_changes_ord_field_binary_func(
- 				compile time */
- 	const row_ext_t*ext)	/*!< NULL, or prefixes of the externally
- 				stored columns in the old row */
--	__attribute__((nonnull(1,2), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(1,2), warn_unused_result));
- #ifdef UNIV_DEBUG
- # define row_upd_changes_ord_field_binary(index,update,thr,row,ext)	\
- 	row_upd_changes_ord_field_binary_func(index,update,thr,row,ext)
-@@ -338,7 +338,7 @@ row_upd_changes_doc_id(
- /*===================*/
- 	dict_table_t*	table,		/*!< in: table */
- 	upd_field_t*	upd_field)	/*!< in: field to check */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************//**
- Checks if an update vector changes an ordering field of an index record.
- This function is fast if the update vector is short or the number of ordering
---- a/storage/innobase/include/row0vers.h
-+++ b/storage/innobase/include/row0vers.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -110,7 +110,7 @@ row_vers_build_for_consistent_read(
- 				if the history is missing or the record
- 				does not exist in the view, that is,
- 				it was freshly inserted afterwards */
--	__attribute__((nonnull(1,2,3,4,5,6,7)));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4,5,6,7)));
- 
- /*****************************************************************//**
- Constructs the last committed version of a clustered index record,
-@@ -136,7 +136,7 @@ row_vers_build_for_semi_consistent_read(
- 	const rec_t**	old_vers)/*!< out: rec, old version, or NULL if the
- 				record does not exist in the view, that is,
- 				it was freshly inserted afterwards */
--	__attribute__((nonnull(1,2,3,4,5)));
-+	MY_ATTRIBUTE((nonnull(1,2,3,4,5)));
- 
- 
- #ifndef UNIV_NONINL
---- a/storage/innobase/include/srv0srv.h
-+++ b/storage/innobase/include/srv0srv.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved.
- Copyright (c) 2008, 2009, Google Inc.
- Copyright (c) 2009, Percona Inc.
- 
-@@ -734,7 +734,7 @@ UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_purge_coordinator_thread)(
- /*=========================================*/
--	void*	arg __attribute__((unused)));	/*!< in: a dummy parameter
-+	void*	arg MY_ATTRIBUTE((unused)));	/*!< in: a dummy parameter
- 						required by os_thread_create */
- 
- /*********************************************************************//**
-@@ -744,7 +744,7 @@ UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_worker_thread)(
- /*==============================*/
--	void*	arg __attribute__((unused)));	/*!< in: a dummy parameter
-+	void*	arg MY_ATTRIBUTE((unused)));	/*!< in: a dummy parameter
- 						required by os_thread_create */
- } /* extern "C" */
- 
---- a/storage/innobase/include/srv0start.h
-+++ b/storage/innobase/include/srv0start.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -105,7 +105,7 @@ srv_path_copy(
- 	ulint		dest_len,	/*!< in: max bytes to copy */
- 	const char*	basedir,	/*!< in: base directory */
- 	const char*	table_name)	/*!< in: source table name */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- 
- /*****************************************************************//**
- Get the meta-data filename from the table name. */
-@@ -116,7 +116,7 @@ srv_get_meta_data_filename(
- 	dict_table_t*	table,		/*!< in: table */
- 	char*			filename,	/*!< out: filename */
- 	ulint			max_len)	/*!< in: filename max length */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /** Log sequence number at shutdown */
- extern	lsn_t	srv_shutdown_lsn;
---- a/storage/innobase/include/sync0arr.h
-+++ b/storage/innobase/include/sync0arr.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -110,7 +110,7 @@ sync_array_print_long_waits(
- /*========================*/
- 	os_thread_id_t*	waiter,	/*!< out: longest waiting thread */
- 	const void**	sema)	/*!< out: longest-waited-for semaphore */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Validates the integrity of the wait array. Checks
- that the number of reserved cells equals the count variable. */
---- a/storage/innobase/include/sync0rw.h
-+++ b/storage/innobase/include/sync0rw.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -333,7 +333,7 @@ ibool
- rw_lock_s_lock_low(
- /*===============*/
- 	rw_lock_t*	lock,	/*!< in: pointer to rw-lock */
--	ulint		pass __attribute__((unused)),
-+	ulint		pass MY_ATTRIBUTE((unused)),
- 				/*!< in: pass value; != 0, if the lock will be
- 				passed to another thread to unlock */
- 	const char*	file_name, /*!< in: file name where lock requested */
-@@ -501,7 +501,7 @@ rw_lock_own(
- 	rw_lock_t*	lock,		/*!< in: rw-lock */
- 	ulint		lock_type)	/*!< in: lock type: RW_LOCK_SHARED,
- 					RW_LOCK_EX */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #endif /* UNIV_SYNC_DEBUG */
- /******************************************************************//**
- Checks if somebody has locked the rw-lock in the specified mode. */
---- a/storage/innobase/include/sync0rw.ic
-+++ b/storage/innobase/include/sync0rw.ic
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -306,7 +306,7 @@ ibool
- rw_lock_s_lock_low(
- /*===============*/
- 	rw_lock_t*	lock,	/*!< in: pointer to rw-lock */
--	ulint		pass __attribute__((unused)),
-+	ulint		pass MY_ATTRIBUTE((unused)),
- 				/*!< in: pass value; != 0, if the lock will be
- 				passed to another thread to unlock */
- 	const char*	file_name, /*!< in: file name where lock requested */
---- a/storage/innobase/include/sync0sync.h
-+++ b/storage/innobase/include/sync0sync.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- Copyright (c) 2012, Facebook Inc.
- 
-@@ -400,7 +400,7 @@ ibool
- mutex_own(
- /*======*/
- 	const ib_mutex_t*	mutex)	/*!< in: mutex */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #endif /* UNIV_DEBUG */
- #ifdef UNIV_SYNC_DEBUG
- /******************************************************************//**
-@@ -415,7 +415,7 @@ sync_thread_add_level(
- 	ulint	level,	/*!< in: level in the latching order; if
- 			SYNC_LEVEL_VARYING, nothing is done */
- 	ibool	relock)	/*!< in: TRUE if re-entering an x-lock */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /******************************************************************//**
- Removes a latch from the thread level array if it is found there.
- @return TRUE if found in the array; it is no error if the latch is
-@@ -445,7 +445,7 @@ sync_thread_levels_nonempty_gen(
- /*============================*/
- 	ibool	dict_mutex_allowed)	/*!< in: TRUE if dictionary mutex is
- 					allowed to be owned by the thread */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- /******************************************************************//**
- Checks if the level array for the current thread is empty,
- except for data dictionary latches. */
-@@ -462,7 +462,7 @@ sync_thread_levels_nonempty_trx(
- 	ibool	has_search_latch)
- 				/*!< in: TRUE if and only if the thread
- 				is supposed to hold btr_search_latch */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- 
- /******************************************************************//**
- Gets the debug information for a reserved mutex. */
---- a/storage/innobase/include/trx0rec.h
-+++ b/storage/innobase/include/trx0rec.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -86,7 +86,7 @@ ulint
- trx_undo_rec_get_offset(
- /*====================*/
- 	undo_no_t	undo_no)	/*!< in: undo no read from node */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- /**********************************************************************//**
- Returns the start of the undo record data area. */
-@@ -109,7 +109,7 @@ trx_undo_rec_get_pars(
- 					externally stored fild */
- 	undo_no_t*	undo_no,	/*!< out: undo log record number */
- 	table_id_t*	table_id)	/*!< out: table id */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*******************************************************************//**
- Builds a row reference from an undo log record.
- @return	pointer to remaining part of undo record */
-@@ -201,7 +201,7 @@ trx_undo_rec_get_partial_row(
- 				only in the assertion. */
- 	mem_heap_t*	heap)	/*!< in: memory heap from which the memory
- 				needed is allocated */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /***********************************************************************//**
- Writes information to an undo log about an insert, update, or a delete marking
- of a clustered index record. This information is used in a rollback of the
-@@ -233,7 +233,7 @@ trx_undo_report_row_operation(
- 					inserted undo log record,
- 					0 if BTR_NO_UNDO_LOG
- 					flag was specified */
--	__attribute__((nonnull(3,4,10), warn_unused_result));
-+	MY_ATTRIBUTE((nonnull(3,4,10), warn_unused_result));
- /******************************************************************//**
- Copies an undo record to heap. This function can be called if we know that
- the undo log record exists.
-@@ -244,7 +244,7 @@ trx_undo_get_undo_rec_low(
- /*======================*/
- 	roll_ptr_t	roll_ptr,	/*!< in: roll pointer to record */
- 	mem_heap_t*	heap)		/*!< in: memory heap where copied */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Build a previous version of a clustered index record. The caller must
- hold a latch on the index page of the clustered index record.
-@@ -268,7 +268,7 @@ trx_undo_prev_version_build(
- 	rec_t**		old_vers)/*!< out, own: previous version, or NULL if
- 				rec is the first inserted version, or if
- 				history data has been deleted */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /***********************************************************//**
- Parses a redo log record of adding an undo log record.
---- a/storage/innobase/include/trx0roll.h
-+++ b/storage/innobase/include/trx0roll.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -125,7 +125,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(trx_rollback_or_clean_all_recovered)(
- /*================================================*/
--	void*	arg __attribute__((unused)));
-+	void*	arg MY_ATTRIBUTE((unused)));
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- /*********************************************************************//**
-@@ -152,7 +152,7 @@ dberr_t
- trx_rollback_for_mysql(
- /*===================*/
- 	trx_t*	trx)	/*!< in/out: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*******************************************************************//**
- Rollback the latest SQL statement for MySQL.
- @return	error code or DB_SUCCESS */
-@@ -161,7 +161,7 @@ dberr_t
- trx_rollback_last_sql_stat_for_mysql(
- /*=================================*/
- 	trx_t*	trx)	/*!< in/out: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*******************************************************************//**
- Rollback a transaction to a given savepoint or do a complete rollback.
- @return	error code or DB_SUCCESS */
-@@ -173,7 +173,7 @@ trx_rollback_to_savepoint(
- 	trx_savept_t*	savept)	/*!< in: pointer to savepoint undo number, if
- 				partial rollback requested, or NULL for
- 				complete rollback */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /*******************************************************************//**
- Rolls back a transaction back to a named savepoint. Modifications after the
- savepoint are undone but InnoDB does NOT release the corresponding locks
-@@ -195,7 +195,7 @@ trx_rollback_to_savepoint_for_mysql(
- 						information to remove the
- 						binlog entries of the queries
- 						executed after the savepoint */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Creates a named savepoint. If the transaction is not yet started, starts it.
- If there is already a savepoint of the same name, this call erases that old
-@@ -212,7 +212,7 @@ trx_savepoint_for_mysql(
- 						position corresponding to this
- 						connection at the time of the
- 						savepoint */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /*******************************************************************//**
- Releases a named savepoint. Savepoints which
- were set after this savepoint are deleted.
-@@ -224,7 +224,7 @@ trx_release_savepoint_for_mysql(
- /*============================*/
- 	trx_t*		trx,			/*!< in: transaction handle */
- 	const char*	savepoint_name)		/*!< in: savepoint name */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /*******************************************************************//**
- Frees savepoint structs starting from savep. */
- UNIV_INTERN
---- a/storage/innobase/include/trx0sys.h
-+++ b/storage/innobase/include/trx0sys.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -267,7 +267,7 @@ ibool
- trx_in_trx_list(
- /*============*/
- 	const trx_t*	in_trx)		/*!< in: transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- #if defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG
- /***********************************************************//**
-@@ -278,7 +278,7 @@ ibool
- trx_assert_recovered(
- /*=================*/
- 	trx_id_t	trx_id)		/*!< in: transaction identifier */
--	__attribute__((warn_unused_result));
-+	MY_ATTRIBUTE((warn_unused_result));
- #endif /* UNIV_DEBUG || UNIV_BLOB_LIGHT_DEBUG */
- /*****************************************************************//**
- Updates the offset information about the end of the MySQL binlog entry
---- a/storage/innobase/include/trx0trx.h
-+++ b/storage/innobase/include/trx0trx.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -103,7 +103,7 @@ void
- trx_free_prepared(
- /*==============*/
- 	trx_t*	trx)	/*!< in, own: trx object */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- /********************************************************************//**
- Frees a transaction object for MySQL. */
- UNIV_INTERN
-@@ -169,7 +169,7 @@ trx_start_for_ddl_low(
- /*==================*/
- 	trx_t*		trx,	/*!< in/out: transaction */
- 	trx_dict_op_t	op)	/*!< in: dictionary operation type */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- #ifdef UNIV_DEBUG
- #define trx_start_for_ddl(t, o)					\
-@@ -191,7 +191,7 @@ void
- trx_commit(
- /*=======*/
- 	trx_t*	trx)	/*!< in/out: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /****************************************************************//**
- Commits a transaction and a mini-transaction. */
- UNIV_INTERN
-@@ -201,7 +201,7 @@ trx_commit_low(
- 	trx_t*	trx,	/*!< in/out: transaction */
- 	mtr_t*	mtr)	/*!< in/out: mini-transaction (will be committed),
- 			or NULL if trx made no modifications */
--	__attribute__((nonnull(1)));
-+	MY_ATTRIBUTE((nonnull(1)));
- /****************************************************************//**
- Cleans up a transaction at database startup. The cleanup is needed if
- the transaction already got to the middle of a commit when the database
-@@ -255,7 +255,7 @@ void
- trx_commit_complete_for_mysql(
- /*==========================*/
- 	trx_t*	trx)	/*!< in/out: transaction */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- /**********************************************************************//**
- Marks the latest SQL statement ended. */
- UNIV_INTERN
-@@ -317,7 +317,7 @@ trx_print_low(
- 			/*!< in: length of trx->lock.trx_locks */
- 	ulint		heap_size)
- 			/*!< in: mem_heap_get_size(trx->lock.lock_heap) */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Prints info about a transaction.
-@@ -331,7 +331,7 @@ trx_print_latched(
- 	const trx_t*	trx,		/*!< in: transaction */
- 	ulint		max_query_len)	/*!< in: max query length to print,
- 					or 0 to use the default max length */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Prints info about a transaction.
-@@ -344,7 +344,7 @@ trx_print(
- 	const trx_t*	trx,		/*!< in: transaction */
- 	ulint		max_query_len)	/*!< in: max query length to print,
- 					or 0 to use the default max length */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- /**********************************************************************//**
- Determine if a transaction is a dictionary operation.
-@@ -354,7 +354,7 @@ enum trx_dict_op_t
- trx_get_dict_operation(
- /*===================*/
- 	const trx_t*	trx)	/*!< in: transaction */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /**********************************************************************//**
- Flag a transaction a dictionary operation. */
- UNIV_INLINE
-@@ -383,7 +383,7 @@ trx_state_eq(
- 				if state != TRX_STATE_NOT_STARTED
- 				asserts that
- 				trx->state != TRX_STATE_NOT_STARTED */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- # ifdef UNIV_DEBUG
- /**********************************************************************//**
- Asserts that a transaction has been started.
-@@ -394,7 +394,7 @@ ibool
- trx_assert_started(
- /*===============*/
- 	const trx_t*	trx)	/*!< in: transaction */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- # endif /* UNIV_DEBUG */
- 
- /**********************************************************************//**
---- a/storage/innobase/include/trx0undo.h
-+++ b/storage/innobase/include/trx0undo.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -73,7 +73,7 @@ bool
- trx_undo_trx_id_is_insert(
- /*======================*/
- 	const byte*	trx_id)	/*!< in: DB_TRX_ID, followed by DB_ROLL_PTR */
--	__attribute__((nonnull, pure, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
- #endif /* !UNIV_HOTBACKUP */
- /*****************************************************************//**
- Writes a roll ptr to an index page. In case that the size changes in
-@@ -214,7 +214,7 @@ trx_undo_add_page(
- 	mtr_t*		mtr)	/*!< in: mtr which does not have a latch to any
- 				undo log page; the caller must have reserved
- 				the rollback segment mutex */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /********************************************************************//**
- Frees the last undo log page.
- The caller must hold the rollback segment mutex. */
-@@ -229,7 +229,7 @@ trx_undo_free_last_page_func(
- 	mtr_t*		mtr)	/*!< in/out: mini-transaction which does not
- 				have a latch to any undo log page or which
- 				has allocated the undo log page */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- # define trx_undo_free_last_page(trx,undo,mtr)	\
- 	trx_undo_free_last_page_func(trx,undo,mtr)
-@@ -251,7 +251,7 @@ trx_undo_truncate_end_func(
- 	trx_undo_t*	undo,	/*!< in/out: undo log */
- 	undo_no_t	limit)	/*!< in: all undo records with undo number
- 				>= this value should be truncated */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- #ifdef UNIV_DEBUG
- # define trx_undo_truncate_end(trx,undo,limit)		\
- 	trx_undo_truncate_end_func(trx,undo,limit)
-@@ -300,7 +300,7 @@ trx_undo_assign_undo(
- /*=================*/
- 	trx_t*		trx,	/*!< in: transaction */
- 	ulint		type)	/*!< in: TRX_UNDO_INSERT or TRX_UNDO_UPDATE */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- /******************************************************************//**
- Sets the state of the undo log segment at a transaction finish.
- @return	undo log segment header page, x-latched */
-@@ -350,7 +350,7 @@ void
- trx_undo_free_prepared(
- /*===================*/
- 	trx_t*	trx)	/*!< in/out: PREPARED transaction */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- #endif /* !UNIV_HOTBACKUP */
- /***********************************************************//**
- Parses the redo log entry of an undo log page initialization.
---- a/storage/innobase/include/univ.i
-+++ b/storage/innobase/include/univ.i
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -249,7 +249,7 @@ that are only referenced from within InnoDB, not from MySQL. We disable the
- GCC visibility directive on all Sun operating systems because there is no
- easy way to get it to work. See http://bugs.mysql.com/bug.php?id=52263. */
- #if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(sun) || defined(__INTEL_COMPILER)
--# define UNIV_INTERN __attribute__((visibility ("hidden")))
-+# define UNIV_INTERN MY_ATTRIBUTE((visibility ("hidden")))
- #else
- # define UNIV_INTERN
- #endif
-@@ -264,7 +264,7 @@ appears close together improving code locality of non-cold parts of
- program.  The paths leading to call of cold functions within code are
- marked as unlikely by the branch prediction mechanism.  optimize a
- rarely invoked function for size instead for speed. */
--# define UNIV_COLD __attribute__((cold))
-+# define UNIV_COLD MY_ATTRIBUTE((cold))
- #else
- # define UNIV_COLD /* empty */
- #endif
-@@ -528,7 +528,7 @@ contains the sum of the following flag and the locally stored len. */
- #if defined(__GNUC__) && (__GNUC__ > 2) && ! defined(__INTEL_COMPILER)
- #define HAVE_GCC_GT_2
- /* Tell the compiler that variable/function is unused. */
--# define UNIV_UNUSED    __attribute__ ((unused))
-+# define UNIV_UNUSED    MY_ATTRIBUTE ((unused))
- #else
- # define UNIV_UNUSED
- #endif /* CHECK FOR GCC VER_GT_2 */
---- a/storage/innobase/include/ut0byte.h
-+++ b/storage/innobase/include/ut0byte.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -39,7 +39,7 @@ ut_ull_create(
- /*==========*/
- 	ulint	high,	/*!< in: high-order 32 bits */
- 	ulint	low)	/*!< in: low-order 32 bits */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- /********************************************************//**
- Rounds a 64-bit integer downward to a multiple of a power of 2.
-@@ -80,7 +80,7 @@ ut_align_down(
- /*==========*/
- 	const void*	ptr,		/*!< in: pointer */
- 	ulint		align_no)	/*!< in: align by this number */
--		__attribute__((const));
-+		MY_ATTRIBUTE((const));
- /*********************************************************//**
- The following function computes the offset of a pointer from the nearest
- aligned address.
-@@ -91,7 +91,7 @@ ut_align_offset(
- /*============*/
- 	const void*	ptr,		/*!< in: pointer */
- 	ulint		align_no)	/*!< in: align by this number */
--			__attribute__((const));
-+			MY_ATTRIBUTE((const));
- /*****************************************************************//**
- Gets the nth bit of a ulint.
- @return	TRUE if nth bit is 1; 0th bit is defined to be the least significant */
---- a/storage/innobase/include/ut0dbg.h
-+++ b/storage/innobase/include/ut0dbg.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -59,7 +59,7 @@ ut_dbg_assertion_failed(
- 	const char*	expr,	/*!< in: the failed assertion */
- 	const char*	file,	/*!< in: source file containing the assertion */
- 	ulint		line)	/*!< in: line number of the assertion */
--	UNIV_COLD __attribute__((nonnull(2)));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull(2)));
- 
- /** Abort the execution. */
- # define UT_DBG_PANIC abort()
---- a/storage/innobase/include/ut0mem.h
-+++ b/storage/innobase/include/ut0mem.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -87,7 +87,7 @@ ut_malloc_low(
- 	ulint	n,			/*!< in: number of bytes to allocate */
- 	ibool	assert_on_error)	/*!< in: if TRUE, we crash mysqld if
- 					the memory cannot be allocated */
--	__attribute__((malloc));
-+	MY_ATTRIBUTE((malloc));
- /**********************************************************************//**
- Allocates memory. */
- #define ut_malloc(n) ut_malloc_low(n, TRUE)
---- a/storage/innobase/include/ut0rnd.h
-+++ b/storage/innobase/include/ut0rnd.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -96,7 +96,7 @@ ulint
- ut_fold_ull(
- /*========*/
- 	ib_uint64_t	d)	/*!< in: 64-bit integer */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /*************************************************************//**
- Folds a character string ending in the null character.
- @return	folded value */
-@@ -105,7 +105,7 @@ ulint
- ut_fold_string(
- /*===========*/
- 	const char*	str)	/*!< in: null-terminated string */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- /***********************************************************//**
- Looks for a prime number slightly greater than the given argument.
- The prime is chosen so that it is not near any power of 2.
-@@ -115,7 +115,7 @@ ulint
- ut_find_prime(
- /*==========*/
- 	ulint	n)	/*!< in: positive number > 100 */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- #endif /* !UNIV_INNOCHECKSUM */
- 
-@@ -128,7 +128,7 @@ ut_fold_ulint_pair(
- /*===============*/
- 	ulint	n1,	/*!< in: ulint */
- 	ulint	n2)	/*!< in: ulint */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- /*************************************************************//**
- Folds a binary string.
- @return	folded value */
-@@ -138,7 +138,7 @@ ut_fold_binary(
- /*===========*/
- 	const byte*	str,	/*!< in: string of bytes */
- 	ulint		len)	/*!< in: length */
--	__attribute__((pure));
-+	MY_ATTRIBUTE((pure));
- 
- 
- #ifndef UNIV_NONINL
---- a/storage/innobase/include/ut0ut.h
-+++ b/storage/innobase/include/ut0ut.h
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -217,7 +217,7 @@ ulint
- ut_2_power_up(
- /*==========*/
- 	ulint	n)	/*!< in: number != 0 */
--	__attribute__((const));
-+	MY_ATTRIBUTE((const));
- 
- /** Determine how many bytes (groups of 8 bits) are needed to
- store the given number of bits.
-@@ -297,7 +297,7 @@ void
- ut_print_timestamp(
- /*===============*/
- 	FILE*	file)	/*!< in: file where to print */
--	UNIV_COLD __attribute__((nonnull));
-+	UNIV_COLD MY_ATTRIBUTE((nonnull));
- 
- #ifndef UNIV_INNOCHECKSUM
- 
-@@ -485,7 +485,7 @@ ut_ulint_sort(
- 	ulint*	aux_arr,	/*!< in/out: aux array to use in sort */
- 	ulint	low,		/*!< in: lower bound */
- 	ulint	high)		/*!< in: upper bound */
--	__attribute__((nonnull));
-+	MY_ATTRIBUTE((nonnull));
- 
- #ifndef UNIV_NONINL
- #include "ut0ut.ic"
---- a/storage/innobase/lock/lock0lock.cc
-+++ b/storage/innobase/lock/lock0lock.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -409,7 +409,7 @@ ibool
- lock_rec_validate_page(
- /*===================*/
- 	const buf_block_t*	block)	/*!< in: buffer block */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- 
- /* The lock system */
-@@ -493,7 +493,7 @@ Checks that a transaction id is sensible, i.e., not in the future.
- #ifdef UNIV_DEBUG
- UNIV_INTERN
- #else
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- #endif
- bool
- lock_check_trx_id_sanity(
-@@ -5779,7 +5779,7 @@ lock_validate_table_locks(
- /*********************************************************************//**
- Validate record locks up to a limit.
- @return lock at limit or NULL if no more locks in the hash bucket */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- const lock_t*
- lock_rec_validate(
- /*==============*/
---- a/storage/innobase/lock/lock0wait.cc
-+++ b/storage/innobase/lock/lock0wait.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -479,7 +479,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(lock_wait_timeout_thread)(
- /*=====================================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/* in: a dummy parameter required by
- 			os_thread_create */
- {
---- a/storage/innobase/log/log0log.cc
-+++ b/storage/innobase/log/log0log.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2009, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -975,7 +975,7 @@ log_group_init(
- 	ulint	space_id,		/*!< in: space id of the file space
- 					which contains the log files of this
- 					group */
--	ulint	archive_space_id __attribute__((unused)))
-+	ulint	archive_space_id MY_ATTRIBUTE((unused)))
- 					/*!< in: space id of the file space
- 					which contains some archived log
- 					files for this group; currently, only
-@@ -2352,7 +2352,7 @@ void
- log_archived_file_name_gen(
- /*=======================*/
- 	char*	buf,	/*!< in: buffer where to write */
--	ulint	id __attribute__((unused)),
-+	ulint	id MY_ATTRIBUTE((unused)),
- 			/*!< in: group id;
- 			currently we only archive the first group */
- 	ulint	file_no)/*!< in: file number */
---- a/storage/innobase/log/log0recv.cc
-+++ b/storage/innobase/log/log0recv.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -328,7 +328,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(recv_writer_thread)(
- /*===============================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- {
-@@ -742,7 +742,7 @@ recv_check_cp_is_consistent(
- /********************************************************//**
- Looks for the maximum consistent checkpoint from the log groups.
- @return	error code or DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- recv_find_max_checkpoint(
- /*=====================*/
---- a/storage/innobase/mem/mem0dbg.cc
-+++ b/storage/innobase/mem/mem0dbg.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -248,7 +248,7 @@ void
- mem_field_erase(
- /*============*/
- 	byte*	buf,	/*!< in: memory field */
--	ulint	n __attribute__((unused)))
-+	ulint	n MY_ATTRIBUTE((unused)))
- 			/*!< in: how many bytes the user requested */
- {
- 	byte*	usr_buf;
-@@ -450,7 +450,7 @@ void
- mem_heap_validate_or_print(
- /*=======================*/
- 	mem_heap_t*	heap,	/*!< in: memory heap */
--	byte*		top __attribute__((unused)),
-+	byte*		top MY_ATTRIBUTE((unused)),
- 				/*!< in: calculate and validate only until
- 				this top pointer in the heap is reached,
- 				if this pointer is NULL, ignored */
---- a/storage/innobase/mtr/mtr0mtr.cc
-+++ b/storage/innobase/mtr/mtr0mtr.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -58,7 +58,7 @@ mtr_block_dirtied(
- 
- /*****************************************************************//**
- Releases the item in the slot given. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- mtr_memo_slot_release_func(
- /*=======================*/
-@@ -105,7 +105,7 @@ mtr_memo_slot_release_func(
- Releases the mlocks and other objects stored in an mtr memo.
- They are released in the order opposite to which they were pushed
- to the memo. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- mtr_memo_pop_all(
- /*=============*/
-@@ -395,7 +395,7 @@ mtr_read_ulint(
- /*===========*/
- 	const byte*	ptr,	/*!< in: pointer from where to read */
- 	ulint		type,	/*!< in: MLOG_1BYTE, MLOG_2BYTES, MLOG_4BYTES */
--	mtr_t*		mtr __attribute__((unused)))
-+	mtr_t*		mtr MY_ATTRIBUTE((unused)))
- 				/*!< in: mini-transaction handle */
- {
- 	ut_ad(mtr->state == MTR_ACTIVE);
---- a/storage/innobase/os/os0file.cc
-+++ b/storage/innobase/os/os0file.cc
-@@ -1,6 +1,6 @@
- /***********************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2009, Percona Inc.
- 
- Portions of this file contain modifications contributed and copyrighted
-@@ -1469,11 +1469,11 @@ void
- os_file_set_nocache(
- /*================*/
- 	int		fd		/*!< in: file descriptor to alter */
--					__attribute__((unused)),
-+					MY_ATTRIBUTE((unused)),
- 	const char*	file_name	/*!< in: used in the diagnostic
- 					message */
--					__attribute__((unused)),
--	const char*	operation_name __attribute__((unused)))
-+					MY_ATTRIBUTE((unused)),
-+	const char*	operation_name MY_ATTRIBUTE((unused)))
- 					/*!< in: "open" or "create"; used
- 					in the diagnostic message */
- {
-@@ -2353,7 +2353,7 @@ os_file_flush_func(
- /*******************************************************************//**
- Does a synchronous read operation in Posix.
- @return	number of bytes read, -1 if error */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ssize_t
- os_file_pread(
- /*==========*/
-@@ -2464,7 +2464,7 @@ os_file_pread(
- /*******************************************************************//**
- Does a synchronous write operation in Posix.
- @return	number of bytes written, -1 if error */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ssize_t
- os_file_pwrite(
- /*===========*/
---- a/storage/innobase/page/page0page.cc
-+++ b/storage/innobase/page/page0page.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -304,7 +304,7 @@ byte*
- page_parse_create(
- /*==============*/
- 	byte*		ptr,	/*!< in: buffer */
--	byte*		end_ptr __attribute__((unused)), /*!< in: buffer end */
-+	byte*		end_ptr MY_ATTRIBUTE((unused)), /*!< in: buffer end */
- 	ulint		comp,	/*!< in: nonzero=compact page format */
- 	buf_block_t*	block,	/*!< in: block or NULL */
- 	mtr_t*		mtr)	/*!< in: mtr or NULL */
---- a/storage/innobase/page/page0zip.cc
-+++ b/storage/innobase/page/page0zip.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2005, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2005, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2012, Facebook Inc.
- 
- This program is free software; you can redistribute it and/or modify it under
-@@ -119,7 +119,7 @@ Compare at most sizeof(field_ref_zero) bytes.
- independently of any UNIV_ debugging conditions. */
- #if defined UNIV_DEBUG || defined UNIV_ZIP_DEBUG
- # include <stdarg.h>
--__attribute__((format (printf, 1, 2)))
-+MY_ATTRIBUTE((format (printf, 1, 2)))
- /**********************************************************************//**
- Report a failure to decompress or compress.
- @return	number of characters printed */
-@@ -738,8 +738,8 @@ static
- void
- page_zip_free(
- /*==========*/
--	void*	opaque __attribute__((unused)),	/*!< in: memory heap */
--	void*	address __attribute__((unused)))/*!< in: object to free */
-+	void*	opaque MY_ATTRIBUTE((unused)),	/*!< in: memory heap */
-+	void*	address MY_ATTRIBUTE((unused)))/*!< in: object to free */
- {
- }
- 
---- a/storage/innobase/pars/lexyy.cc
-+++ b/storage/innobase/pars/lexyy.cc
-@@ -295,7 +295,7 @@ static int yy_start = 0;	/* start state number */
- static int yy_did_buffer_switch_on_eof;
- 
- void yyrestart (FILE *input_file  );
--__attribute__((unused)) static void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-+MY_ATTRIBUTE((unused)) static void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
- static YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
- void yy_delete_buffer (YY_BUFFER_STATE b  );
- void yy_flush_buffer (YY_BUFFER_STATE b  );
-@@ -916,7 +916,7 @@ char *yytext;
- #line 1 "pars0lex.l"
- /*****************************************************************************
- 
--Copyright (c) 1997, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -1027,7 +1027,7 @@ static int yy_init_globals (void );
- /* Accessor methods to globals.
-    These are made visible to non-reentrant scanners for convenience. */
- 
--__attribute__((unused)) static int yylex_destroy (void );
-+MY_ATTRIBUTE((unused)) static int yylex_destroy (void );
- 
- int yyget_debug (void );
- 
-@@ -2664,7 +2664,7 @@ static int yy_get_next_buffer (void)
-  * @param new_buffer The new input buffer.
-  *
-  */
--    __attribute__((unused)) static void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-+    MY_ATTRIBUTE((unused)) static void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
- {
- 
- 	/* TODO. We should be able to replace this entire function body
-@@ -3042,7 +3042,7 @@ static int yy_init_globals (void)
- }
- 
- /* yylex_destroy is for both reentrant and non-reentrant scanners. */
--__attribute__((unused)) static int yylex_destroy  (void)
-+MY_ATTRIBUTE((unused)) static int yylex_destroy  (void)
- {
- 
-     /* Pop the buffer stack, destroying each element. */
---- a/storage/innobase/pars/make_flex.sh
-+++ b/storage/innobase/pars/make_flex.sh
-@@ -1,6 +1,6 @@
- #!/bin/bash
- #
--# Copyright (c) 1994, 2011, Oracle and/or its affiliates. All Rights Reserved.
-+# Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- #
- # This program is free software; you can redistribute it and/or modify it under
- # the terms of the GNU General Public License as published by the Free Software
-@@ -33,15 +33,15 @@ sed -e '
- s/'"$TMPFILE"'/'"$OUTFILE"'/;
- s/\(int offset = \)\((yy_c_buf_p) - (yytext_ptr)\);/\1(int)(\2);/;
- s/\(void yy\(restart\|_\(delete\|flush\)_buffer\)\)/static \1/;
--s/\(void yy_switch_to_buffer\)/__attribute__((unused)) static \1/;
--s/\(void yy\(push\|pop\)_buffer_state\)/__attribute__((unused)) static \1/;
-+s/\(void yy_switch_to_buffer\)/MY_ATTRIBUTE((unused)) static \1/;
-+s/\(void yy\(push\|pop\)_buffer_state\)/MY_ATTRIBUTE((unused)) static \1/;
- s/\(YY_BUFFER_STATE yy_create_buffer\)/static \1/;
--s/\(\(int\|void\) yy[gs]et_\)/__attribute__((unused)) static \1/;
-+s/\(\(int\|void\) yy[gs]et_\)/MY_ATTRIBUTE((unused)) static \1/;
- s/\(void \*\?yy\(\(re\)\?alloc\|free\)\)/static \1/;
- s/\(extern \)\?\(int yy\(leng\|lineno\|_flex_debug\)\)/static \2/;
--s/\(int yylex_destroy\)/__attribute__((unused)) static \1/;
-+s/\(int yylex_destroy\)/MY_ATTRIBUTE((unused)) static \1/;
- s/\(extern \)\?\(int yylex \)/UNIV_INTERN \2/;
--s/^\(\(FILE\|char\) *\* *yyget\)/__attribute__((unused)) static \1/;
-+s/^\(\(FILE\|char\) *\* *yyget\)/MY_ATTRIBUTE((unused)) static \1/;
- s/^\(extern \)\?\(\(FILE\|char\) *\* *yy\)/static \2/;
- ' < $TMPFILE >> $OUTFILE
- 
---- a/storage/innobase/pars/pars0pars.cc
-+++ b/storage/innobase/pars/pars0pars.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -1925,7 +1925,7 @@ pars_create_table(
- 	sym_node_t*	column_defs,	/*!< in: list of column names */
- 	sym_node_t*	compact,	/* in: non-NULL if COMPACT table. */
- 	sym_node_t*	block_size,	/* in: block size (can be NULL) */
--	void*		not_fit_in_memory __attribute__((unused)))
-+	void*		not_fit_in_memory MY_ATTRIBUTE((unused)))
- 					/*!< in: a non-NULL pointer means that
- 					this is a table which in simulations
- 					should be simulated as not fitting
-@@ -2141,7 +2141,7 @@ UNIV_INTERN
- que_fork_t*
- pars_stored_procedure_call(
- /*=======================*/
--	sym_node_t*	sym_node __attribute__((unused)))
-+	sym_node_t*	sym_node MY_ATTRIBUTE((unused)))
- 					/*!< in: stored procedure name */
- {
- 	ut_error;
-@@ -2201,7 +2201,7 @@ UNIV_INTERN
- void
- yyerror(
- /*====*/
--	const char*	s __attribute__((unused)))
-+	const char*	s MY_ATTRIBUTE((unused)))
- 				/*!< in: error message string */
- {
- 	ut_ad(s);
---- a/storage/innobase/rem/rem0cmp.cc
-+++ b/storage/innobase/rem/rem0cmp.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -75,7 +75,7 @@ cmp_debug_dtuple_rec_with_match(
- 				completely  matched fields; when function
- 				returns, contains the value for current
- 				comparison */
--	__attribute__((nonnull, warn_unused_result));
-+	MY_ATTRIBUTE((nonnull, warn_unused_result));
- #endif /* UNIV_DEBUG */
- /*************************************************************//**
- This function is used to compare two data fields for which the data type
-@@ -920,7 +920,7 @@ Compare two physical record fields.
- @retval 1 if rec1 field is greater than rec2
- @retval -1 if rec1 field is less than rec2
- @retval 0 if rec1 field equals to rec2 */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- int
- cmp_rec_rec_simple_field(
- /*=====================*/
---- a/storage/innobase/rem/rem0rec.cc
-+++ b/storage/innobase/rem/rem0rec.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -241,7 +241,7 @@ rec_get_n_extern_new(
- Determine the offset to each field in a leaf-page record
- in ROW_FORMAT=COMPACT.  This is a special case of
- rec_init_offsets() and rec_get_offsets_func(). */
--UNIV_INLINE __attribute__((nonnull))
-+UNIV_INLINE MY_ATTRIBUTE((nonnull))
- void
- rec_init_offsets_comp_ordinary(
- /*===========================*/
-@@ -785,7 +785,7 @@ rec_get_nth_field_offs_old(
- /**********************************************************//**
- Determines the size of a data tuple prefix in ROW_FORMAT=COMPACT.
- @return	total size */
--UNIV_INLINE __attribute__((warn_unused_result, nonnull(1,2)))
-+UNIV_INLINE MY_ATTRIBUTE((warn_unused_result, nonnull(1,2)))
- ulint
- rec_get_converted_size_comp_prefix_low(
- /*===================================*/
-@@ -1130,7 +1130,7 @@ rec_convert_dtuple_to_rec_old(
- 
- /*********************************************************//**
- Builds a ROW_FORMAT=COMPACT record out of a data tuple. */
--UNIV_INLINE __attribute__((nonnull))
-+UNIV_INLINE MY_ATTRIBUTE((nonnull))
- void
- rec_convert_dtuple_to_rec_comp(
- /*===========================*/
---- a/storage/innobase/row/row0ftsort.cc
-+++ b/storage/innobase/row/row0ftsort.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2010, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2010, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -976,7 +976,7 @@ row_fts_start_parallel_merge(
- /********************************************************************//**
- Insert processed FTS data to auxillary index tables.
- @return	DB_SUCCESS if insertion runs fine */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- row_merge_write_fts_word(
- /*=====================*/
---- a/storage/innobase/row/row0import.cc
-+++ b/storage/innobase/row/row0import.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2012, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -2179,7 +2179,7 @@ PageConverter::operator() (
- Clean up after import tablespace failure, this function will acquire
- the dictionary latches on behalf of the transaction if the transaction
- hasn't already acquired them. */
--static	__attribute__((nonnull))
-+static	MY_ATTRIBUTE((nonnull))
- void
- row_import_discard_changes(
- /*=======================*/
-@@ -2230,7 +2230,7 @@ row_import_discard_changes(
- 
- /*****************************************************************//**
- Clean up after import tablespace. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_cleanup(
- /*===============*/
-@@ -2265,7 +2265,7 @@ row_import_cleanup(
- 
- /*****************************************************************//**
- Report error during tablespace import. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_error(
- /*=============*/
-@@ -2293,7 +2293,7 @@ row_import_error(
- Adjust the root page index node and leaf node segment headers, update
- with the new space id. For all the table's secondary indexes.
- @return error code */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_adjust_root_pages_of_secondary_indexes(
- /*==============================================*/
-@@ -2409,7 +2409,7 @@ row_import_adjust_root_pages_of_secondary_indexes(
- /*****************************************************************//**
- Ensure that dict_sys->row_id exceeds SELECT MAX(DB_ROW_ID).
- @return error code */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_set_sys_max_row_id(
- /*==========================*/
-@@ -2559,7 +2559,7 @@ row_import_cfg_read_string(
- /*********************************************************************//**
- Write the meta data (index user fields) config file.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_cfg_read_index_fields(
- /*=============================*/
-@@ -2642,7 +2642,7 @@ row_import_cfg_read_index_fields(
- Read the index names and root page numbers of the indexes and set the values.
- Row format [root_page_no, len of str, str ... ]
- @return DB_SUCCESS or error code. */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_read_index_data(
- /*=======================*/
-@@ -2837,7 +2837,7 @@ row_import_read_indexes(
- /*********************************************************************//**
- Read the meta data (table columns) config file. Deserialise the contents of
- dict_col_t structure, along with the column name. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_read_columns(
- /*====================*/
-@@ -2962,7 +2962,7 @@ row_import_read_columns(
- /*****************************************************************//**
- Read the contents of the <tablespace>.cfg file.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_read_v1(
- /*===============*/
-@@ -3128,7 +3128,7 @@ row_import_read_v1(
- /**
- Read the contents of the <tablespace>.cfg file.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_read_meta_data(
- /*======================*/
-@@ -3171,7 +3171,7 @@ row_import_read_meta_data(
- /**
- Read the contents of the <tablename>.cfg file.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_import_read_cfg(
- /*================*/
---- a/storage/innobase/row/row0ins.cc
-+++ b/storage/innobase/row/row0ins.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -224,7 +224,7 @@ Does an insert operation by updating a delete-marked existing record
- in the index. This situation can occur if the delete-marked record is
- kept in the index for consistent reads.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_sec_index_entry_by_modify(
- /*==============================*/
-@@ -319,7 +319,7 @@ Does an insert operation by delete unmarking and updating a delete marked
- existing record in the index. This situation can occur if the delete marked
- record is kept in the index for consistent reads.
- @return	DB_SUCCESS, DB_FAIL, or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_clust_index_entry_by_modify(
- /*================================*/
-@@ -427,7 +427,7 @@ row_ins_cascade_ancestor_updates_table(
- Returns the number of ancestor UPDATE or DELETE nodes of a
- cascaded update/delete node.
- @return	number of ancestors */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ulint
- row_ins_cascade_n_ancestors(
- /*========================*/
-@@ -453,7 +453,7 @@ a cascaded update.
- can also be 0 if no foreign key fields changed; the returned value is
- ULINT_UNDEFINED if the column type in the child table is too short to
- fit the new value in the parent table: that means the update fails */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ulint
- row_ins_cascade_calc_update_vec(
- /*============================*/
-@@ -926,7 +926,7 @@ Perform referential actions or checks when a parent row is deleted or updated
- and the constraint had an ON DELETE or ON UPDATE condition which was not
- RESTRICT.
- @return	DB_SUCCESS, DB_LOCK_WAIT, or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_foreign_check_on_constraint(
- /*================================*/
-@@ -1747,7 +1747,7 @@ Otherwise does searches to the indexes of referenced tables and
- sets shared locks which lock either the success or the failure of
- a constraint.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_check_foreign_constraints(
- /*==============================*/
-@@ -1888,7 +1888,7 @@ Scans a unique non-clustered index at a given index entry to determine
- whether a uniqueness violation has occurred for the key value of the entry.
- Set shared locks on possible duplicate records.
- @return	DB_SUCCESS, DB_DUPLICATE_KEY, or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_scan_sec_index_for_duplicate(
- /*=================================*/
-@@ -2030,7 +2030,7 @@ end_scan:
- @retval DB_SUCCESS_LOCKED_REC	when rec is an exact match of entry or
- a newer version of entry (the entry should not be inserted)
- @retval DB_DUPLICATE_KEY	when entry is a duplicate of rec */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_duplicate_online(
- /*=====================*/
-@@ -2071,7 +2071,7 @@ row_ins_duplicate_online(
- @retval DB_SUCCESS_LOCKED_REC	when rec is an exact match of entry or
- a newer version of entry (the entry should not be inserted)
- @retval DB_DUPLICATE_KEY	when entry is a duplicate of rec */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_duplicate_error_in_clust_online(
- /*====================================*/
-@@ -2114,7 +2114,7 @@ for a clustered index!
- record
- @retval DB_SUCCESS_LOCKED_REC if an exact match of the record was found
- in online table rebuild (flags & (BTR_KEEP_SYS_FLAG | BTR_NO_LOCKING_FLAG)) */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_duplicate_error_in_clust(
- /*=============================*/
-@@ -2532,7 +2532,7 @@ func_exit:
- /***************************************************************//**
- Starts a mini-transaction and checks if the index will be dropped.
- @return true if the index is to be dropped */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- row_ins_sec_mtr_start_and_check_if_aborted(
- /*=======================================*/
-@@ -2973,7 +2973,7 @@ row_ins_index_entry(
- /***********************************************************//**
- Sets the values of the dtuple fields in entry from the values of appropriate
- columns in row. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_ins_index_entry_set_vals(
- /*=========================*/
-@@ -3026,7 +3026,7 @@ row_ins_index_entry_set_vals(
- Inserts a single index entry to the table.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins_index_entry_step(
- /*=====================*/
-@@ -3149,7 +3149,7 @@ row_ins_get_row_from_select(
- Inserts a row to a table.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_ins(
- /*====*/
---- a/storage/innobase/row/row0log.cc
-+++ b/storage/innobase/row/row0log.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2011, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2011, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -201,7 +201,7 @@ struct row_log_t {
- /** Create the file or online log if it does not exist.
- @param[in,out]	log	online rebuild log
- @return file descriptor. */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- int
- row_log_tmpfile(
- 	row_log_t*	log)
-@@ -217,7 +217,7 @@ row_log_tmpfile(
- /** Allocate the memory for the log buffer.
- @param[in,out]	log_buf	Buffer used for log operation
- @return TRUE if success, false if not */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- bool
- row_log_block_allocate(
- 	row_log_buf_t&	log_buf)
-@@ -407,7 +407,7 @@ row_log_table_get_error(
- /******************************************************//**
- Starts logging an operation to a table that is being rebuilt.
- @return pointer to log, or NULL if no logging is necessary */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- byte*
- row_log_table_open(
- /*===============*/
-@@ -442,7 +442,7 @@ err_exit:
- 
- /******************************************************//**
- Stops logging an operation to a table that is being rebuilt. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_log_table_close_func(
- /*=====================*/
-@@ -812,7 +812,7 @@ row_log_table_low_redundant(
- 
- /******************************************************//**
- Logs an insert or update to a table that is being rebuilt. */
--static __attribute__((nonnull(1,2,3)))
-+static MY_ATTRIBUTE((nonnull(1,2,3)))
- void
- row_log_table_low(
- /*==============*/
-@@ -1312,7 +1312,7 @@ row_log_table_blob_alloc(
- /******************************************************//**
- Converts a log record to a table row.
- @return converted row, or NULL if the conversion fails */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- const dtuple_t*
- row_log_table_apply_convert_mrec(
- /*=============================*/
-@@ -1466,7 +1466,7 @@ blob_done:
- /******************************************************//**
- Replays an insert operation on a table that was rebuilt.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_log_table_apply_insert_low(
- /*===========================*/
-@@ -1548,7 +1548,7 @@ row_log_table_apply_insert_low(
- /******************************************************//**
- Replays an insert operation on a table that was rebuilt.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_log_table_apply_insert(
- /*=======================*/
-@@ -1600,7 +1600,7 @@ row_log_table_apply_insert(
- /******************************************************//**
- Deletes a record from a table that is being rebuilt.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull(1, 2, 4, 5), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1, 2, 4, 5), warn_unused_result))
- dberr_t
- row_log_table_apply_delete_low(
- /*===========================*/
-@@ -1698,7 +1698,7 @@ flag_ok:
- /******************************************************//**
- Replays a delete operation on a table that was rebuilt.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull(1, 3, 4, 5, 6, 7), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1, 3, 4, 5, 6, 7), warn_unused_result))
- dberr_t
- row_log_table_apply_delete(
- /*=======================*/
-@@ -1820,7 +1820,7 @@ all_done:
- /******************************************************//**
- Replays an update operation on a table that was rebuilt.
- @return DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_log_table_apply_update(
- /*=======================*/
-@@ -2183,7 +2183,7 @@ func_exit_committed:
- Applies an operation to a table that was rebuilt.
- @return NULL on failure (mrec corruption) or when out of data;
- pointer to next record on success */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- const mrec_t*
- row_log_table_apply_op(
- /*===================*/
-@@ -2474,7 +2474,7 @@ row_log_table_apply_op(
- /******************************************************//**
- Applies operations to a table was rebuilt.
- @return DB_SUCCESS, or error code on failure */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_log_table_apply_ops(
- /*====================*/
-@@ -2971,7 +2971,7 @@ row_log_get_max_trx(
- 
- /******************************************************//**
- Applies an operation to a secondary index that was being created. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_log_apply_op_low(
- /*=================*/
-@@ -3198,7 +3198,7 @@ func_exit:
- Applies an operation to a secondary index that was being created.
- @return NULL on failure (mrec corruption) or when out of data;
- pointer to next record on success */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- const mrec_t*
- row_log_apply_op(
- /*=============*/
-@@ -3323,7 +3323,7 @@ corrupted:
- /******************************************************//**
- Applies operations to a secondary index that was being created.
- @return DB_SUCCESS, or error code on failure */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- row_log_apply_ops(
- /*==============*/
---- a/storage/innobase/row/row0merge.cc
-+++ b/storage/innobase/row/row0merge.cc
-@@ -70,7 +70,7 @@ UNIV_INTERN char	srv_disable_sort_file_cache;
- #ifdef UNIV_DEBUG
- /******************************************************//**
- Display a merge tuple. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_merge_tuple_print(
- /*==================*/
-@@ -105,7 +105,7 @@ row_merge_tuple_print(
- 
- /******************************************************//**
- Encode an index record. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_merge_buf_encode(
- /*=================*/
-@@ -142,7 +142,7 @@ row_merge_buf_encode(
- /******************************************************//**
- Allocate a sort buffer.
- @return	own: sort buffer */
--static __attribute__((malloc, nonnull))
-+static MY_ATTRIBUTE((malloc, nonnull))
- row_merge_buf_t*
- row_merge_buf_create_low(
- /*=====================*/
-@@ -642,7 +642,7 @@ row_merge_dup_report(
- /*************************************************************//**
- Compare two tuples.
- @return	1, 0, -1 if a is greater, equal, less, respectively, than b */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- int
- row_merge_tuple_cmp(
- /*================*/
-@@ -721,7 +721,7 @@ UT_SORT_FUNCTION_BODY().
- 
- /**********************************************************************//**
- Merge sort the tuple buffer in main memory. */
--static __attribute__((nonnull(4,5)))
-+static MY_ATTRIBUTE((nonnull(4,5)))
- void
- row_merge_tuple_sort(
- /*=================*/
-@@ -1245,7 +1245,7 @@ row_merge_write_eof(
- @param[in,out]	tmpfd	temporary file handle
- @param[in]	path	path to create temporary file
- @return file descriptor, or -1 on failure */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- int
- row_merge_tmpfile_if_needed(
- 	int*		tmpfd,
-@@ -1264,7 +1264,7 @@ row_merge_tmpfile_if_needed(
- @param[in]	nrec	number of records in the file
- @param[in]	path	path to create temporary files
- @return file descriptor, or -1 on failure */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- int
- row_merge_file_create_if_needed(
- 	merge_file_t*	file,
-@@ -1310,7 +1310,7 @@ containing the index entries for the indexes to be built.
- @param[in,out] block		file buffer
- @param[in,out] tmpfd		temporary file handle
- return	DB_SUCCESS or error */
--static __attribute__((nonnull(1,2,3,4,6,9,10,16), warn_unused_result))
-+static MY_ATTRIBUTE((nonnull(1,2,3,4,6,9,10,16), warn_unused_result))
- dberr_t
- row_merge_read_clustered_index(
- 	trx_t*			trx,
-@@ -2028,7 +2028,7 @@ wait_again:
- /*************************************************************//**
- Merge two blocks of records on disk and write a bigger block.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_merge_blocks(
- /*=============*/
-@@ -2139,7 +2139,7 @@ done1:
- /*************************************************************//**
- Copy a block of index entries.
- @return	TRUE on success, FALSE on failure */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ibool
- row_merge_blocks_copy(
- /*==================*/
-@@ -2212,7 +2212,7 @@ done0:
- /*************************************************************//**
- Merge disk files.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- dberr_t
- row_merge(
- /*======*/
-@@ -2398,7 +2398,7 @@ row_merge_sort(
- 
- /*************************************************************//**
- Copy externally stored columns to the data tuple. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_merge_copy_blobs(
- /*=================*/
-@@ -2443,7 +2443,7 @@ row_merge_copy_blobs(
- Read sorted file containing index data tuples and insert these data
- tuples to the index
- @return	DB_SUCCESS or error number */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_merge_insert_index_tuples(
- /*==========================*/
-@@ -3456,7 +3456,7 @@ row_merge_rename_tables_dict(
- /*********************************************************************//**
- Create and execute a query graph for creating an index.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_merge_create_index_graph(
- /*=========================*/
---- a/storage/innobase/row/row0mysql.cc
-+++ b/storage/innobase/row/row0mysql.cc
-@@ -4476,7 +4476,7 @@ row_mysql_drop_temp_tables(void)
- Drop all foreign keys in a database, see Bug#18942.
- Called at the end of row_drop_database_for_mysql().
- @return	error code or DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- drop_all_foreign_keys_in_db(
- /*========================*/
-@@ -4668,7 +4668,7 @@ loop:
- Checks if a table name contains the string "/#sql" which denotes temporary
- tables in MySQL.
- @return	true if temporary table */
--UNIV_INTERN __attribute__((warn_unused_result))
-+UNIV_INTERN MY_ATTRIBUTE((warn_unused_result))
- bool
- row_is_mysql_tmp_table_name(
- /*========================*/
-@@ -4682,7 +4682,7 @@ row_is_mysql_tmp_table_name(
- /****************************************************************//**
- Delete a single constraint.
- @return	error code or DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_delete_constraint_low(
- /*======================*/
-@@ -4705,7 +4705,7 @@ row_delete_constraint_low(
- /****************************************************************//**
- Delete a single constraint.
- @return	error code or DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_delete_constraint(
- /*==================*/
---- a/storage/innobase/row/row0purge.cc
-+++ b/storage/innobase/row/row0purge.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -120,7 +120,7 @@ row_purge_reposition_pcur(
- Removes a delete marked clustered index record if possible.
- @retval true if the row was not found, or it was successfully removed
- @retval false if the row was modified after the delete marking */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- row_purge_remove_clust_if_poss_low(
- /*===============================*/
-@@ -202,7 +202,7 @@ marking.
- @retval true if the row was not found, or it was successfully removed
- @retval false the purge needs to be suspended because of running out
- of file space. */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- row_purge_remove_clust_if_poss(
- /*===========================*/
-@@ -274,7 +274,7 @@ row_purge_poss_sec(
- Removes a secondary index entry if possible, by modifying the
- index tree.  Does not try to buffer the delete.
- @return	TRUE if success or if not found */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- ibool
- row_purge_remove_sec_if_poss_tree(
- /*==============================*/
-@@ -396,7 +396,7 @@ Removes a secondary index entry without modifying the index tree,
- if possible.
- @retval	true if success or if not found
- @retval	false if row_purge_remove_sec_if_poss_tree() should be invoked */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- row_purge_remove_sec_if_poss_leaf(
- /*==============================*/
-@@ -507,7 +507,7 @@ row_purge_remove_sec_if_poss_leaf(
- 
- /***********************************************************//**
- Removes a secondary index entry if possible. */
--UNIV_INLINE __attribute__((nonnull(1,2)))
-+UNIV_INLINE MY_ATTRIBUTE((nonnull(1,2)))
- void
- row_purge_remove_sec_if_poss(
- /*=========================*/
-@@ -554,7 +554,7 @@ Purges a delete marking of a record.
- @retval true if the row was not found, or it was successfully removed
- @retval false the purge needs to be suspended because of
- running out of file space */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- row_purge_del_mark(
- /*===============*/
-@@ -830,7 +830,7 @@ err_exit:
- /***********************************************************//**
- Purges the parsed record.
- @return true if purged, false if skipped */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- row_purge_record_func(
- /*==================*/
-@@ -895,7 +895,7 @@ row_purge_record_func(
- Fetches an undo log record and does the purge for the recorded operation.
- If none left, or the current purge completed, returns the control to the
- parent node, which is always a query thread node. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_purge(
- /*======*/
---- a/storage/innobase/row/row0quiesce.cc
-+++ b/storage/innobase/row/row0quiesce.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 2012, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -37,7 +37,7 @@ Created 2012-02-08 by Sunny Bains.
- /*********************************************************************//**
- Write the meta data (index user fields) config file.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_quiesce_write_index_fields(
- /*===========================*/
-@@ -97,7 +97,7 @@ row_quiesce_write_index_fields(
- /*********************************************************************//**
- Write the meta data config file index information.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_quiesce_write_indexes(
- /*======================*/
-@@ -210,7 +210,7 @@ Write the meta data (table columns) config file. Serialise the contents of
- dict_col_t structure, along with the column name. All fields are serialized
- as ib_uint32_t.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_quiesce_write_table(
- /*====================*/
-@@ -293,7 +293,7 @@ row_quiesce_write_table(
- /*********************************************************************//**
- Write the meta data config file header.
- @return DB_SUCCESS or error code. */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_quiesce_write_header(
- /*=====================*/
-@@ -415,7 +415,7 @@ row_quiesce_write_header(
- /*********************************************************************//**
- Write the table meta data after quiesce.
- @return DB_SUCCESS or error code */
--static	__attribute__((nonnull, warn_unused_result))
-+static	MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_quiesce_write_cfg(
- /*==================*/
---- a/storage/innobase/row/row0sel.cc
-+++ b/storage/innobase/row/row0sel.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -675,7 +675,7 @@ sel_enqueue_prefetched_row(
- /*********************************************************************//**
- Builds a previous version of a clustered index record for a consistent read
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_sel_build_prev_vers(
- /*====================*/
-@@ -710,7 +710,7 @@ row_sel_build_prev_vers(
- /*********************************************************************//**
- Builds the last committed version of a clustered index record for a
- semi-consistent read. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_sel_build_committed_vers_for_mysql(
- /*===================================*/
-@@ -808,7 +808,7 @@ row_sel_test_other_conds(
- Retrieves the clustered index record corresponding to a record in a
- non-clustered index. Does the necessary locking.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_sel_get_clust_rec(
- /*==================*/
-@@ -1312,7 +1312,7 @@ func_exit:
- /*********************************************************************//**
- Performs a select step.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_sel(
- /*====*/
-@@ -2563,7 +2563,7 @@ row_sel_store_row_id_to_prebuilt(
- /**************************************************************//**
- Stores a non-SQL-NULL field in the MySQL format. The counterpart of this
- function is row_mysql_store_col_in_innobase_format() in row0mysql.cc. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_sel_field_store_in_mysql_format_func(
- /*=====================================*/
-@@ -2752,7 +2752,7 @@ row_sel_field_store_in_mysql_format_func(
- #endif /* UNIV_DEBUG */
- /**************************************************************//**
- Convert a field in the Innobase format to a field in the MySQL format. */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- ibool
- row_sel_store_mysql_field_func(
- /*===========================*/
-@@ -2902,7 +2902,7 @@ Note that the template in prebuilt may advise us to copy only a few
- columns to mysql_rec, other columns are left blank. All columns may not
- be needed in the query.
- @return TRUE on success, FALSE if not all columns could be retrieved */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- ibool
- row_sel_store_mysql_rec(
- /*====================*/
-@@ -2964,7 +2964,7 @@ row_sel_store_mysql_rec(
- /*********************************************************************//**
- Builds a previous version of a clustered index record for a consistent read
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_sel_build_prev_vers_for_mysql(
- /*==============================*/
-@@ -3001,7 +3001,7 @@ Retrieves the clustered index record corresponding to a record in a
- non-clustered index. Does the necessary locking. Used in the MySQL
- interface.
- @return	DB_SUCCESS, DB_SUCCESS_LOCKED_REC, or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_sel_get_clust_rec_for_mysql(
- /*============================*/
---- a/storage/innobase/row/row0uins.cc
-+++ b/storage/innobase/row/row0uins.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -61,7 +61,7 @@ introduced where a call to log_free_check() is bypassed. */
- Removes a clustered index record. The pcur in node was positioned on the
- record, now it is detached.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static  __attribute__((nonnull, warn_unused_result))
-+static  MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_ins_remove_clust_rec(
- /*==========================*/
-@@ -176,7 +176,7 @@ func_exit:
- /***************************************************************//**
- Removes a secondary index entry if found.
- @return	DB_SUCCESS, DB_FAIL, or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_ins_remove_sec_low(
- /*========================*/
-@@ -251,7 +251,7 @@ func_exit_no_pcur:
- Removes a secondary index entry from the index if found. Tries first
- optimistic, then pessimistic descent down the tree.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_ins_remove_sec(
- /*====================*/
-@@ -350,7 +350,7 @@ close_table:
- /***************************************************************//**
- Removes secondary index records.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_ins_remove_sec_rec(
- /*========================*/
---- a/storage/innobase/row/row0umod.cc
-+++ b/storage/innobase/row/row0umod.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -72,7 +72,7 @@ introduced where a call to log_free_check() is bypassed. */
- /***********************************************************//**
- Undoes a modify in a clustered index record.
- @return	DB_SUCCESS, DB_FAIL, or error code: we may run out of file space */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_clust_low(
- /*===================*/
-@@ -154,7 +154,7 @@ This is attempted when the record was inserted by updating a
- delete-marked record and there no longer exist transactions
- that would see the delete-marked record.
- @return	DB_SUCCESS, DB_FAIL, or error code: we may run out of file space */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_remove_clust_low(
- /*==========================*/
-@@ -243,7 +243,7 @@ row_undo_mod_remove_clust_low(
- Undoes a modify in a clustered index record. Sets also the node state for the
- next round of undo.
- @return	DB_SUCCESS or error code: we may run out of file space */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_clust(
- /*===============*/
-@@ -380,7 +380,7 @@ row_undo_mod_clust(
- /***********************************************************//**
- Delete marks or removes a secondary index entry if found.
- @return	DB_SUCCESS, DB_FAIL, or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_del_mark_or_remove_sec_low(
- /*====================================*/
-@@ -516,7 +516,7 @@ not cause problems because in row0sel.cc, in queries we always retrieve the
- clustered index record or an earlier version of it, if the secondary index
- record through which we do the search is delete-marked.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_del_mark_or_remove_sec(
- /*================================*/
-@@ -549,7 +549,7 @@ fields but alphabetically they stayed the same, e.g., 'abc' -> 'aBc'.
- @retval	DB_OUT_OF_FILE_SPACE when running out of tablespace
- @retval	DB_DUPLICATE_KEY if the value was missing
- 	and an insert would lead to a duplicate exists */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_del_unmark_sec_and_undo_update(
- /*========================================*/
-@@ -745,7 +745,7 @@ func_exit_no_pcur:
- 
- /***********************************************************//**
- Flags a secondary index corrupted. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_undo_mod_sec_flag_corrupted(
- /*============================*/
-@@ -777,7 +777,7 @@ row_undo_mod_sec_flag_corrupted(
- /***********************************************************//**
- Undoes a modify in secondary indexes when undo record type is UPD_DEL.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_upd_del_sec(
- /*=====================*/
-@@ -844,7 +844,7 @@ row_undo_mod_upd_del_sec(
- /***********************************************************//**
- Undoes a modify in secondary indexes when undo record type is DEL_MARK.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_del_mark_sec(
- /*======================*/
-@@ -912,7 +912,7 @@ row_undo_mod_del_mark_sec(
- /***********************************************************//**
- Undoes a modify in secondary indexes when undo record type is UPD_EXIST.
- @return	DB_SUCCESS or DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo_mod_upd_exist_sec(
- /*=======================*/
-@@ -1028,7 +1028,7 @@ row_undo_mod_upd_exist_sec(
- 
- /***********************************************************//**
- Parses the row reference and other info in a modify undo log record. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- row_undo_mod_parse_undo_rec(
- /*========================*/
---- a/storage/innobase/row/row0undo.cc
-+++ b/storage/innobase/row/row0undo.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1997, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1997, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -245,7 +245,7 @@ Fetches an undo log record and does the undo for the recorded operation.
- If none left, or a partial rollback completed, returns control to the
- parent node, which is always a query thread node.
- @return	DB_SUCCESS if operation successfully completed, else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_undo(
- /*=====*/
---- a/storage/innobase/row/row0upd.cc
-+++ b/storage/innobase/row/row0upd.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -170,7 +170,7 @@ NOTE that this function will temporarily commit mtr and lose the
- pcur position!
- 
- @return	DB_SUCCESS or an error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_check_references_constraints(
- /*=================================*/
-@@ -607,7 +607,7 @@ row_upd_write_sys_vals_to_log(
- 	roll_ptr_t	roll_ptr,/*!< in: roll ptr of the undo log record */
- 	byte*		log_ptr,/*!< pointer to a buffer of size > 20 opened
- 				in mlog */
--	mtr_t*		mtr __attribute__((unused))) /*!< in: mtr */
-+	mtr_t*		mtr MY_ATTRIBUTE((unused))) /*!< in: mtr */
- {
- 	ut_ad(dict_index_is_clust(index));
- 	ut_ad(mtr);
-@@ -1642,7 +1642,7 @@ row_upd_store_row(
- Updates a secondary index entry of a row.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_sec_index_entry(
- /*====================*/
-@@ -1844,7 +1844,7 @@ Updates the secondary index record if it is changed in the row update or
- deletes it if this is a delete.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_sec_step(
- /*=============*/
-@@ -1877,7 +1877,7 @@ updated. We must mark them as inherited in entry, so that they are not
- freed in a rollback. A limited version of this function used to be
- called btr_cur_mark_dtuple_inherited_extern().
- @return TRUE if any columns were inherited */
--static __attribute__((warn_unused_result))
-+static MY_ATTRIBUTE((warn_unused_result))
- ibool
- row_upd_clust_rec_by_insert_inherit_func(
- /*=====================================*/
-@@ -1956,7 +1956,7 @@ fields of the clustered index record change. This should be quite rare in
- database applications.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_clust_rec_by_insert(
- /*========================*/
-@@ -2081,7 +2081,7 @@ Updates a clustered index record of a row when the ordering fields do
- not change.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_clust_rec(
- /*==============*/
-@@ -2240,7 +2240,7 @@ func_exit:
- /***********************************************************//**
- Delete marks a clustered index record.
- @return	DB_SUCCESS if operation successfully completed, else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_del_mark_clust_rec(
- /*=======================*/
-@@ -2292,7 +2292,7 @@ row_upd_del_mark_clust_rec(
- Updates the clustered index record.
- @return DB_SUCCESS if operation successfully completed, DB_LOCK_WAIT
- in case of a lock wait, else error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd_clust_step(
- /*===============*/
-@@ -2488,7 +2488,7 @@ to this node, we assume that we have a persistent cursor which was on a
- record, and the position of the cursor is stored in the cursor.
- @return DB_SUCCESS if operation successfully completed, else error
- code or DB_LOCK_WAIT */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- row_upd(
- /*====*/
---- a/storage/innobase/srv/srv0srv.cc
-+++ b/storage/innobase/srv/srv0srv.cc
-@@ -1497,7 +1497,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_monitor_thread)(
- /*===============================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- {
-@@ -1674,7 +1674,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_error_monitor_thread)(
- /*=====================================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- {
-@@ -2310,7 +2310,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_master_thread)(
- /*==============================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- {
-@@ -2454,7 +2454,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_worker_thread)(
- /*==============================*/
--	void*	arg __attribute__((unused)))	/*!< in: a dummy parameter
-+	void*	arg MY_ATTRIBUTE((unused)))	/*!< in: a dummy parameter
- 						required by os_thread_create */
- {
- 	srv_slot_t*	slot;
-@@ -2712,7 +2712,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(srv_purge_coordinator_thread)(
- /*=========================================*/
--	void*	arg __attribute__((unused)))	/*!< in: a dummy parameter
-+	void*	arg MY_ATTRIBUTE((unused)))	/*!< in: a dummy parameter
- 						required by os_thread_create */
- {
- 	srv_slot_t*	slot;
---- a/storage/innobase/srv/srv0start.cc
-+++ b/storage/innobase/srv/srv0start.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved.
- Copyright (c) 2008, Google Inc.
- Copyright (c) 2009, Percona Inc.
- 
-@@ -509,7 +509,7 @@ UNIV_INTERN
- void
- srv_normalize_path_for_win(
- /*=======================*/
--	char*	str __attribute__((unused)))	/*!< in/out: null-terminated
-+	char*	str MY_ATTRIBUTE((unused)))	/*!< in/out: null-terminated
- 						character string */
- {
- #ifdef __WIN__
-@@ -526,7 +526,7 @@ srv_normalize_path_for_win(
- /*********************************************************************//**
- Creates a log file.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- create_log_file(
- /*============*/
-@@ -733,7 +733,7 @@ create_log_files_rename(
- /*********************************************************************//**
- Opens a log file.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- open_log_file(
- /*==========*/
-@@ -761,7 +761,7 @@ open_log_file(
- /*********************************************************************//**
- Creates or opens database data files and closes them.
- @return	DB_SUCCESS or error code */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- open_or_create_data_files(
- /*======================*/
---- a/storage/innobase/sync/sync0sync.cc
-+++ b/storage/innobase/sync/sync0sync.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1995, 2016, Oracle and/or its affiliates. All Rights Reserved.
- Copyright (c) 2008, Google Inc.
- 
- Portions of this file contain modifications contributed and copyrighted by
-@@ -387,10 +387,10 @@ ulint
- mutex_enter_nowait_func(
- /*====================*/
- 	ib_mutex_t*	mutex,		/*!< in: pointer to mutex */
--	const char*	file_name __attribute__((unused)),
-+	const char*	file_name MY_ATTRIBUTE((unused)),
- 					/*!< in: file name where mutex
- 					requested */
--	ulint		line __attribute__((unused)))
-+	ulint		line MY_ATTRIBUTE((unused)))
- 					/*!< in: line where requested */
- {
- 	ut_ad(mutex_validate(mutex));
---- a/storage/innobase/trx/trx0purge.cc
-+++ b/storage/innobase/trx/trx0purge.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -913,7 +913,7 @@ Fetches the next undo log record from the history list to purge. It must be
- released with the corresponding release function.
- @return copy of an undo log record or pointer to trx_purge_dummy_rec,
- if the whole undo log can skipped in purge; NULL if none left */
--static __attribute__((warn_unused_result, nonnull))
-+static MY_ATTRIBUTE((warn_unused_result, nonnull))
- trx_undo_rec_t*
- trx_purge_fetch_next_rec(
- /*=====================*/
---- a/storage/innobase/trx/trx0rec.cc
-+++ b/storage/innobase/trx/trx0rec.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -1132,7 +1132,7 @@ trx_undo_rec_get_partial_row(
- /***********************************************************************//**
- Erases the unused undo log page end.
- @return TRUE if the page contained something, FALSE if it was empty */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- ibool
- trx_undo_erase_page_end(
- /*====================*/
-@@ -1158,7 +1158,7 @@ byte*
- trx_undo_parse_erase_page_end(
- /*==========================*/
- 	byte*	ptr,	/*!< in: buffer */
--	byte*	end_ptr __attribute__((unused)), /*!< in: buffer end */
-+	byte*	end_ptr MY_ATTRIBUTE((unused)), /*!< in: buffer end */
- 	page_t*	page,	/*!< in: page or NULL */
- 	mtr_t*	mtr)	/*!< in: mtr or NULL */
- {
-@@ -1441,7 +1441,7 @@ NOTE: the caller must have latches on the clustered index page.
- @retval true if the undo log has been
- truncated and we cannot fetch the old version
- @retval false if the undo log record is available  */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- bool
- trx_undo_get_undo_rec(
- /*==================*/
-@@ -1469,7 +1469,7 @@ trx_undo_get_undo_rec(
- #ifdef UNIV_DEBUG
- #define ATTRIB_USED_ONLY_IN_DEBUG
- #else /* UNIV_DEBUG */
--#define ATTRIB_USED_ONLY_IN_DEBUG	__attribute__((unused))
-+#define ATTRIB_USED_ONLY_IN_DEBUG	MY_ATTRIBUTE((unused))
- #endif /* UNIV_DEBUG */
- 
- /*******************************************************************//**
---- a/storage/innobase/trx/trx0roll.cc
-+++ b/storage/innobase/trx/trx0roll.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -336,7 +336,7 @@ the row, these locks are naturally released in the rollback. Savepoints which
- were set after this savepoint are deleted.
- @return if no savepoint of the name found then DB_NO_SAVEPOINT,
- otherwise DB_SUCCESS */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- trx_rollback_to_savepoint_for_mysql_low(
- /*====================================*/
-@@ -796,7 +796,7 @@ extern "C" UNIV_INTERN
- os_thread_ret_t
- DECLARE_THREAD(trx_rollback_or_clean_all_recovered)(
- /*================================================*/
--	void*	arg __attribute__((unused)))
-+	void*	arg MY_ATTRIBUTE((unused)))
- 			/*!< in: a dummy parameter required by
- 			os_thread_create */
- {
---- a/storage/innobase/trx/trx0trx.cc
-+++ b/storage/innobase/trx/trx0trx.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -959,7 +959,7 @@ trx_serialisation_number_get(
- /****************************************************************//**
- Assign the transaction its history serialisation number and write the
- update UNDO log record to the assigned rollback segment. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- trx_write_serialisation_history(
- /*============================*/
-@@ -1030,7 +1030,7 @@ trx_write_serialisation_history(
- 
- /********************************************************************
- Finalize a transaction containing updates for a FTS table. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- trx_finalize_for_fts_table(
- /*=======================*/
-@@ -1063,7 +1063,7 @@ trx_finalize_for_fts_table(
- 
- /******************************************************************//**
- Finalize a transaction containing updates to FTS tables. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- trx_finalize_for_fts(
- /*=================*/
-@@ -1130,7 +1130,7 @@ trx_flush_log_if_needed_low(
- /**********************************************************************//**
- If required, flushes the log to disk based on the value of
- innodb_flush_log_at_trx_commit. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- trx_flush_log_if_needed(
- /*====================*/
-@@ -1145,7 +1145,7 @@ trx_flush_log_if_needed(
- 
- /****************************************************************//**
- Commits a transaction in memory. */
--static __attribute__((nonnull))
-+static MY_ATTRIBUTE((nonnull))
- void
- trx_commit_in_memory(
- /*=================*/
-@@ -2136,7 +2136,7 @@ which is in the prepared state
- @return	trx on match, the trx->xid will be invalidated;
- note that the trx may have been committed, unless the caller is
- holding lock_sys->mutex */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- trx_t*
- trx_get_trx_by_xid_low(
- /*===================*/
---- a/storage/innobase/trx/trx0undo.cc
-+++ b/storage/innobase/trx/trx0undo.cc
-@@ -1,6 +1,6 @@
- /*****************************************************************************
- 
--Copyright (c) 1996, 2013, Oracle and/or its affiliates. All Rights Reserved.
-+Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
- 
- This program is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
-@@ -419,11 +419,11 @@ trx_undo_page_init(
- Creates a new undo log segment in file.
- @return DB_SUCCESS if page creation OK possible error codes are:
- DB_TOO_MANY_CONCURRENT_TRXS DB_OUT_OF_FILE_SPACE */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- trx_undo_seg_create(
- /*================*/
--	trx_rseg_t*	rseg __attribute__((unused)),/*!< in: rollback segment */
-+	trx_rseg_t*	rseg MY_ATTRIBUTE((unused)),/*!< in: rollback segment */
- 	trx_rsegf_t*	rseg_hdr,/*!< in: rollback segment header, page
- 				x-latched */
- 	ulint		type,	/*!< in: type of the segment: TRX_UNDO_INSERT or
-@@ -827,7 +827,7 @@ byte*
- trx_undo_parse_discard_latest(
- /*==========================*/
- 	byte*	ptr,	/*!< in: buffer */
--	byte*	end_ptr __attribute__((unused)), /*!< in: buffer end */
-+	byte*	end_ptr MY_ATTRIBUTE((unused)), /*!< in: buffer end */
- 	page_t*	page,	/*!< in: page or NULL */
- 	mtr_t*	mtr)	/*!< in: mtr or NULL */
- {
-@@ -1557,7 +1557,7 @@ Creates a new undo log.
- @return DB_SUCCESS if successful in creating the new undo lob object,
- possible error codes are: DB_TOO_MANY_CONCURRENT_TRXS
- DB_OUT_OF_FILE_SPACE DB_OUT_OF_MEMORY */
--static __attribute__((nonnull, warn_unused_result))
-+static MY_ATTRIBUTE((nonnull, warn_unused_result))
- dberr_t
- trx_undo_create(
- /*============*/
---- a/storage/myisam/ft_boolean_search.c
-+++ b/storage/myisam/ft_boolean_search.c
-@@ -332,7 +332,7 @@ static int _ftb_parse_query(FTB *ftb, uchar *query, uint len,
- }
- 
- 
--static int _ftb_no_dupes_cmp(const void* not_used __attribute__((unused)),
-+static int _ftb_no_dupes_cmp(const void* not_used MY_ATTRIBUTE((unused)),
-                              const void *a,const void *b)
- {
-   return CMP_NUM((*((my_off_t*)a)), (*((my_off_t*)b)));
-@@ -643,7 +643,7 @@ typedef struct st_my_ftb_phrase_param
- 
- static int ftb_phrase_add_word(MYSQL_FTPARSER_PARAM *param,
-                                char *word, int word_len,
--    MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info __attribute__((unused)))
-+    MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info MY_ATTRIBUTE((unused)))
- {
-   MY_FTB_PHRASE_PARAM *phrase_param= param->mysql_ftparam;
-   FT_WORD *w= (FT_WORD *)phrase_param->document->data;
-@@ -901,7 +901,7 @@ typedef struct st_my_ftb_find_param
- 
- static int ftb_find_relevance_add_word(MYSQL_FTPARSER_PARAM *param,
-                                        char *word, int len,
--             MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info __attribute__((unused)))
-+             MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info MY_ATTRIBUTE((unused)))
- {
-   MY_FTB_FIND_PARAM *ftb_param= param->mysql_ftparam;
-   FT_INFO *ftb= ftb_param->ftb;
---- a/storage/myisam/ft_nlq_search.c
-+++ b/storage/myisam/ft_nlq_search.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -51,7 +51,7 @@ typedef struct st_ft_superdoc
-     double   tmp_weight;
- } FT_SUPERDOC;
- 
--static int FT_SUPERDOC_cmp(void* cmp_arg __attribute__((unused)),
-+static int FT_SUPERDOC_cmp(void* cmp_arg MY_ATTRIBUTE((unused)),
- 			   FT_SUPERDOC *p1, FT_SUPERDOC *p2)
- {
-   if (p1->doc.dpos < p2->doc.dpos)
-@@ -189,7 +189,7 @@ do_skip:
- 
- 
- static int walk_and_copy(FT_SUPERDOC *from,
--			 uint32 count __attribute__((unused)), FT_DOC **to)
-+			 uint32 count MY_ATTRIBUTE((unused)), FT_DOC **to)
- {
-   DBUG_ENTER("walk_and_copy");
-   from->doc.weight+=from->tmp_weight*from->word_ptr->weight;
-@@ -200,7 +200,7 @@ static int walk_and_copy(FT_SUPERDOC *from,
- }
- 
- static int walk_and_push(FT_SUPERDOC *from,
--			 uint32 count __attribute__((unused)), QUEUE *best)
-+			 uint32 count MY_ATTRIBUTE((unused)), QUEUE *best)
- {
-   DBUG_ENTER("walk_and_copy");
-   from->doc.weight+=from->tmp_weight*from->word_ptr->weight;
-@@ -210,7 +210,7 @@ static int walk_and_push(FT_SUPERDOC *from,
- }
- 
- 
--static int FT_DOC_cmp(void *unused __attribute__((unused)),
-+static int FT_DOC_cmp(void *unused MY_ATTRIBUTE((unused)),
-                       FT_DOC *a, FT_DOC *b)
- {
-   double c= b->weight - a->weight;
-@@ -345,8 +345,8 @@ int ft_nlq_read_next(FT_INFO *handler, char *record)
- 
- 
- float ft_nlq_find_relevance(FT_INFO *handler,
--			    uchar *record __attribute__((unused)),
--			    uint length __attribute__((unused)))
-+			    uchar *record MY_ATTRIBUTE((unused)),
-+			    uint length MY_ATTRIBUTE((unused)))
- {
-   int a,b,c;
-   FT_DOC  *docs=handler->doc;
---- a/storage/myisam/ft_parser.c
-+++ b/storage/myisam/ft_parser.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights
-    reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -259,7 +259,7 @@ void ft_parse_init(TREE *wtree, const CHARSET_INFO *cs)
- 
- static int ft_add_word(MYSQL_FTPARSER_PARAM *param,
-                        char *word, int word_len,
--             MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info __attribute__((unused)))
-+             MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info MY_ATTRIBUTE((unused)))
- {
-   TREE *wtree;
-   FT_WORD w;
---- a/storage/myisam/ft_stopwords.c
-+++ b/storage/myisam/ft_stopwords.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -30,7 +30,7 @@ typedef struct st_ft_stopwords
- 
- static TREE *stopwords3=NULL;
- 
--static int FT_STOPWORD_cmp(void* cmp_arg __attribute__((unused)),
-+static int FT_STOPWORD_cmp(void* cmp_arg MY_ATTRIBUTE((unused)),
- 			   FT_STOPWORD *w1, FT_STOPWORD *w2)
- {
-   return ha_compare_text(ft_stopword_cs,
-@@ -39,7 +39,7 @@ static int FT_STOPWORD_cmp(void* cmp_arg __attribute__((unused)),
- }
- 
- static void FT_STOPWORD_free(FT_STOPWORD *w, TREE_FREE action,
--                             void *arg __attribute__((unused)))
-+                             void *arg MY_ATTRIBUTE((unused)))
- {
-   if (action == free_free)
-     my_free((void*)w->pos);
---- a/storage/myisam/ha_myisam.cc
-+++ b/storage/myisam/ha_myisam.cc
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1725,8 +1725,8 @@ int ha_myisam::index_last(uchar *buf)
- }
- 
- int ha_myisam::index_next_same(uchar *buf,
--			       const uchar *key __attribute__((unused)),
--			       uint length __attribute__((unused)))
-+			       const uchar *key MY_ATTRIBUTE((unused)),
-+			       uint length MY_ATTRIBUTE((unused)))
- {
-   int error;
-   DBUG_ASSERT(inited==INDEX);
---- a/storage/myisam/mi_check.c
-+++ b/storage/myisam/mi_check.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1902,7 +1902,7 @@ int movepoint(register MI_INFO *info, uchar *record, my_off_t oldpos,
- 
- 	/* Tell system that we want all memory for our cache */
- 
--void lock_memory(MI_CHECK *param __attribute__((unused)))
-+void lock_memory(MI_CHECK *param MY_ATTRIBUTE((unused)))
- {
- #ifdef SUN_OS				/* Key-cacheing thrases on sun 4.1 */
-   if (param->opt_lock_memory)
---- a/storage/myisam/mi_extrafunc.h
-+++ b/storage/myisam/mi_extrafunc.h
-@@ -1,5 +1,4 @@
--/* Copyright (c) 2000-2006 MySQL AB, 2009 Sun Microsystems, Inc.
--   Use is subject to license terms.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -14,9 +13,9 @@
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
- 
--void _mi_report_crashed(MI_INFO *file __attribute__((unused)),
--                        const char *message __attribute__((unused)),
--                        const char *sfile __attribute__((unused)),
--                        uint sline __attribute__((unused)))
-+void _mi_report_crashed(MI_INFO *file MY_ATTRIBUTE((unused)),
-+                        const char *message MY_ATTRIBUTE((unused)),
-+                        const char *sfile MY_ATTRIBUTE((unused)),
-+                        uint sline MY_ATTRIBUTE((unused)))
- {
- }
---- a/storage/myisam/mi_keycache.c
-+++ b/storage/myisam/mi_keycache.c
-@@ -1,5 +1,4 @@
--/* Copyright (c) 2003-2008 MySQL AB, 2009 Sun Microsystems, Inc.
--   Use is subject to license terms.
-+/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -48,7 +47,7 @@
- */
- 
- int mi_assign_to_key_cache(MI_INFO *info,
--			   ulonglong key_map __attribute__((unused)),
-+			   ulonglong key_map MY_ATTRIBUTE((unused)),
- 			   KEY_CACHE *key_cache)
- {
-   int error= 0;
---- a/storage/myisam/mi_open.c
-+++ b/storage/myisam/mi_open.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1229,7 +1229,7 @@ exist a dup()-like call that would give us two different file descriptors.
- *************************************************************************/
- 
- int mi_open_datafile(MI_INFO *info, MYISAM_SHARE *share, const char *org_name,
--                     File file_to_dup __attribute__((unused)))
-+                     File file_to_dup MY_ATTRIBUTE((unused)))
- {
-   char *data_name= share->data_file_name;
-   char real_data_name[FN_REFLEN];
---- a/storage/myisam/mi_packrec.c
-+++ b/storage/myisam/mi_packrec.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -1009,7 +1009,7 @@ static void uf_zerofill_normal(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff, uchar *
- }
- 
- static void uf_constant(MI_COLUMNDEF *rec,
--			MI_BIT_BUFF *bit_buff __attribute__((unused)),
-+			MI_BIT_BUFF *bit_buff MY_ATTRIBUTE((unused)),
- 			uchar *to,
- 			uchar *end)
- {
-@@ -1027,8 +1027,8 @@ static void uf_intervall(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff, uchar *to,
- 
- 
- /*ARGSUSED*/
--static void uf_zero(MI_COLUMNDEF *rec __attribute__((unused)),
--		    MI_BIT_BUFF *bit_buff __attribute__((unused)),
-+static void uf_zero(MI_COLUMNDEF *rec MY_ATTRIBUTE((unused)),
-+		    MI_BIT_BUFF *bit_buff MY_ATTRIBUTE((unused)),
- 		    uchar *to, uchar *end)
- {
-   memset(to, 0, (end-to));
-@@ -1058,7 +1058,7 @@ static void uf_blob(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff,
- 
- 
- static void uf_varchar1(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff,
--		       uchar *to, uchar *end __attribute__((unused)))
-+		       uchar *to, uchar *end MY_ATTRIBUTE((unused)))
- {
-   if (get_bit(bit_buff))
-     to[0]= 0;				/* Zero lengths */
-@@ -1072,7 +1072,7 @@ static void uf_varchar1(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff,
- 
- 
- static void uf_varchar2(MI_COLUMNDEF *rec, MI_BIT_BUFF *bit_buff,
--		       uchar *to, uchar *end __attribute__((unused)))
-+		       uchar *to, uchar *end MY_ATTRIBUTE((unused)))
- {
-   if (get_bit(bit_buff))
-     to[0]=to[1]=0;				/* Zero lengths */
-@@ -1607,7 +1607,7 @@ static int _mi_read_mempack_record(MI_INFO *info, my_off_t filepos, uchar *buf)
- static int _mi_read_rnd_mempack_record(MI_INFO *info, uchar *buf,
- 				       register my_off_t filepos,
- 				       my_bool skip_deleted_blocks
--				       __attribute__((unused)))
-+				       MY_ATTRIBUTE((unused)))
- {
-   MI_BLOCK_INFO block_info;
-   MYISAM_SHARE *share=info->s;
---- a/storage/myisam/mi_search.c
-+++ b/storage/myisam/mi_search.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -180,7 +180,7 @@ err:
- 
- int _mi_bin_search(MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *page,
-                    uchar *key, uint key_len, uint comp_flag, uchar **ret_pos,
--                   uchar *buff __attribute__((unused)), my_bool *last_key)
-+                   uchar *buff MY_ATTRIBUTE((unused)), my_bool *last_key)
- {
-   reg4 int start,mid,end,save_end;
-   int flag;
-@@ -1420,9 +1420,9 @@ int _mi_search_last(register MI_INFO *info, register MI_KEYDEF *keyinfo,
- 
- int
- _mi_calc_static_key_length(MI_KEYDEF *keyinfo,uint nod_flag,
--                           uchar *next_pos  __attribute__((unused)),
--                           uchar *org_key  __attribute__((unused)),
--                           uchar *prev_key __attribute__((unused)),
-+                           uchar *next_pos  MY_ATTRIBUTE((unused)),
-+                           uchar *org_key  MY_ATTRIBUTE((unused)),
-+                           uchar *prev_key MY_ATTRIBUTE((unused)),
-                            uchar *key, MI_KEY_PARAM *s_temp)
- {
-   s_temp->key=key;
-@@ -1433,9 +1433,9 @@ _mi_calc_static_key_length(MI_KEYDEF *keyinfo,uint nod_flag,
- 
- int
- _mi_calc_var_key_length(MI_KEYDEF *keyinfo,uint nod_flag,
--                        uchar *next_pos  __attribute__((unused)),
--                        uchar *org_key  __attribute__((unused)),
--                        uchar *prev_key __attribute__((unused)),
-+                        uchar *next_pos  MY_ATTRIBUTE((unused)),
-+                        uchar *org_key  MY_ATTRIBUTE((unused)),
-+                        uchar *prev_key MY_ATTRIBUTE((unused)),
-                         uchar *key, MI_KEY_PARAM *s_temp)
- {
-   s_temp->key=key;
-@@ -1825,7 +1825,7 @@ _mi_calc_bin_pack_key_length(MI_KEYDEF *keyinfo,uint nod_flag,uchar *next_key,
- 
- /* store key without compression */
- 
--void _mi_store_static_key(MI_KEYDEF *keyinfo __attribute__((unused)),
-+void _mi_store_static_key(MI_KEYDEF *keyinfo MY_ATTRIBUTE((unused)),
-                           register uchar *key_pos,
-                           register MI_KEY_PARAM *s_temp)
- {
-@@ -1840,7 +1840,7 @@ void _mi_store_static_key(MI_KEYDEF *keyinfo __attribute__((unused)),
-   { *((pos)++) = (uchar) ((length) >> 8); *((pos)++) = (uchar) (length);  } }
- 
- 
--void _mi_store_var_pack_key(MI_KEYDEF *keyinfo  __attribute__((unused)),
-+void _mi_store_var_pack_key(MI_KEYDEF *keyinfo  MY_ATTRIBUTE((unused)),
-                             register uchar *key_pos,
-                             register MI_KEY_PARAM *s_temp)
- {
-@@ -1903,7 +1903,7 @@ void _mi_store_var_pack_key(MI_KEYDEF *keyinfo  __attribute__((unused)),
- 
- /* variable length key with prefix compression */
- 
--void _mi_store_bin_pack_key(MI_KEYDEF *keyinfo  __attribute__((unused)),
-+void _mi_store_bin_pack_key(MI_KEYDEF *keyinfo  MY_ATTRIBUTE((unused)),
-                             register uchar *key_pos,
-                             register MI_KEY_PARAM *s_temp)
- {
---- a/storage/myisam/mi_static.c
-+++ b/storage/myisam/mi_static.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -41,7 +41,7 @@ ulonglong myisam_max_temp_length= MAX_FILE_SIZE;
- ulong    myisam_data_pointer_size=4;
- ulonglong    myisam_mmap_size= SIZE_T_MAX, myisam_mmap_used= 0;
- 
--static int always_valid(const char *filename __attribute__((unused)))
-+static int always_valid(const char *filename MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
---- a/storage/myisam/mi_test1.c
-+++ b/storage/myisam/mi_test1.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -586,8 +586,8 @@ static struct my_option my_long_options[] =
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch(optid) {
-   case 'a':
---- a/storage/myisam/myisam_ftdump.c
-+++ b/storage/myisam/myisam_ftdump.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -226,8 +226,8 @@ err:
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
--	       char *argument __attribute__((unused)))
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
-+	       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch(optid) {
-   case 'd':
---- a/storage/myisam/myisamchk.c
-+++ b/storage/myisam/myisamchk.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -466,7 +466,7 @@ TYPELIB myisam_stats_method_typelib= {
- 
- static my_bool
- get_one_option(int optid,
--	       const struct my_option *opt __attribute__((unused)),
-+	       const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   switch (optid) {
-@@ -1711,7 +1711,7 @@ err:
- 
- static int not_killed= 0;
- 
--volatile int *killed_ptr(MI_CHECK *param __attribute__((unused)))
-+volatile int *killed_ptr(MI_CHECK *param MY_ATTRIBUTE((unused)))
- {
-   return &not_killed;			/* always NULL */
- }
-@@ -1719,7 +1719,7 @@ volatile int *killed_ptr(MI_CHECK *param __attribute__((unused)))
- 	/* print warnings and errors */
- 	/* VARARGS */
- 
--void mi_check_print_info(MI_CHECK *param __attribute__((unused)),
-+void mi_check_print_info(MI_CHECK *param MY_ATTRIBUTE((unused)),
- 			 const char *fmt,...)
- {
-   va_list args;
---- a/storage/myisam/myisamlog.c
-+++ b/storage/myisam/myisamlog.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -695,7 +695,7 @@ static int read_string(IO_CACHE *file, register uchar* *to, register uint length
- }				/* read_string */
- 
- 
--static int file_info_compare(void* cmp_arg __attribute__((unused)),
-+static int file_info_compare(void* cmp_arg MY_ATTRIBUTE((unused)),
- 			     void *a, void *b)
- {
-   long lint;
-@@ -709,7 +709,7 @@ static int file_info_compare(void* cmp_arg __attribute__((unused)),
- 	/* ARGSUSED */
- 
- static int test_if_open (struct file_info *key,
--			 element_count count __attribute__((unused)),
-+			 element_count count MY_ATTRIBUTE((unused)),
- 			 struct test_if_open_param *param)
- {
-   if (!strcmp(key->name,param->name) && key->id > param->max_id)
-@@ -737,7 +737,7 @@ static void fix_blob_pointers(MI_INFO *info, uchar *record)
- 	/* ARGSUSED */
- 
- static int test_when_accessed (struct file_info *key,
--			       element_count count __attribute__((unused)),
-+			       element_count count MY_ATTRIBUTE((unused)),
- 			       struct st_access_param *access_param)
- {
-   if (key->accessed < access_param->min_accessed && ! key->closed)
---- a/storage/myisam/myisampack.c
-+++ b/storage/myisam/myisampack.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -29,6 +29,7 @@
- #endif
- #include <my_getopt.h>
- #include <assert.h>
-+#include <welcome_copyright_notice.h> // ORACLE_WELCOME_COPYRIGHT_NOTICE
- 
- #if SIZEOF_LONG_LONG > 4
- #define BITS_SAVED 64
-@@ -130,7 +131,7 @@ static void free_counts_and_tree_and_queue(HUFF_TREE *huff_trees,
- 					   uint trees,
- 					   HUFF_COUNTS *huff_counts,
- 					   uint fields);
--static int compare_tree(void* cmp_arg __attribute__((unused)),
-+static int compare_tree(void* cmp_arg MY_ATTRIBUTE((unused)),
- 			const uchar *s,const uchar *t);
- static int get_statistic(PACK_MRG_INFO *mrg,HUFF_COUNTS *huff_counts);
- static void check_counts(HUFF_COUNTS *huff_counts,uint trees,
-@@ -300,9 +301,7 @@ static void print_version(void)
- static void usage(void)
- {
-   print_version();
--  puts("Copyright 2002-2008 MySQL AB, 2008 Sun Microsystems, Inc.");
--  puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,");
--  puts("and you are welcome to modify and redistribute it under the GPL license\n");
-+  puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2002"));
- 
-   puts("Pack a MyISAM-table to take much less space.");
-   puts("Keys are not updated, you must run myisamchk -rq on the datafile");
-@@ -317,7 +316,7 @@ static void usage(void)
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   uint length;
-@@ -1176,7 +1175,7 @@ static int get_statistic(PACK_MRG_INFO *mrg,HUFF_COUNTS *huff_counts)
-   DBUG_RETURN(error != HA_ERR_END_OF_FILE);
- }
- 
--static int compare_huff_elements(void *not_used __attribute__((unused)),
-+static int compare_huff_elements(void *not_used MY_ATTRIBUTE((unused)),
- 				 uchar *a, uchar *b)
- {
-   return *((my_off_t*) a) < *((my_off_t*) b) ? -1 :
-@@ -1693,7 +1692,7 @@ static int make_huff_tree(HUFF_TREE *huff_tree, HUFF_COUNTS *huff_counts)
-   return 0;
- }
- 
--static int compare_tree(void* cmp_arg __attribute__((unused)),
-+static int compare_tree(void* cmp_arg MY_ATTRIBUTE((unused)),
- 			register const uchar *s, register const uchar *t)
- {
-   uint length;
---- a/storage/myisam/rt_test.c
-+++ b/storage/myisam/rt_test.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -79,7 +79,7 @@ static double rt_data[]=
-   -1
- };
- 
--int main(int argc __attribute__((unused)),char *argv[] __attribute__((unused)))
-+int main(int argc MY_ATTRIBUTE((unused)),char *argv[] MY_ATTRIBUTE((unused)))
- {
-   MY_INIT(argv[0]);
-   exit(run_test("rt_test"));
-@@ -367,7 +367,7 @@ static int read_with_pos (MI_INFO * file,int silent)
- 
- 
- static void print_record(uchar * record,
--			 my_off_t offs __attribute__((unused)),
-+			 my_off_t offs MY_ATTRIBUTE((unused)),
- 			 const char * tail)
- {
-   int i;
-@@ -420,7 +420,7 @@ static void create_record(uchar *record,uint rownr)
- }
- 
- #else
--int main(int argc __attribute__((unused)),char *argv[] __attribute__((unused)))
-+int main(int argc MY_ATTRIBUTE((unused)),char *argv[] MY_ATTRIBUTE((unused)))
- {
-   exit(0);
- }
---- a/storage/myisam/sort.c
-+++ b/storage/myisam/sort.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -886,7 +886,7 @@ static int write_merge_key_varlen(MI_SORT_PARAM *info,
- }
- 
- 
--static int write_merge_key(MI_SORT_PARAM *info __attribute__((unused)),
-+static int write_merge_key(MI_SORT_PARAM *info MY_ATTRIBUTE((unused)),
-                            IO_CACHE *to_file, uchar *key,
-                            uint sort_length, uint count)
- {
---- a/storage/myisam/sp_key.c
-+++ b/storage/myisam/sp_key.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -118,7 +118,7 @@ static int sp_mbr_from_wkb(uchar *wkb, uint size, uint n_dims, double *mbr)
- */
- 
- static int sp_add_point_to_mbr(uchar *(*wkb), uchar *end, uint n_dims, 
--			       uchar byte_order __attribute__((unused)),
-+			       uchar byte_order MY_ATTRIBUTE((unused)),
- 			       double *mbr)
- {
-   double ord;
---- a/storage/myisam/sp_test.c
-+++ b/storage/myisam/sp_test.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -40,7 +40,7 @@ static  void rtree_PrintWKB(uchar *wkb, uint n_dims);
- static char blob_key[MAX_REC_LENGTH];
- 
- 
--int main(int argc  __attribute__((unused)),char *argv[])
-+int main(int argc  MY_ATTRIBUTE((unused)),char *argv[])
- {
-   MY_INIT(argv[0]);
-   exit(run_test("sp_test"));
-@@ -487,7 +487,7 @@ static void rtree_PrintWKB(uchar *wkb, uint n_dims)
- }
- 
- #else
--int main(int argc __attribute__((unused)),char *argv[] __attribute__((unused)))
-+int main(int argc MY_ATTRIBUTE((unused)),char *argv[] MY_ATTRIBUTE((unused)))
- {
-   exit(0);
- }
---- a/storage/myisammrg/ha_myisammrg.cc
-+++ b/storage/myisammrg/ha_myisammrg.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -347,7 +347,7 @@ CPP_UNNAMED_NS_END
-   and adds a child list of TABLE_LIST to the parent handler.
- */
- 
--int ha_myisammrg::open(const char *name, int mode __attribute__((unused)),
-+int ha_myisammrg::open(const char *name, int mode MY_ATTRIBUTE((unused)),
-                        uint test_if_locked_arg)
- {
-   DBUG_ENTER("ha_myisammrg::open");
-@@ -1183,8 +1183,8 @@ int ha_myisammrg::index_last(uchar * buf)
- }
- 
- int ha_myisammrg::index_next_same(uchar * buf,
--                                  const uchar *key __attribute__((unused)),
--                                  uint length __attribute__((unused)))
-+                                  const uchar *key MY_ATTRIBUTE((unused)),
-+                                  uint length MY_ATTRIBUTE((unused)))
- {
-   int error;
-   DBUG_ASSERT(this->file->children_attached);
---- a/storage/ndb/include/ndb_global.h
-+++ b/storage/ndb/include/ndb_global.h
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -251,19 +251,19 @@ extern "C" {
- #endif
- 
- /**
-- *  __attribute__((noreturn)) was introduce in gcc 2.5
-+ *  MY_ATTRIBUTE((noreturn)) was introduce in gcc 2.5
-  */
- #if (GCC_VERSION >= 2005)
--#define ATTRIBUTE_NORETURN __attribute__((noreturn))
-+#define ATTRIBUTE_NORETURN MY_ATTRIBUTE((noreturn))
- #else
- #define ATTRIBUTE_NORETURN
- #endif
- 
- /**
-- *  __attribute__((noinline)) was introduce in gcc 3.1
-+ *  MY_ATTRIBUTE((noinline)) was introduce in gcc 3.1
-  */
- #if (GCC_VERSION >= 3001)
--#define ATTRIBUTE_NOINLINE __attribute__((noinline))
-+#define ATTRIBUTE_NOINLINE MY_ATTRIBUTE((noinline))
- #else
- #define ATTRIBUTE_NOINLINE
- #endif
---- a/storage/ndb/include/util/ndb_opts.h
-+++ b/storage/ndb/include/util/ndb_opts.h
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -123,7 +123,7 @@ void ndb_opt_set_usage_funcs(void (*short_usage)(void),
-                              void (*usage)(void));
- my_bool
- ndb_std_get_one_option(int optid,
--		       const struct my_option *opt __attribute__((unused)),
-+		       const struct my_option *opt MY_ATTRIBUTE((unused)),
-                        char *argument);
- 
- void ndb_usage(void (*usagefunc)(void), const char *load_default_groups[],
---- a/storage/ndb/src/common/util/ndb_opts.c
-+++ b/storage/ndb/src/common/util/ndb_opts.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -82,8 +82,8 @@ void ndb_usage(void (*usagefunc)(void), const char *load_default_groups[],
- 
- my_bool
- ndb_std_get_one_option(int optid,
--                       const struct my_option *opt __attribute__((unused)),
--                       char *argument __attribute__((unused)))
-+                       const struct my_option *opt MY_ATTRIBUTE((unused)),
-+                       char *argument MY_ATTRIBUTE((unused)))
- {
-   switch (optid) {
- #ifndef DBUG_OFF
---- a/storage/ndb/src/cw/cpcd/main.cpp
-+++ b/storage/ndb/src/cw/cpcd/main.cpp
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -63,7 +63,7 @@ static struct my_option my_long_options[] =
- };
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   return 0;
---- a/storage/ndb/tools/restore/restore_main.cpp
-+++ b/storage/ndb/tools/restore/restore_main.cpp
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -415,7 +415,7 @@ static void usage()
- }
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
- #ifndef DBUG_OFF
---- a/strings/conf_to_src.c
-+++ b/strings/conf_to_src.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -145,8 +145,8 @@ static int add_collation(CHARSET_INFO *cs)
- 
- 
- static void
--default_reporter(enum loglevel level  __attribute__ ((unused)),
--                 const char *format  __attribute__ ((unused)),
-+default_reporter(enum loglevel level  MY_ATTRIBUTE ((unused)),
-+                 const char *format  MY_ATTRIBUTE ((unused)),
-                  ...)
- {
- }
-@@ -271,7 +271,7 @@ static void
- fprint_copyright(FILE *file)
- {
-   fprintf(file,
--"/* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.\n"
-+"/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.\n"
- "\n"
- "   This program is free software; you can redistribute it and/or modify\n"
- "   it under the terms of the GNU General Public License as published by\n"
-@@ -290,7 +290,7 @@ fprint_copyright(FILE *file)
- 
- 
- int
--main(int argc, char **argv  __attribute__((unused)))
-+main(int argc, char **argv  MY_ATTRIBUTE((unused)))
- {
-   CHARSET_INFO  ncs;
-   CHARSET_INFO  *cs;
---- a/strings/ctype-big5.c
-+++ b/strings/ctype-big5.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -872,7 +872,7 @@ static int my_strnncoll_big5_internal(const uchar **a_res,
- 
- /* Compare strings */
- 
--static int my_strnncoll_big5(const CHARSET_INFO *cs __attribute__((unused)), 
-+static int my_strnncoll_big5(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), 
- 			     const uchar *a, size_t a_length,
-                              const uchar *b, size_t b_length,
-                              my_bool b_is_prefix)
-@@ -885,7 +885,7 @@ static int my_strnncoll_big5(const CHARSET_INFO *cs __attribute__((unused)),
- 
- /* compare strings, ignore end space */
- 
--static int my_strnncollsp_big5(const CHARSET_INFO* cs __attribute__((unused)),
-+static int my_strnncollsp_big5(const CHARSET_INFO* cs MY_ATTRIBUTE((unused)),
- 			       const uchar *a, size_t a_length, 
- 			       const uchar *b, size_t b_length,
-                                my_bool diff_if_only_endspace_difference)
-@@ -957,14 +957,14 @@ my_strnxfrm_big5(const CHARSET_INFO *cs,
- }
- 
- 
--static uint ismbchar_big5(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_big5(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                          const char* p, const char *e)
- {
-   return (isbig5head(*(p)) && (e)-(p)>1 && isbig5tail(*((p)+1))? 2: 0);
- }
- 
- 
--static uint mbcharlen_big5(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_big5(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            uint c)
- {
-   return (isbig5head(c)? 2 : 1);
-@@ -6742,7 +6742,7 @@ static int func_uni_big5_onechar(int code){
- 
- 
- static int
--my_wc_mb_big5(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_big5(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 	      my_wc_t wc, uchar *s, uchar *e)
- {
- 
-@@ -6771,7 +6771,7 @@ my_wc_mb_big5(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int 
--my_mb_wc_big5(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_big5(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 	      my_wc_t *pwc,const uchar *s,const uchar *e)
- {
- 
-@@ -6801,7 +6801,7 @@ my_mb_wc_big5(const CHARSET_INFO *cs __attribute__((unused)),
-   CP950 and HKSCS additional characters are also accepted.
- */
- static
--size_t my_well_formed_len_big5(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_well_formed_len_big5(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const char *b, const char *e,
-                                size_t pos, int *error)
- {
---- a/strings/ctype-bin.c
-+++ b/strings/ctype-bin.c
-@@ -1,5 +1,5 @@
- /* Copyright (c) 2002 MySQL AB & [email protected]
--   Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-@@ -69,13 +69,13 @@ static uchar bin_char_array[] =
- 
- static my_bool 
- my_coll_init_8bit_bin(CHARSET_INFO *cs,
--                      MY_CHARSET_LOADER *loader __attribute__((unused)))
-+                      MY_CHARSET_LOADER *loader MY_ATTRIBUTE((unused)))
- {
-   cs->max_sort_char=255; 
-   return FALSE;
- }
- 
--static int my_strnncoll_binary(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strnncoll_binary(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const uchar *s, size_t slen,
-                                const uchar *t, size_t tlen,
-                                my_bool t_is_prefix)
-@@ -86,8 +86,8 @@ static int my_strnncoll_binary(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--size_t my_lengthsp_binary(const CHARSET_INFO *cs __attribute__((unused)),
--                          const char *ptr __attribute__((unused)),
-+size_t my_lengthsp_binary(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                          const char *ptr MY_ATTRIBUTE((unused)),
-                           size_t length)
- {
-   return length;
-@@ -117,18 +117,18 @@ size_t my_lengthsp_binary(const CHARSET_INFO *cs __attribute__((unused)),
- */
- 
- static int my_strnncollsp_binary(const CHARSET_INFO *cs
--                                 __attribute__((unused)),
-+                                 MY_ATTRIBUTE((unused)),
-                                  const uchar *s, size_t slen,
-                                  const uchar *t, size_t tlen,
-                                  my_bool diff_if_only_endspace_difference
--                                 __attribute__((unused)))
-+                                 MY_ATTRIBUTE((unused)))
- {
-   return my_strnncoll_binary(cs,s,slen,t,tlen,0);
- }
- 
- 
- static int my_strnncoll_8bit_bin(const CHARSET_INFO *cs
--                                 __attribute__((unused)),
-+                                 MY_ATTRIBUTE((unused)),
-                                  const uchar *s, size_t slen,
-                                  const uchar *t, size_t tlen,
-                                  my_bool t_is_prefix)
-@@ -165,7 +165,7 @@ static int my_strnncoll_8bit_bin(const CHARSET_INFO *cs
- */
- 
- static int my_strnncollsp_8bit_bin(const CHARSET_INFO *cs
--                                   __attribute__((unused)),
-+                                   MY_ATTRIBUTE((unused)),
-                                    const uchar *a, size_t a_length, 
-                                    const uchar *b, size_t b_length,
-                                    my_bool diff_if_only_endspace_difference)
-@@ -214,41 +214,41 @@ static int my_strnncollsp_8bit_bin(const CHARSET_INFO *cs
- 
- /* This function is used for all conversion functions */
- 
--static size_t my_case_str_bin(const CHARSET_INFO *cs __attribute__((unused)),
--                              char *str __attribute__((unused)))
-+static size_t my_case_str_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                              char *str MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
- 
- 
--static size_t my_case_bin(const CHARSET_INFO *cs __attribute__((unused)),
--                          char *src __attribute__((unused)),
-+static size_t my_case_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                          char *src MY_ATTRIBUTE((unused)),
-                           size_t srclen,
--                          char *dst __attribute__((unused)),
--                          size_t dstlen __attribute__((unused)))
-+                          char *dst MY_ATTRIBUTE((unused)),
-+                          size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   return srclen;
- }
- 
- 
--static int my_strcasecmp_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strcasecmp_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			     const char *s, const char *t)
- {
-   return strcmp(s,t);
- }
- 
- 
--uint my_mbcharlen_8bit(const CHARSET_INFO *cs __attribute__((unused)),
--                      uint c __attribute__((unused)))
-+uint my_mbcharlen_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                      uint c MY_ATTRIBUTE((unused)))
- {
-   return 1;
- }
- 
- 
--static int my_mb_wc_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_mb_wc_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			my_wc_t *wc,
- 			const uchar *str,
--			const uchar *end __attribute__((unused)))
-+			const uchar *end MY_ATTRIBUTE((unused)))
- {
-   if (str >= end)
-     return MY_CS_TOOSMALL;
-@@ -258,10 +258,10 @@ static int my_mb_wc_bin(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--static int my_wc_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_wc_mb_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			my_wc_t wc,
- 			uchar *s,
--			uchar *e __attribute__((unused)))
-+			uchar *e MY_ATTRIBUTE((unused)))
- {
-   if (s >= e)
-     return MY_CS_TOOSMALL;
-@@ -275,7 +275,7 @@ static int my_wc_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--void my_hash_sort_8bit_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+void my_hash_sort_8bit_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            const uchar *key, size_t len,
-                            ulong *nr1, ulong *nr2)
- {
-@@ -296,7 +296,7 @@ void my_hash_sort_8bit_bin(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--void my_hash_sort_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+void my_hash_sort_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		      const uchar *key, size_t len,ulong *nr1, ulong *nr2)
- {
-   const uchar *pos = key;
-@@ -428,7 +428,7 @@ my_strnxfrm_8bit_bin(const CHARSET_INFO *cs,
- 
- 
- static
--uint my_instr_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+uint my_instr_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		  const char *b, size_t b_length,
- 		  const char *s, size_t s_length,
- 		  my_match_t *match, uint nmatch)
---- a/strings/ctype-cp932.c
-+++ b/strings/ctype-cp932.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -182,13 +182,13 @@ static uchar sort_order_cp932[]=
-                        (0x80<=(c) && (c)<=0xfc))
- 
- 
--static uint ismbchar_cp932(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_cp932(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			 const char* p, const char *e)
- {
-   return (iscp932head((uchar) *p) && (e-p)>1 && iscp932tail((uchar)p[1]) ? 2: 0);
- }
- 
--static uint mbcharlen_cp932(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_cp932(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                             uint c)
- {
-   return (iscp932head((uchar) c) ? 2 : 1);
-@@ -1742,7 +1742,7 @@ static int my_strnncoll_cp932_internal(const CHARSET_INFO *cs,
- }
- 
- 
--static int my_strnncoll_cp932(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strnncoll_cp932(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			      const uchar *a, size_t a_length, 
- 			      const uchar *b, size_t b_length,
-                               my_bool b_is_prefix)
-@@ -1755,11 +1755,11 @@ static int my_strnncoll_cp932(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int my_strnncollsp_cp932(const CHARSET_INFO *cs
--                                __attribute__((unused)),
-+                                MY_ATTRIBUTE((unused)),
-                                 const uchar *a, size_t a_length, 
-                                 const uchar *b, size_t b_length,
-                                 my_bool diff_if_only_endspace_difference
--                                __attribute__((unused)))
-+                                MY_ATTRIBUTE((unused)))
- {
-   const uchar *a_end= a + a_length;
-   const uchar *b_end= b + b_length;
-@@ -34601,7 +34601,7 @@ static uint16 unicode_to_cp932[65536]=
- */
- 
- static int
--my_mb_wc_cp932(const CHARSET_INFO *cs  __attribute__((unused)),
-+my_mb_wc_cp932(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 	       my_wc_t *pwc, const uchar *s, const uchar *e){
-   int hi;
- 
-@@ -34645,7 +34645,7 @@ my_mb_wc_cp932(const CHARSET_INFO *cs  __attribute__((unused)),
-   @retval   MY_CS_ILUNI    If the Unicode character does not exist in CP932
- */
- static int
--my_wc_mb_cp932(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_cp932(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 	       my_wc_t wc, uchar *s, uchar *e)
- {
-   int code;
-@@ -34685,7 +34685,7 @@ my_wc_mb_cp932(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static
--size_t my_numcells_cp932(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numcells_cp932(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                       const char *str, const char *str_end)
- {
-   size_t clen= 0;
-@@ -34720,7 +34720,7 @@ size_t my_numcells_cp932(const CHARSET_INFO *cs __attribute__((unused)),
- 
- static
- size_t my_well_formed_len_cp932(const CHARSET_INFO *cs
--                                __attribute__((unused)),
-+                                MY_ATTRIBUTE((unused)),
-                                 const char *b, const char *e,
-                                 size_t pos, int *error)
- {
---- a/strings/ctype-czech.c
-+++ b/strings/ctype-czech.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -228,7 +228,7 @@ while (1)						\
-   the length of the strings being specified
- */
- 
--static int my_strnncoll_czech(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strnncoll_czech(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			      const uchar *s1, size_t len1, 
- 			      const uchar *s2, size_t len2,
-                               my_bool s2_is_prefix)
-@@ -266,7 +266,7 @@ int my_strnncollsp_czech(const CHARSET_INFO *cs,
-                          const uchar *s, size_t slen, 
-                          const uchar *t, size_t tlen,
-                          my_bool diff_if_only_endspace_difference
--                         __attribute__((unused)))
-+                         MY_ATTRIBUTE((unused)))
- {
-   for ( ; slen && s[slen-1] == ' ' ; slen--);
-   for ( ; tlen && t[tlen-1] == ' ' ; tlen--);
-@@ -279,7 +279,7 @@ int my_strnncollsp_czech(const CHARSET_INFO *cs,
- */
- static size_t
- my_strnxfrmlen_czech(const CHARSET_INFO *cs
--                     __attribute__((unused)), size_t len)
-+                     MY_ATTRIBUTE((unused)), size_t len)
- {
-   return len * 4 + 4;
- }
-@@ -291,9 +291,9 @@ my_strnxfrmlen_czech(const CHARSET_INFO *cs
- */
- 
- static size_t
--my_strnxfrm_czech(const CHARSET_INFO *cs __attribute__((unused)), 
-+my_strnxfrm_czech(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), 
-                   uchar *dest, size_t len,
--                  uint nweights_arg __attribute__((unused)),
-+                  uint nweights_arg MY_ATTRIBUTE((unused)),
-                   const uchar *src, size_t srclen, uint flags)
- {
-   int value;
-@@ -369,7 +369,7 @@ my_strnxfrm_czech(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static my_bool my_like_range_czech(const CHARSET_INFO *cs
--                                   __attribute__((unused)),
-+                                   MY_ATTRIBUTE((unused)),
- 				   const char *ptr,size_t ptr_length,
- 				   pbool escape, pbool w_one, pbool w_many,
- 				   size_t res_length, char *min_str,
---- a/strings/ctype-euc_kr.c
-+++ b/strings/ctype-euc_kr.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -202,7 +202,7 @@ static uchar sort_order_euc_kr[]=
-                               iseuc_kr_tail3(c))
- 
- 
--static uint ismbchar_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_euc_kr(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                             const char* p, const char *e)
- {
-   return ((*(uchar*)(p)<0x80)? 0:\
-@@ -210,7 +210,7 @@ static uint ismbchar_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
-           0);
- }
- 
--static uint mbcharlen_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_euc_kr(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                              uint c)
- {
-   return (iseuc_kr_head(c) ? 2 : 1);
-@@ -9877,7 +9877,7 @@ static int func_uni_ksc5601_onechar(int code){
- 
- 
- static int
--my_wc_mb_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_euc_kr(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		 my_wc_t wc, uchar *s, uchar *e)
- {
-   int code;
-@@ -9905,7 +9905,7 @@ my_wc_mb_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int 
--my_mb_wc_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_euc_kr(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		 my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   
-@@ -9934,7 +9934,7 @@ my_mb_wc_euc_kr(const CHARSET_INFO *cs __attribute__((unused)),
-   Returns well formed length of a EUC-KR string.
- */
- static size_t
--my_well_formed_len_euckr(const CHARSET_INFO *cs __attribute__((unused)),
-+my_well_formed_len_euckr(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                          const char *b, const char *e,
-                          size_t pos, int *error)
- {
---- a/strings/ctype-eucjpms.c
-+++ b/strings/ctype-eucjpms.c
-@@ -1,5 +1,5 @@
- /* Copyright (c) 2002 MySQL AB & [email protected]
--   Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-@@ -185,7 +185,7 @@ static uchar sort_order_eucjpms[]=
- #define iseucjpms_ss3(c) (((c)&0xff) == 0x8f)
- 
- 
--static uint ismbchar_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_eucjpms(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		  const char* p, const char *e)
- {
-   return ((*(uchar*)(p)<0x80)? 0:\
-@@ -195,7 +195,7 @@ static uint ismbchar_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-     0);
- }
- 
--static uint mbcharlen_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_eucjpms(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                               uint c)
- {
-   return (iseucjpms(c)? 2: iseucjpms_ss2(c)? 2: iseucjpms_ss3(c)? 3: 1);
-@@ -67311,7 +67311,7 @@ static uint16 unicode_to_jisx0212_eucjpms[65536]=
-   @retval   MY_CS_ILSEQ    If a wrong byte sequence was found
- */
- static int
--my_mb_wc_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_eucjpms(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                  my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   int hi;
-@@ -67371,7 +67371,7 @@ my_mb_wc_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-   @retval   MY_CS_ILUNI    If the Unicode character does not exist in EUCJPMS
- */
- static int
--my_wc_mb_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_eucjpms(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                  my_wc_t wc, uchar *s, uchar *e)
- {
-   int jp;
-@@ -67427,7 +67427,7 @@ my_wc_mb_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
- 
- static
- size_t my_well_formed_len_eucjpms(const CHARSET_INFO *cs
--                                  __attribute__((unused)),
-+                                  MY_ATTRIBUTE((unused)),
-                                   const char *beg, const char *end, size_t pos,
-                                   int *error)
- {
-@@ -67475,7 +67475,7 @@ size_t my_well_formed_len_eucjpms(const CHARSET_INFO *cs
- 
- 
- static
--size_t my_numcells_eucjpms(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numcells_eucjpms(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            const char *str, const char *str_end)
- {
-   size_t clen;
---- a/strings/ctype-gb2312.c
-+++ b/strings/ctype-gb2312.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -165,13 +165,13 @@ static uchar sort_order_gb2312[]=
- #define isgb2312tail(c) (0xa1<=(uchar)(c) && (uchar)(c)<=0xfe)
- 
- 
--static uint ismbchar_gb2312(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_gb2312(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		    const char* p, const char *e)
- {
-   return (isgb2312head(*(p)) && (e)-(p)>1 && isgb2312tail(*((p)+1))? 2: 0);
- }
- 
--static uint mbcharlen_gb2312(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_gb2312(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                              uint c)
- {
-   return (isgb2312head(c)? 2 : 1);
-@@ -6282,7 +6282,7 @@ static int func_uni_gb2312_onechar(int code){
- 
- 
- static int
--my_wc_mb_gb2312(const CHARSET_INFO *cs  __attribute__((unused)),
-+my_wc_mb_gb2312(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 		my_wc_t wc, uchar *s, uchar *e)
- {
-   int code;
-@@ -6310,7 +6310,7 @@ my_wc_mb_gb2312(const CHARSET_INFO *cs  __attribute__((unused)),
- 
- 
- static int 
--my_mb_wc_gb2312(const CHARSET_INFO *cs  __attribute__((unused)),
-+my_mb_wc_gb2312(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 		my_wc_t *pwc, const uchar *s, const uchar *e){
-   int hi;
-   
-@@ -6337,7 +6337,7 @@ my_mb_wc_gb2312(const CHARSET_INFO *cs  __attribute__((unused)),
-   Returns well formed length of a EUC-KR string.
- */
- static size_t
--my_well_formed_len_gb2312(const CHARSET_INFO *cs __attribute__((unused)),
-+my_well_formed_len_gb2312(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                           const char *b, const char *e,
-                           size_t pos, int *error)
- {
---- a/strings/ctype-gbk.c
-+++ b/strings/ctype-gbk.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -3475,7 +3475,7 @@ int my_strnncoll_gbk_internal(const uchar **a_res, const uchar **b_res,
- 
- 
- 
--int my_strnncoll_gbk(const CHARSET_INFO *cs __attribute__((unused)),
-+int my_strnncoll_gbk(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		     const uchar *a, size_t a_length,
-                      const uchar *b, size_t b_length,
-                      my_bool b_is_prefix)
-@@ -3486,7 +3486,7 @@ int my_strnncoll_gbk(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--static int my_strnncollsp_gbk(const CHARSET_INFO * cs __attribute__((unused)),
-+static int my_strnncollsp_gbk(const CHARSET_INFO * cs MY_ATTRIBUTE((unused)),
- 			      const uchar *a, size_t a_length, 
- 			      const uchar *b, size_t b_length,
-                               my_bool diff_if_only_endspace_difference)
-@@ -3558,13 +3558,13 @@ my_strnxfrm_gbk(const CHARSET_INFO *cs,
- }
- 
- 
--static uint ismbchar_gbk(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_gbk(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		 const char* p, const char *e)
- {
-   return (isgbkhead(*(p)) && (e)-(p)>1 && isgbktail(*((p)+1))? 2: 0);
- }
- 
--static uint mbcharlen_gbk(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_gbk(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                           uint c)
- {
-   return (isgbkhead(c)? 2 : 1);
-@@ -10675,7 +10675,7 @@ static int func_uni_gbk_onechar(int code){
- }
- 
- static int
--my_wc_mb_gbk(const CHARSET_INFO *cs  __attribute__((unused)),
-+my_wc_mb_gbk(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 	      my_wc_t wc, uchar *s, uchar *e)
- {
-   int code;
-@@ -10701,7 +10701,7 @@ my_wc_mb_gbk(const CHARSET_INFO *cs  __attribute__((unused)),
- }
- 
- static int
--my_mb_wc_gbk(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_gbk(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 	      my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   int hi;
-@@ -10732,7 +10732,7 @@ my_mb_wc_gbk(const CHARSET_INFO *cs __attribute__((unused)),
-   Returns well formed length of a GBK string.
- */
- static
--size_t my_well_formed_len_gbk(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_well_formed_len_gbk(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                               const char *b, const char *e,
-                               size_t pos, int *error)
- {
---- a/strings/ctype-latin1.c
-+++ b/strings/ctype-latin1.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -356,10 +356,10 @@ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
- };
- 
- static
--int my_mb_wc_latin1(const CHARSET_INFO *cs  __attribute__((unused)),
-+int my_mb_wc_latin1(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 		    my_wc_t *wc,
- 		    const uchar *str,
--		    const uchar *end __attribute__((unused)))
-+		    const uchar *end MY_ATTRIBUTE((unused)))
- {
-   if (str >= end)
-     return MY_CS_TOOSMALL;
-@@ -369,10 +369,10 @@ int my_mb_wc_latin1(const CHARSET_INFO *cs  __attribute__((unused)),
- }
- 
- static
--int my_wc_mb_latin1(const CHARSET_INFO *cs  __attribute__((unused)),
-+int my_wc_mb_latin1(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 		    my_wc_t wc,
- 		    uchar *str,
--		    uchar *end __attribute__((unused)))
-+		    uchar *end MY_ATTRIBUTE((unused)))
- {
-   uchar *pl;
-   
-@@ -547,7 +547,7 @@ uchar combo2map[]={
- 
- 
- static int my_strnncoll_latin1_de(const CHARSET_INFO *cs
--                                  __attribute__((unused)),
-+                                  MY_ATTRIBUTE((unused)),
- 				  const uchar *a, size_t a_length,
- 				  const uchar *b, size_t b_length,
-                                   my_bool b_is_prefix)
-@@ -589,7 +589,7 @@ static int my_strnncoll_latin1_de(const CHARSET_INFO *cs
- 
- 
- static int my_strnncollsp_latin1_de(const CHARSET_INFO *cs
--                                    __attribute__((unused)),
-+                                    MY_ATTRIBUTE((unused)),
- 				    const uchar *a, size_t a_length,
- 				    const uchar *b, size_t b_length,
-                                     my_bool diff_if_only_endspace_difference)
-@@ -683,7 +683,7 @@ my_strnxfrm_latin1_de(const CHARSET_INFO *cs,
- }
- 
- 
--void my_hash_sort_latin1_de(const CHARSET_INFO *cs __attribute__((unused)),
-+void my_hash_sort_latin1_de(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			    const uchar *key, size_t len,
- 			    ulong *nr1, ulong *nr2)
- {
---- a/strings/ctype-mb.c
-+++ b/strings/ctype-mb.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -74,8 +74,8 @@ get_case_info_for_ch(const CHARSET_INFO *cs, uint page, uint offs)
-   For character sets which don't change octet length in case conversion.
- */
- size_t my_caseup_mb(const CHARSET_INFO *cs, char *src, size_t srclen,
--                    char *dst __attribute__((unused)),
--                    size_t dstlen __attribute__((unused)))
-+                    char *dst MY_ATTRIBUTE((unused)),
-+                    size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   register uint32 l;
-   register char *srcend= src + srclen;
-@@ -109,8 +109,8 @@ size_t my_caseup_mb(const CHARSET_INFO *cs, char *src, size_t srclen,
- 
- 
- size_t my_casedn_mb(const CHARSET_INFO *cs, char *src, size_t srclen,
--                    char *dst __attribute__((unused)),
--                    size_t dstlen __attribute__((unused)))
-+                    char *dst MY_ATTRIBUTE((unused)),
-+                    size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   register uint32 l;
-   register char *srcend= src + srclen;
-@@ -155,7 +155,7 @@ size_t my_casedn_mb(const CHARSET_INFO *cs, char *src, size_t srclen,
- static size_t
- my_casefold_mb_varlen(const CHARSET_INFO *cs,
-                       char *src, size_t srclen,
--                      char *dst, size_t dstlen __attribute__((unused)),
-+                      char *dst, size_t dstlen MY_ATTRIBUTE((unused)),
-                       uchar *map,
-                       size_t is_upper)
- {
-@@ -373,7 +373,7 @@ int my_wildcmp_mb(const CHARSET_INFO *cs,
- }
- 
- 
--size_t my_numchars_mb(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numchars_mb(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		      const char *pos, const char *end)
- {
-   register size_t count= 0;
-@@ -387,7 +387,7 @@ size_t my_numchars_mb(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--size_t my_charpos_mb(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_charpos_mb(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		     const char *pos, const char *end, size_t length)
- {
-   const char *start= pos;
-@@ -482,7 +482,7 @@ uint my_instr_mb(const CHARSET_INFO *cs,
- /* BINARY collations handlers for MB charsets */
- 
- int
--my_strnncoll_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strnncoll_mb_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                     const uchar *s, size_t slen,
-                     const uchar *t, size_t tlen,
-                     my_bool t_is_prefix)
-@@ -519,7 +519,7 @@ my_strnncoll_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
- */
- 
- int
--my_strnncollsp_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strnncollsp_mb_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                       const uchar *a, size_t a_length, 
-                       const uchar *b, size_t b_length,
-                       my_bool diff_if_only_endspace_difference)
-@@ -670,7 +670,7 @@ pad:
- 
- 
- int
--my_strcasecmp_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strcasecmp_mb_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                      const char *s, const char *t)
- {
-   return strcmp(s,t);
-@@ -678,7 +678,7 @@ my_strcasecmp_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- void
--my_hash_sort_mb_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+my_hash_sort_mb_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                     const uchar *key, size_t len,ulong *nr1, ulong *nr2)
- {
-   const uchar *pos = key;
---- a/strings/ctype-simple.c
-+++ b/strings/ctype-simple.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -216,8 +216,8 @@ size_t my_casedn_str_8bit(const CHARSET_INFO *cs,char *str)
- 
- 
- size_t my_caseup_8bit(const CHARSET_INFO *cs, char *src, size_t srclen,
--                      char *dst __attribute__((unused)),
--                      size_t dstlen __attribute__((unused)))
-+                      char *dst MY_ATTRIBUTE((unused)),
-+                      size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   char *end= src + srclen;
-   register uchar *map= cs->to_upper;
-@@ -229,8 +229,8 @@ size_t my_caseup_8bit(const CHARSET_INFO *cs, char *src, size_t srclen,
- 
- 
- size_t my_casedn_8bit(const CHARSET_INFO *cs, char *src, size_t srclen,
--                      char *dst __attribute__((unused)),
--                      size_t dstlen __attribute__((unused)))
-+                      char *dst MY_ATTRIBUTE((unused)),
-+                      size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   char *end= src + srclen;
-   register uchar *map=cs->to_lower;
-@@ -251,7 +251,7 @@ int my_strcasecmp_8bit(const CHARSET_INFO *cs,const char *s, const char *t)
- 
- int my_mb_wc_8bit(const CHARSET_INFO *cs,my_wc_t *wc,
- 		  const uchar *str,
--		  const uchar *end __attribute__((unused)))
-+		  const uchar *end MY_ATTRIBUTE((unused)))
- {
-   if (str >= end)
-     return MY_CS_TOOSMALL;
-@@ -288,8 +288,8 @@ int my_wc_mb_8bit(const CHARSET_INFO *cs,my_wc_t wc,
-    end buffer must be checked.
- */
- 
--size_t my_snprintf_8bit(const CHARSET_INFO *cs  __attribute__((unused)),
--                        char* to, size_t n  __attribute__((unused)),
-+size_t my_snprintf_8bit(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
-+                        char* to, size_t n  MY_ATTRIBUTE((unused)),
- 		     const char* fmt, ...)
- {
-   va_list args;
-@@ -506,7 +506,7 @@ noconv:
- }
- 
- 
--longlong my_strntoll_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+longlong my_strntoll_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			  const char *nptr, size_t l, int base,
- 			  char **endptr,int *err)
- {
-@@ -714,7 +714,7 @@ noconv:
- */
- 
- 
--double my_strntod_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+double my_strntod_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		       char *str, size_t length,
- 		       char **end, int *err)
- {
-@@ -731,7 +731,7 @@ double my_strntod_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-   Assume len >= 1
- */
- 
--size_t my_long10_to_str_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_long10_to_str_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                              char *dst, size_t len, int radix, long int val)
- {
-   char buffer[66];
-@@ -773,7 +773,7 @@ size_t my_long10_to_str_8bit(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- size_t my_longlong10_to_str_8bit(const CHARSET_INFO *cs
--                                 __attribute__((unused)),
-+                                 MY_ATTRIBUTE((unused)),
-                                  char *dst, size_t len, int radix,
-                                  longlong val)
- {
-@@ -1030,37 +1030,37 @@ size_t my_scan_8bit(const CHARSET_INFO *cs, const char *str, const char *end,
- }
- 
- 
--void my_fill_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+void my_fill_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		   char *s, size_t l, int fill)
- {
-   memset(s, fill, l);
- }
- 
- 
--size_t my_numchars_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numchars_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		      const char *b, const char *e)
- {
-   return (size_t) (e - b);
- }
- 
- 
--size_t my_numcells_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numcells_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                         const char *b, const char *e)
- {
-   return (size_t) (e - b);
- }
- 
- 
--size_t my_charpos_8bit(const CHARSET_INFO *cs __attribute__((unused)),
--                       const char *b  __attribute__((unused)),
--                       const char *e  __attribute__((unused)),
-+size_t my_charpos_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                       const char *b  MY_ATTRIBUTE((unused)),
-+                       const char *e  MY_ATTRIBUTE((unused)),
-                        size_t pos)
- {
-   return pos;
- }
- 
- 
--size_t my_well_formed_len_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_well_formed_len_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const char *start, const char *end,
-                                size_t nchars, int *error)
- {
-@@ -1070,7 +1070,7 @@ size_t my_well_formed_len_8bit(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--size_t my_lengthsp_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_lengthsp_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                         const char *ptr, size_t length)
- {
-   const char *end;
-@@ -1274,14 +1274,14 @@ static void set_max_sort_char(CHARSET_INFO *cs)
- 
- static my_bool
- my_coll_init_simple(CHARSET_INFO *cs,
--                    MY_CHARSET_LOADER *loader __attribute__((unused)))
-+                    MY_CHARSET_LOADER *loader MY_ATTRIBUTE((unused)))
- {
-   set_max_sort_char(cs);
-   return FALSE;
- }
- 
- 
--longlong my_strtoll10_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+longlong my_strtoll10_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            const char *nptr, char **endptr, int *error)
- {
-   return my_strtoll10(nptr, endptr, error);
-@@ -1387,7 +1387,7 @@ static ulonglong d10[DIGITS_IN_ULONGLONG]=
- */
- 
- ulonglong
--my_strntoull10rnd_8bit(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strntoull10rnd_8bit(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                        const char *str, size_t length, int unsigned_flag,
-                        char **endptr, int *error)
- {
-@@ -1665,17 +1665,17 @@ ret_too_big:
- 
- 
- 
--my_bool my_propagate_simple(const CHARSET_INFO *cs __attribute__((unused)),
--                            const uchar *str __attribute__((unused)),
--                            size_t length __attribute__((unused)))
-+my_bool my_propagate_simple(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                            const uchar *str MY_ATTRIBUTE((unused)),
-+                            size_t length MY_ATTRIBUTE((unused)))
- {
-   return 1;
- }
- 
- 
--my_bool my_propagate_complex(const CHARSET_INFO *cs __attribute__((unused)),
--                             const uchar *str __attribute__((unused)),
--                             size_t length __attribute__((unused)))
-+my_bool my_propagate_complex(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                             const uchar *str MY_ATTRIBUTE((unused)),
-+                             size_t length MY_ATTRIBUTE((unused)))
- {
-   return 0;
- }
---- a/strings/ctype-sjis.c
-+++ b/strings/ctype-sjis.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -182,13 +182,13 @@ static uchar sort_order_sjis[]=
-                        (0x80<=(c) && (c)<=0xfc))
- 
- 
--static uint ismbchar_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			 const char* p, const char *e)
- {
-   return (issjishead((uchar) *p) && (e-p)>1 && issjistail((uchar)p[1]) ? 2: 0);
- }
- 
--static uint mbcharlen_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            uint c)
- {
-   return (issjishead((uchar) c) ? 2 : 1);
-@@ -1112,7 +1112,7 @@ static int my_strnncoll_sjis_internal(const CHARSET_INFO *cs,
- }
- 
- 
--static int my_strnncoll_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strnncoll_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                              const uchar *a, size_t a_length, 
-                              const uchar *b, size_t b_length,
-                              my_bool b_is_prefix)
-@@ -1124,7 +1124,7 @@ static int my_strnncoll_sjis(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--static int my_strnncollsp_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strnncollsp_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			       const uchar *a, size_t a_length, 
- 			       const uchar *b, size_t b_length,
-                                my_bool diff_if_only_endspace_difference)
-@@ -33968,7 +33968,7 @@ static uint16 unicode_to_sjis[65536]=
-   @retval   MY_CS_ILSEQ    If a wrong byte sequence was found
- */
- static int
--my_mb_wc_sjis(const CHARSET_INFO *cs  __attribute__((unused)),
-+my_mb_wc_sjis(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 	      my_wc_t *pwc, const uchar *s, const uchar *e){
-   int hi;
- 
-@@ -34012,7 +34012,7 @@ my_mb_wc_sjis(const CHARSET_INFO *cs  __attribute__((unused)),
-   @retval   MY_CS_ILUNI    If the Unicode character does not exist in SJIS
- */
- static int
--my_wc_mb_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 	      my_wc_t wc, uchar *s, uchar *e)
- {
-   int code;
-@@ -34061,7 +34061,7 @@ mb:
- 
- 
- static
--size_t my_numcells_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numcells_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                       const char *str, const char *str_end)
- {
-   size_t clen;
-@@ -34094,7 +34094,7 @@ size_t my_numcells_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-   CP932 additional characters are also accepted.
- */
- static
--size_t my_well_formed_len_sjis(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_well_formed_len_sjis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const char *b, const char *e,
-                                size_t pos, int *error)
- {
---- a/strings/ctype-tis620.c
-+++ b/strings/ctype-tis620.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -526,7 +526,7 @@ static size_t thai2sortable(uchar *tstr, size_t len)
- */
- 
- static
--int my_strnncoll_tis620(const CHARSET_INFO *cs __attribute__((unused)),
-+int my_strnncoll_tis620(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                         const uchar *s1, size_t len1, 
-                         const uchar *s2, size_t len2,
-                         my_bool s2_is_prefix)
-@@ -556,7 +556,7 @@ int my_strnncoll_tis620(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static
--int my_strnncollsp_tis620(const CHARSET_INFO * cs __attribute__((unused)),
-+int my_strnncollsp_tis620(const CHARSET_INFO * cs MY_ATTRIBUTE((unused)),
- 			  const uchar *a0, size_t a_length, 
- 			  const uchar *b0, size_t b_length,
-                           my_bool diff_if_only_endspace_difference)
-@@ -841,10 +841,10 @@ NULL,NULL,NULL,NULL,NULL,NULL,NULL,plFF
- 
- 
- static
--int my_mb_wc_tis620(const CHARSET_INFO *cs  __attribute__((unused)),
-+int my_mb_wc_tis620(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 		  my_wc_t *wc,
- 		  const uchar *str,
--		  const uchar *end __attribute__((unused)))
-+		  const uchar *end MY_ATTRIBUTE((unused)))
- {
-   if (str >= end)
-     return MY_CS_TOOSMALL;
-@@ -854,10 +854,10 @@ int my_mb_wc_tis620(const CHARSET_INFO *cs  __attribute__((unused)),
- }
- 
- static
--int my_wc_mb_tis620(const CHARSET_INFO *cs  __attribute__((unused)),
-+int my_wc_mb_tis620(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
- 		  my_wc_t wc,
- 		  uchar *str,
--		  uchar *end __attribute__((unused)))
-+		  uchar *end MY_ATTRIBUTE((unused)))
- {
-   uchar *pl;
-   
---- a/strings/ctype-ucs2.c
-+++ b/strings/ctype-ucs2.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-@@ -64,8 +64,8 @@ my_bincmp(const uchar *s, const uchar *se,
- 
- 
- static size_t
--my_caseup_str_mb2_or_mb4(const CHARSET_INFO * cs  __attribute__((unused)), 
--                         char * s __attribute__((unused)))
-+my_caseup_str_mb2_or_mb4(const CHARSET_INFO * cs  MY_ATTRIBUTE((unused)), 
-+                         char * s MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(0);
-   return 0;
-@@ -73,8 +73,8 @@ my_caseup_str_mb2_or_mb4(const CHARSET_INFO * cs  __attribute__((unused)),
- 
- 
- static size_t
--my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs __attribute__((unused)), 
--                         char * s __attribute__((unused)))
-+my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), 
-+                         char * s MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(0);
-   return 0;
-@@ -82,9 +82,9 @@ my_casedn_str_mb2_or_mb4(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_strcasecmp_mb2_or_mb4(const CHARSET_INFO *cs __attribute__((unused)),
--                         const char *s __attribute__((unused)),
--                         const char *t __attribute__((unused)))
-+my_strcasecmp_mb2_or_mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                         const char *s MY_ATTRIBUTE((unused)),
-+                         const char *t MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(0);
-   return 0;
-@@ -1047,7 +1047,7 @@ my_vsnprintf_mb2(char *dst, size_t n, const char* fmt, va_list ap)
- 
- 
- static size_t
--my_snprintf_mb2(const CHARSET_INFO *cs __attribute__((unused)),
-+my_snprintf_mb2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                 char* to, size_t n, const char* fmt, ...)
- {
-   size_t retval;
-@@ -1060,7 +1060,7 @@ my_snprintf_mb2(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static size_t
--my_lengthsp_mb2(const CHARSET_INFO *cs __attribute__((unused)),
-+my_lengthsp_mb2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                 const char *ptr, size_t length)
- {
-   const char *end= ptr + length;
-@@ -1102,7 +1102,7 @@ my_lengthsp_mb2(const CHARSET_INFO *cs __attribute__((unused)),
-                                   ((c & 3) << 8) + d + 0x10000)
- 
- static int
--my_utf16_uni(const CHARSET_INFO *cs __attribute__((unused)),
-+my_utf16_uni(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-              my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   if (s + 2 > e)
-@@ -1135,7 +1135,7 @@ my_utf16_uni(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_uni_utf16(const CHARSET_INFO *cs __attribute__((unused)),
-+my_uni_utf16(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-              my_wc_t wc, uchar *s, uchar *e)
- {
-   if (wc <= 0xFFFF)
-@@ -1201,8 +1201,8 @@ my_tosort_utf16(MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
- 
- static size_t
- my_caseup_utf16(const CHARSET_INFO *cs, char *src, size_t srclen,
--                char *dst __attribute__((unused)),
--                size_t dstlen __attribute__((unused)))
-+                char *dst MY_ATTRIBUTE((unused)),
-+                size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   my_wc_t wc;
-   int res;
-@@ -1246,8 +1246,8 @@ my_hash_sort_utf16(const CHARSET_INFO *cs, const uchar *s, size_t slen,
- 
- static size_t
- my_casedn_utf16(const CHARSET_INFO *cs, char *src, size_t srclen,
--                char *dst __attribute__((unused)),
--                size_t dstlen __attribute__((unused)))
-+                char *dst MY_ATTRIBUTE((unused)),
-+                size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   my_wc_t wc;
-   int res;
-@@ -1415,8 +1415,8 @@ my_ismbchar_utf16(const CHARSET_INFO *cs, const char *b, const char *e)
- 
- 
- static uint
--my_mbcharlen_utf16(const CHARSET_INFO *cs  __attribute__((unused)),
--                   uint c __attribute__((unused)))
-+my_mbcharlen_utf16(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
-+                   uint c MY_ATTRIBUTE((unused)))
- {
-   DBUG_ASSERT(0);
-   return MY_UTF16_HIGH_HEAD(c) ? 4 : 2;
-@@ -1749,7 +1749,7 @@ CHARSET_INFO my_charset_utf16_bin=
- 
- 
- static int
--my_utf16le_uni(const CHARSET_INFO *cs __attribute__((unused)),
-+my_utf16le_uni(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   my_wc_t lo;
-@@ -1779,7 +1779,7 @@ my_utf16le_uni(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_uni_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
-+my_uni_utf16le(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                my_wc_t wc, uchar *s, uchar *e)
- {
-   if (wc < MY_UTF16_SURROGATE_HIGH_FIRST ||
-@@ -1806,7 +1806,7 @@ my_uni_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static size_t
--my_lengthsp_utf16le(const CHARSET_INFO *cs __attribute__((unused)),
-+my_lengthsp_utf16le(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                     const char *ptr, size_t length)
- {
-   const char *end= ptr + length;
-@@ -1922,7 +1922,7 @@ CHARSET_INFO my_charset_utf16le_bin=
- #ifdef HAVE_CHARSET_utf32
- 
- static int
--my_utf32_uni(const CHARSET_INFO *cs __attribute__((unused)),
-+my_utf32_uni(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-              my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   if (s + 4 > e)
-@@ -1933,7 +1933,7 @@ my_utf32_uni(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_uni_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_uni_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-              my_wc_t wc, uchar *s, uchar *e)
- {
-   if (s + 4 > e) 
-@@ -1983,8 +1983,8 @@ my_tosort_utf32(MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
- 
- static size_t
- my_caseup_utf32(const CHARSET_INFO *cs, char *src, size_t srclen,
--                char *dst __attribute__((unused)),
--                size_t dstlen __attribute__((unused)))
-+                char *dst MY_ATTRIBUTE((unused)),
-+                size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   my_wc_t wc;
-   int res;
-@@ -2039,8 +2039,8 @@ my_hash_sort_utf32(const CHARSET_INFO *cs, const uchar *s, size_t slen,
- 
- static size_t
- my_casedn_utf32(const CHARSET_INFO *cs, char *src, size_t srclen,
--                char *dst __attribute__((unused)),
--                size_t dstlen __attribute__((unused)))
-+                char *dst MY_ATTRIBUTE((unused)),
-+                size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   my_wc_t wc;
-   int res;
-@@ -2198,7 +2198,7 @@ my_strnncollsp_utf32(const CHARSET_INFO *cs,
- 
- 
- static size_t
--my_strnxfrmlen_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strnxfrmlen_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                      size_t len)
- {
-   return len / 2;
-@@ -2206,17 +2206,17 @@ my_strnxfrmlen_utf32(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static uint
--my_ismbchar_utf32(const CHARSET_INFO *cs __attribute__((unused)),
--                  const char *b __attribute__((unused)),
--                  const char *e __attribute__((unused)))
-+my_ismbchar_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                  const char *b MY_ATTRIBUTE((unused)),
-+                  const char *e MY_ATTRIBUTE((unused)))
- {
-   return 4;
- }
- 
- 
- static uint
--my_mbcharlen_utf32(const CHARSET_INFO *cs  __attribute__((unused)) , 
--                   uint c __attribute__((unused)))
-+my_mbcharlen_utf32(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)) , 
-+                   uint c MY_ATTRIBUTE((unused)))
- {
-   return 4;
- }
-@@ -2312,7 +2312,7 @@ my_vsnprintf_utf32(char *dst, size_t n, const char* fmt, va_list ap)
- 
- 
- static size_t
--my_snprintf_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_snprintf_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                   char* to, size_t n, const char* fmt, ...)
- {
-   size_t retval;
-@@ -2325,7 +2325,7 @@ my_snprintf_utf32(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static longlong
--my_strtoll10_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strtoll10_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                    const char *nptr, char **endptr, int *error)
- {
-   const char *s, *end, *start, *n_end, *true_end;
-@@ -2495,7 +2495,7 @@ no_conv:
- 
- 
- static size_t
--my_numchars_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_numchars_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                   const char *b, const char *e)
- {
-   return (size_t) (e - b) / 4;
-@@ -2503,7 +2503,7 @@ my_numchars_utf32(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static size_t
--my_charpos_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_charpos_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                  const char *b, const char *e, size_t pos)
- {
-   size_t string_length= (size_t) (e - b);
-@@ -2512,7 +2512,7 @@ my_charpos_utf32(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static size_t
--my_well_formed_len_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_well_formed_len_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                          const char *b, const char *e,
-                          size_t nchars, int *error)
- {
-@@ -2565,7 +2565,7 @@ void my_fill_utf32(const CHARSET_INFO *cs,
- 
- 
- static size_t
--my_lengthsp_utf32(const CHARSET_INFO *cs __attribute__((unused)),
-+my_lengthsp_utf32(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                   const char *ptr, size_t length)
- {
-   const char *end= ptr + length;
-@@ -2643,11 +2643,11 @@ my_utf32_get(const uchar *s)
- 
- 
- static int
--my_strnncollsp_utf32_bin(const CHARSET_INFO *cs __attribute__((unused)), 
-+my_strnncollsp_utf32_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), 
-                          const uchar *s, size_t slen, 
-                          const uchar *t, size_t tlen,
-                          my_bool diff_if_only_endspace_difference
--                         __attribute__((unused)))
-+                         MY_ATTRIBUTE((unused)))
- {
-   const uchar *se, *te;
-   size_t minlen;
-@@ -2910,7 +2910,7 @@ static uchar to_upper_ucs2[] = {
- };
- 
- 
--static int my_ucs2_uni(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_ucs2_uni(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		       my_wc_t * pwc, const uchar *s, const uchar *e)
- {
-   if (s+2 > e) /* Need 2 characters */
-@@ -2920,7 +2920,7 @@ static int my_ucs2_uni(const CHARSET_INFO *cs __attribute__((unused)),
-   return 2;
- }
- 
--static int my_uni_ucs2(const CHARSET_INFO *cs __attribute__((unused)) ,
-+static int my_uni_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)) ,
- 		       my_wc_t wc, uchar *r, uchar *e)
- {
-   if ( r+2 > e ) 
-@@ -2963,8 +2963,8 @@ my_tosort_ucs2(MY_UNICASE_INFO *uni_plane, my_wc_t *wc)
- 
- 
- static size_t my_caseup_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen,
--                           char *dst __attribute__((unused)),
--                           size_t dstlen __attribute__((unused)))
-+                           char *dst MY_ATTRIBUTE((unused)),
-+                           size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   my_wc_t wc;
-   int res;
-@@ -3008,8 +3008,8 @@ static void my_hash_sort_ucs2(const CHARSET_INFO *cs, const uchar *s,
- 
- 
- static size_t my_casedn_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen,
--                           char *dst __attribute__((unused)),
--                           size_t dstlen __attribute__((unused)))
-+                           char *dst MY_ATTRIBUTE((unused)),
-+                           size_t dstlen MY_ATTRIBUTE((unused)))
- {
-   my_wc_t wc;
-   int res;
-@@ -3030,7 +3030,7 @@ static size_t my_casedn_ucs2(const CHARSET_INFO *cs, char *src, size_t srclen,
- 
- 
- static void
--my_fill_ucs2(const CHARSET_INFO *cs __attribute__((unused)), 
-+my_fill_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), 
-              char *s, size_t l, int fill)
- {
-   DBUG_ASSERT(fill <= 0xFFFF);
-@@ -3101,11 +3101,11 @@ static int my_strnncoll_ucs2(const CHARSET_INFO *cs,
-     > 0  a > b
- */
- 
--static int my_strnncollsp_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_strnncollsp_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const uchar *s, size_t slen,
-                                const uchar *t, size_t tlen,
-                                my_bool diff_if_only_endspace_difference
--			       __attribute__((unused)))
-+			       MY_ATTRIBUTE((unused)))
- {
-   const uchar *se, *te;
-   size_t minlen;
-@@ -3152,23 +3152,23 @@ static int my_strnncollsp_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
- }
- 
- 
--static uint my_ismbchar_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
--                             const char *b __attribute__((unused)),
--                             const char *e __attribute__((unused)))
-+static uint my_ismbchar_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                             const char *b MY_ATTRIBUTE((unused)),
-+                             const char *e MY_ATTRIBUTE((unused)))
- {
-   return 2;
- }
- 
- 
--static uint my_mbcharlen_ucs2(const CHARSET_INFO *cs __attribute__((unused)) ,
--                              uint c __attribute__((unused)))
-+static uint my_mbcharlen_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)) ,
-+                              uint c MY_ATTRIBUTE((unused)))
- {
-   return 2;
- }
- 
- 
- static
--size_t my_numchars_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numchars_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                         const char *b, const char *e)
- {
-   return (size_t) (e-b)/2;
-@@ -3176,9 +3176,9 @@ size_t my_numchars_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static
--size_t my_charpos_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
--                       const char *b  __attribute__((unused)),
--                       const char *e  __attribute__((unused)),
-+size_t my_charpos_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-+                       const char *b  MY_ATTRIBUTE((unused)),
-+                       const char *e  MY_ATTRIBUTE((unused)),
-                        size_t pos)
- {
-   size_t string_length= (size_t) (e - b);
-@@ -3187,7 +3187,7 @@ size_t my_charpos_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static
--size_t my_well_formed_len_ucs2(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_well_formed_len_ucs2(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const char *b, const char *e,
-                                size_t nchars, int *error)
- {
-@@ -3255,11 +3255,11 @@ int my_strnncoll_ucs2_bin(const CHARSET_INFO *cs,
- }
- 
- static int my_strnncollsp_ucs2_bin(const CHARSET_INFO *cs
--                                   __attribute__((unused)),
-+                                   MY_ATTRIBUTE((unused)),
-                                    const uchar *s, size_t slen, 
-                                    const uchar *t, size_t tlen,
-                                    my_bool diff_if_only_endspace_difference
--                                   __attribute__((unused)))
-+                                   MY_ATTRIBUTE((unused)))
- {
-   const uchar *se, *te;
-   size_t minlen;
-@@ -3303,7 +3303,7 @@ static int my_strnncollsp_ucs2_bin(const CHARSET_INFO *cs
- 
- 
- static
--void my_hash_sort_ucs2_bin(const CHARSET_INFO *cs __attribute__((unused)),
-+void my_hash_sort_ucs2_bin(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			   const uchar *key, size_t len,ulong *nr1, ulong *nr2)
- {
-   const uchar *pos = key;
---- a/strings/ctype-ujis.c
-+++ b/strings/ctype-ujis.c
-@@ -1,5 +1,5 @@
- /* Copyright (c) 2002 MySQL AB & [email protected]
--   Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
-    
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-@@ -184,7 +184,7 @@ static uchar sort_order_ujis[]=
- #define isujis_ss3(c) (((c)&0xff) == 0x8f)
- 
- 
--static uint ismbchar_ujis(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint ismbchar_ujis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 		  const char* p, const char *e)
- {
-   return ((*(uchar*)(p)<0x80)? 0:\
-@@ -194,7 +194,7 @@ static uint ismbchar_ujis(const CHARSET_INFO *cs __attribute__((unused)),
-     0);
- }
- 
--static uint mbcharlen_ujis(const CHARSET_INFO *cs __attribute__((unused)),
-+static uint mbcharlen_ujis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            uint c)
- {
-   return (isujis(c)? 2: isujis_ss2(c)? 2: isujis_ss3(c)? 3: 1);
-@@ -210,7 +210,7 @@ static uint mbcharlen_ujis(const CHARSET_INFO *cs __attribute__((unused)),
- */
- 
- static
--size_t my_well_formed_len_ujis(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_well_formed_len_ujis(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                                const char *beg, const char *end,
-                                size_t pos, int *error)
- {
-@@ -260,7 +260,7 @@ size_t my_well_formed_len_ujis(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static
--size_t my_numcells_eucjp(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_numcells_eucjp(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                        const char *str, const char *str_end)
- {
-   size_t clen;
-@@ -65880,7 +65880,7 @@ static uint16 unicode_to_jisx0212_eucjp[65536]=
-   @retval   MY_CS_ILSEQ    If a wrong byte sequence was found
- */
- static int
--my_mb_wc_euc_jp(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_euc_jp(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                 my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   int hi;
-@@ -65940,7 +65940,7 @@ my_mb_wc_euc_jp(const CHARSET_INFO *cs __attribute__((unused)),
-   @retval   MY_CS_ILUNI    If the Unicode character does not exist in UJIS
- */
- static int
--my_wc_mb_euc_jp(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_euc_jp(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                 my_wc_t wc, uchar *s, uchar *e)
- {
-   int jp;
-@@ -67181,7 +67181,7 @@ get_case_info_for_ch(const CHARSET_INFO *cs, uint plane, uint page, uint offs)
- static size_t
- my_casefold_ujis(const CHARSET_INFO *cs,
-                  char *src, size_t srclen,
--                 char *dst, size_t dstlen __attribute__((unused)),
-+                 char *dst, size_t dstlen MY_ATTRIBUTE((unused)),
-                  uchar *map,
-                  size_t is_upper)
- {
---- a/strings/ctype-utf8.c
-+++ b/strings/ctype-utf8.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-@@ -5327,7 +5327,7 @@ static inline int bincmp(const uchar *s, const uchar *se,
- }
- 
- 
--static int my_utf8_uni(const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_utf8_uni(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                        my_wc_t * pwc, const uchar *s, const uchar *e)
- {
-   uchar c;
-@@ -5438,7 +5438,7 @@ static int my_utf8_uni(const CHARSET_INFO *cs __attribute__((unused)),
-   for example, for a null-terminated string
- */
- static int my_utf8_uni_no_range(const CHARSET_INFO *cs
--                                __attribute__((unused)),
-+                                MY_ATTRIBUTE((unused)),
-                                 my_wc_t * pwc, const uchar *s)
- {
-   uchar c;
-@@ -5479,7 +5479,7 @@ static int my_utf8_uni_no_range(const CHARSET_INFO *cs
- }
- 
- 
--static int my_uni_utf8 (const CHARSET_INFO *cs __attribute__((unused)),
-+static int my_uni_utf8 (const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                         my_wc_t wc, uchar *r, uchar *e)
- {
-   int count;
-@@ -5529,7 +5529,7 @@ static int my_uni_utf8 (const CHARSET_INFO *cs __attribute__((unused)),
-   The same as above, but without range check.
- */
- static int my_uni_utf8_no_range(const CHARSET_INFO *cs
--                                __attribute__((unused)),
-+                                MY_ATTRIBUTE((unused)),
-                                 my_wc_t wc, uchar *r)
- {
-   int count;
-@@ -5955,7 +5955,7 @@ int my_wildcmp_utf8(const CHARSET_INFO *cs,
- 
- 
- static
--size_t my_strnxfrmlen_utf8(const CHARSET_INFO *cs __attribute__((unused)),
-+size_t my_strnxfrmlen_utf8(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            size_t len)
- {
-   return (len * 2 + 2) / 3;
-@@ -5963,7 +5963,7 @@ size_t my_strnxfrmlen_utf8(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static
--int my_valid_mbcharlen_utf8(const CHARSET_INFO *cs __attribute__((unused)),
-+int my_valid_mbcharlen_utf8(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                             const uchar *s, const uchar *e)
- {
-   uchar c;
-@@ -6050,7 +6050,7 @@ static uint my_ismbchar_utf8(const CHARSET_INFO *cs,const char *b,
-   return (res>1) ? res : 0;
- }
- 
--static uint my_mbcharlen_utf8(const CHARSET_INFO *cs  __attribute__((unused)),
-+static uint my_mbcharlen_utf8(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
-                               uint c)
- {
-   if (c < 0x80)
-@@ -7575,7 +7575,7 @@ static char filename_safe_char[128]=
- #define MY_FILENAME_ESCAPE '@'
- 
- static int
--my_mb_wc_filename(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_filename(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                   my_wc_t *pwc, const uchar *s, const uchar *e)
- {
-   int byte1, byte2;
-@@ -7635,7 +7635,7 @@ my_mb_wc_filename(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_wc_mb_filename(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_filename(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                   my_wc_t wc, uchar *s, uchar *e)
- {
-   int code;
-@@ -7898,7 +7898,7 @@ bincmp_utf8mb4(const uchar *s, const uchar *se,
- 
- 
- static int
--my_mb_wc_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_utf8mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                  my_wc_t * pwc, const uchar *s, const uchar *e)
- {
-   uchar c;
-@@ -7984,7 +7984,7 @@ my_mb_wc_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
-   for example, for a null-terminated string
- */
- static int
--my_mb_wc_utf8mb4_no_range(const CHARSET_INFO *cs __attribute__((unused)),
-+my_mb_wc_utf8mb4_no_range(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                           my_wc_t *pwc, const uchar *s)
- {
-   uchar c;
-@@ -8039,7 +8039,7 @@ my_mb_wc_utf8mb4_no_range(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_wc_mb_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_utf8mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                  my_wc_t wc, uchar *r, uchar *e)
- {
-   int count;
-@@ -8075,7 +8075,7 @@ my_wc_mb_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
-   The same as above, but without range check.
- */
- static int
--my_wc_mb_utf8mb4_no_range(const CHARSET_INFO *cs __attribute__((unused)),
-+my_wc_mb_utf8mb4_no_range(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                           my_wc_t wc, uchar *r)
- {
-   int count;
-@@ -8514,7 +8514,7 @@ my_wildcmp_utf8mb4(const CHARSET_INFO *cs,
- 
- 
- static size_t
--my_strnxfrmlen_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
-+my_strnxfrmlen_utf8mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                        size_t len)
- {
-   /* TODO: fix when working on WL "Unicode new version" */
-@@ -8523,7 +8523,7 @@ my_strnxfrmlen_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
- 
- 
- static int
--my_valid_mbcharlen_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)),
-+my_valid_mbcharlen_utf8mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
-                            const uchar *s, const uchar *e)
- {
-   uchar c;
-@@ -8605,7 +8605,7 @@ my_ismbchar_utf8mb4(const CHARSET_INFO *cs, const char *b, const char *e)
- 
- 
- static uint
--my_mbcharlen_utf8mb4(const CHARSET_INFO *cs __attribute__((unused)), uint c)
-+my_mbcharlen_utf8mb4(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)), uint c)
- {
-   if (c < 0x80)
-     return 1;
---- a/strings/ctype-win1250ch.c
-+++ b/strings/ctype-win1250ch.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -436,7 +436,7 @@ static struct wordvalue doubles[] = {
- #define IS_END(p, src, len)	(((char *)p - (char *)src) >= (len))
- 
- static int my_strnncoll_win1250ch(const CHARSET_INFO *cs
--                                  __attribute__((unused)),
-+                                  MY_ATTRIBUTE((unused)),
- 				  const uchar *s1, size_t len1,
-                                   const uchar *s2, size_t len2,
-                                   my_bool s2_is_prefix)
-@@ -471,7 +471,7 @@ int my_strnncollsp_win1250ch(const CHARSET_INFO *cs,
- 			     const uchar *s, size_t slen, 
- 			     const uchar *t, size_t tlen,
-                              my_bool diff_if_only_endspace_difference
--                             __attribute__((unused)))
-+                             MY_ATTRIBUTE((unused)))
- {
-   for ( ; slen && s[slen-1] == ' ' ; slen--);
-   for ( ; tlen && t[tlen-1] == ' ' ; tlen--);
-@@ -480,9 +480,9 @@ int my_strnncollsp_win1250ch(const CHARSET_INFO *cs,
- 
- 
- static size_t
--my_strnxfrm_win1250ch(const CHARSET_INFO *cs  __attribute__((unused)),
-+my_strnxfrm_win1250ch(const CHARSET_INFO *cs  MY_ATTRIBUTE((unused)),
-                       uchar *dest, size_t len,
--                      uint nweights_arg __attribute__((unused)),
-+                      uint nweights_arg MY_ATTRIBUTE((unused)),
-                       const uchar *src, size_t srclen, uint flags)
- {
-   int value;
-@@ -614,7 +614,7 @@ static uchar like_range_prefix_max_win1250ch[]=
- */
- 
- static my_bool
--my_like_range_win1250ch(const CHARSET_INFO *cs __attribute__((unused)),
-+my_like_range_win1250ch(const CHARSET_INFO *cs MY_ATTRIBUTE((unused)),
- 			const char *ptr, size_t ptr_length,
- 			pbool escape, pbool w_one, pbool w_many,
- 			size_t res_length,
---- a/tests/mysql_client_fw.c
-+++ b/tests/mysql_client_fw.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights
-+/* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights
-  * reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-@@ -1265,7 +1265,7 @@ static struct my_tests_st *get_my_tests();  /* To be defined in main .c file */
- static struct my_tests_st *my_testlist= 0;
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- char *argument)
- {
-  switch (optid) {
---- a/tests/thread_test.c
-+++ b/tests/thread_test.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -29,9 +29,9 @@ static char *database,*host,*user,*password,*unix_socket,*query;
- uint tcp_port;
- 
- #ifndef __WIN__
--void *test_thread(void *arg __attribute__((unused)))
-+void *test_thread(void *arg MY_ATTRIBUTE((unused)))
- #else
--unsigned __stdcall test_thread(void *arg __attribute__((unused)))
-+unsigned __stdcall test_thread(void *arg MY_ATTRIBUTE((unused)))
- #endif
- {
-   MYSQL *mysql;
-@@ -134,7 +134,7 @@ static void usage()
- 
- 
- static my_bool
--get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
-+get_one_option(int optid, const struct my_option *opt MY_ATTRIBUTE((unused)),
- 	       char *argument)
- {
-   switch (optid) {
---- a/unittest/gunit/rpl_group_set-t.cc
-+++ b/unittest/gunit/rpl_group_set-t.cc
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -472,9 +472,9 @@ TEST_F(GroupTest, Group_containers)
-   push_errtext();                                                       \
-   for (int method_i= 0, combination_i= 0; method_i < MAX_METHOD; method_i++) { \
-     for (int sid_map_i= 0; sid_map_i < MAX_SID_MAP; sid_map_i++, combination_i++) { \
--      Gtid_set &gtid_set __attribute__((unused))=                       \
-+      Gtid_set &gtid_set MY_ATTRIBUTE((unused))=                       \
-         containers[combination_i]->gtid_set;                            \
--      Sid_map *&sid_map __attribute__((unused))=                        \
-+      Sid_map *&sid_map MY_ATTRIBUTE((unused))=                        \
-         sid_maps[sid_map_i];                                            \
-       append_errtext(__LINE__,                                          \
-                      "sid_map_i=%d method_i=%d combination_i=%d",       \
-@@ -489,13 +489,13 @@ TEST_F(GroupTest, Group_containers)
-     for (int end_i= 0; end_i < MAX_END; end_i++) {                      \
-       for (int empty_i= 0; empty_i < MAX_EMPTY; empty_i++) {            \
-         for (int anon_i= 0; anon_i < MAX_ANON; anon_i++, combination_i++) { \
--          Gtid_set &gtid_set __attribute__((unused))=                   \
-+          Gtid_set &gtid_set MY_ATTRIBUTE((unused))=                   \
-             containers[combination_i]->gtid_set;                        \
--          Group_cache &stmt_cache __attribute__((unused))=              \
-+          Group_cache &stmt_cache MY_ATTRIBUTE((unused))=              \
-             containers[combination_i]->stmt_cache;                      \
--          Group_cache &trx_cache __attribute__((unused))=               \
-+          Group_cache &trx_cache MY_ATTRIBUTE((unused))=               \
-             containers[combination_i]->trx_cache;                       \
--          Group_log_state &group_log_state __attribute__((unused))=     \
-+          Group_log_state &group_log_state MY_ATTRIBUTE((unused))=     \
-             containers[combination_i]->group_log_state;                 \
-           append_errtext(__LINE__,                                      \
-                          "type_i=%d end_i=%d empty_i=%d "               \
---- a/unittest/mytap/tap.h
-+++ b/unittest/mytap/tap.h
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 
-+/* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved. 
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -126,7 +126,7 @@ void plan(int const count);
- */
- 
- void ok(int const pass, char const *fmt, ...)
--  __attribute__((format(printf,2,3)));
-+  MY_ATTRIBUTE((format(printf,2,3)));
- 
- 
- /**
-@@ -169,7 +169,7 @@ void ok1(int const pass);
-  */
- 
- void skip(int how_many, char const *reason, ...)
--    __attribute__((format(printf,2,3)));
-+    MY_ATTRIBUTE((format(printf,2,3)));
- 
- 
- /**
-@@ -218,7 +218,7 @@ void skip(int how_many, char const *reason, ...)
-  */
- 
- void diag(char const *fmt, ...)
--  __attribute__((format(printf,1,2)));
-+  MY_ATTRIBUTE((format(printf,1,2)));
- 
- 
- /**
-@@ -240,7 +240,7 @@ void diag(char const *fmt, ...)
- */
- 
- void BAIL_OUT(char const *fmt, ...)
--  __attribute__((noreturn, format(printf,1,2)));
-+  MY_ATTRIBUTE((noreturn, format(printf,1,2)));
- 
- 
- /**
-@@ -271,7 +271,7 @@ int exit_status(void);
-  */
- 
- void skip_all(char const *reason, ...)
--  __attribute__((noreturn, format(printf, 1, 2)));
-+  MY_ATTRIBUTE((noreturn, format(printf, 1, 2)));
- 
- 
- /**
-@@ -296,7 +296,7 @@ void skip_all(char const *reason, ...)
- */
- 
- void todo_start(char const *message, ...)
--  __attribute__((format(printf, 1, 2)));
-+  MY_ATTRIBUTE((format(printf, 1, 2)));
- 
- 
- /**
---- a/vio/test-sslclient.c
-+++ b/vio/test-sslclient.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -40,7 +40,7 @@ fatal_error(	const char*	r)
- }
- 
- int
--main(	int	argc __attribute__((unused)),
-+main(	int	argc MY_ATTRIBUTE((unused)),
- 	char**	argv)
- {
- 	char	client_key[] = "../SSL/client-key.pem",	client_cert[] = "../SSL/client-cert.pem";
---- a/vio/test-sslserver.c
-+++ b/vio/test-sslserver.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -75,7 +75,7 @@ client_thread(	void*	arg)
- }
- 
- int
--main(int argc __attribute__((unused)), char** argv)
-+main(int argc MY_ATTRIBUTE((unused)), char** argv)
- {
- 	char	server_key[] = "../SSL/server-key.pem",
- 		server_cert[] = "../SSL/server-cert.pem";
---- a/vio/vio.c
-+++ b/vio/vio.c
-@@ -1,4 +1,4 @@
--/* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
-+/* Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -37,16 +37,16 @@
-   @retval 1       The requested I/O event has occurred.
- */
- 
--static int no_io_wait(Vio *vio __attribute__((unused)),
--                      enum enum_vio_io_event event __attribute__((unused)),
--                      int timeout __attribute__((unused)))
-+static int no_io_wait(Vio *vio MY_ATTRIBUTE((unused)),
-+                      enum enum_vio_io_event event MY_ATTRIBUTE((unused)),
-+                      int timeout MY_ATTRIBUTE((unused)))
- {
-   return 1;
- }
- 
- #endif
- 
--static my_bool has_no_data(Vio *vio __attribute__((unused)))
-+static my_bool has_no_data(Vio *vio MY_ATTRIBUTE((unused)))
- {
-   return FALSE;
- }
-@@ -177,7 +177,7 @@ static void vio_init(Vio *vio, enum enum_vio_type type,
- */
- 
- my_bool vio_reset(Vio* vio, enum enum_vio_type type,
--                  my_socket sd, void *ssl __attribute__((unused)), uint flags)
-+                  my_socket sd, void *ssl MY_ATTRIBUTE((unused)), uint flags)
- {
-   int ret= FALSE;
-   Vio new_vio;
---- a/vio/viosocket.c
-+++ b/vio/viosocket.c
-@@ -1,5 +1,5 @@
- /*
--   Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
-+   Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
- 
-    This program is free software; you can redistribute it and/or
-    modify it under the terms of the GNU General Public License
-@@ -29,7 +29,7 @@
- # include <sys/filio.h>
- #endif
- 
--int vio_errno(Vio *vio __attribute__((unused)))
-+int vio_errno(Vio *vio MY_ATTRIBUTE((unused)))
- {
-   /* These transport types are not Winsock based. */
- #ifdef _WIN32
-@@ -247,8 +247,8 @@ static int vio_set_blocking(Vio *vio, my_bool status)
- 
- 
- int vio_socket_timeout(Vio *vio,
--                       uint which __attribute__((unused)),
--                       my_bool old_mode __attribute__((unused)))
-+                       uint which MY_ATTRIBUTE((unused)),
-+                       my_bool old_mode MY_ATTRIBUTE((unused)))
- {
-   int ret= 0;
-   DBUG_ENTER("vio_socket_timeout");
-@@ -314,7 +314,7 @@ int vio_socket_timeout(Vio *vio,
- }
- 
- 
--int vio_fastsend(Vio * vio __attribute__((unused)))
-+int vio_fastsend(Vio * vio MY_ATTRIBUTE((unused)))
- {
-   int r=0;
-   DBUG_ENTER("vio_fastsend");
-@@ -735,7 +735,7 @@ static my_bool socket_peek_read(Vio *vio, uint *bytes)
- int vio_io_wait(Vio *vio, enum enum_vio_io_event event, int timeout)
- {
-   int ret;
--  short revents __attribute__((unused)) = 0;
-+  short revents MY_ATTRIBUTE((unused)) = 0;
-   struct pollfd pfd;
-   my_socket sd= mysql_socket_getfd(vio->mysql_socket);
-   MYSQL_SOCKET_WAIT_VARIABLES(locker, state) /* no ';' */
-
-
--- a/components/mysql-5-6/patches/bug23022999.patch	Sat Jun 25 10:48:59 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-Developed in-house, not fed back.
-Solaris-specific
-plugin_dir option not set correctly in mysqld_safe for 64bit mysql packages
---- a/scripts/mysqld_safe.sh
-+++ b/scripts/mysqld_safe.sh
-@@ -495,29 +495,6 @@ fi
- parse_arguments `$print_defaults $defaults --loose-verbose mysqld_safe safe_mysqld`
- parse_arguments PICK-ARGS-FROM-ARGV "$@"
- 
--#
--# Try to find the plugin directory
--#
--
--# Use user-supplied argument
--if [ -n "${PLUGIN_DIR}" ]; then
--  plugin_dir="${PLUGIN_DIR}"
--else
--  # Try to find plugin dir relative to basedir
--  for dir in lib64/mysql/plugin lib64/plugin lib/mysql/plugin lib/plugin
--  do
--    if [ -d "${MY_BASEDIR_VERSION}/${dir}" ]; then
--      plugin_dir="${MY_BASEDIR_VERSION}/${dir}"
--      break
--    fi
--  done
--  # Give up and use compiled-in default
--  if [ -z "${plugin_dir}" ]; then
--    plugin_dir='@pkgplugindir@'
--  fi
--fi
--plugin_dir="${plugin_dir}${PLUGIN_VARIANT}"
--
- # Determine what logging facility to use
- 
- # Ensure that 'logger' exists, if it's requested
-@@ -760,7 +737,7 @@ fi
- cmd="`mysqld_ld_preload_text`$NOHUP_NICENESS"
- 
- for i in  "$ledir/$MYSQLD" "$defaults" "--basedir=$MY_BASEDIR_VERSION" \
--  "--datadir=$DATADIR" "--plugin-dir=$plugin_dir" "$USER_OPTION"
-+  "--datadir=$DATADIR" "${PLUGIN_DIR:+--plugin-dir="$PLUGIN_DIR"}" "$USER_OPTION"
- do
-   cmd="$cmd "`shell_quote_string "$i"`
- done