# HG changeset patch # User Gipson Pulla # Date 1481500019 28800 # Node ID bb846d3c84b565e101231b191f65c8773c7eb051 # Parent 1f0889220ac6767b09d27e67e95c71b80848d93f 24708946 Upgrade the version of MySQL 5.6 to 5.6.33 on Solaris 22520176 mysql makefiles in userland should use cmake.mk 24924801 problem in DATABASE/MYSQL diff -r 1f0889220ac6 -r bb846d3c84b5 components/mysql-5-6/Makefile --- a/components/mysql-5-6/Makefile Wed Dec 07 14:31:01 2016 -0800 +++ b/components/mysql-5-6/Makefile Sun Dec 11 15:46:59 2016 -0800 @@ -27,11 +27,11 @@ include ../../make-rules/shared-macros.mk COMPONENT_NAME = mysql -COMPONENT_VERSION = 5.6.29 +COMPONENT_VERSION = 5.6.33 COMPONENT_SRC = $(COMPONENT_NAME)-$(COMPONENT_VERSION) COMPONENT_ARCHIVE = $(COMPONENT_SRC).tar.gz COMPONENT_ARCHIVE_HASH= \ - sha256:6ac85b75b2dfa8c232725dda25469df37bf4e48b408cc0978d0dfc34c25a817f + sha256:60776ec27d78b59f597e71738c5bcdea64dcba33c36fede320d5930320b1fef0 COMPONENT_ARCHIVE_URL = http://cdn.mysql.com/Downloads/MySQL-5.6/$(COMPONENT_ARCHIVE) COMPONENT_PROJECT_URL = http://dev.mysql.com/ COMPONENT_BUGDB = database/mysql @@ -49,7 +49,7 @@ CLONEY = echo COMPONENT_PRE_BUILD_ACTION += $(CP) -rp $(SOURCE_DIR)/* $(@D); -BUILD_STYLE= justmake +BUILD_STYLE= cmake TEST_TARGET= $(NO_TESTS) SYSTEM_TEST_TARGET= $(NO_TESTS) include $(WS_MAKE_RULES)/common.mk @@ -72,8 +72,8 @@ 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.32 = -m32 -norunpath -std=c++03 +CMAKE_CXXFLAGS.64 = -m64 -norunpath -std=c++03 # Providing component specific build options to cmake CMAKE_OPTIONS += -DBUILD_CONFIG=mysql_release @@ -105,11 +105,6 @@ 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 += echo Running cmake with $(CMAKE_OPTIONS); -COMPONENT_PRE_BUILD_ACTION += $(CMAKE) . $(CMAKE_OPTIONS); - # Adjust '#!/usr/bin/perl' $(INSTALL_64): PERL_SCRIPTS= \ $(PROTO_DIR)/$(CMAKE_PREFIX)/bin/mysql_convert_table_format \ diff -r 1f0889220ac6 -r bb846d3c84b5 components/mysql-5-6/mysql-56.p5m --- a/components/mysql-5-6/mysql-56.p5m Wed Dec 07 14:31:01 2016 -0800 +++ b/components/mysql-5-6/mysql-56.p5m Sun Dec 11 15:46:59 2016 -0800 @@ -74,7 +74,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 @@ -160,6 +159,7 @@ file path=usr/mysql/5.6/lib/$(MACH64)/plugin/qa_auth_server.so file path=usr/mysql/5.6/lib/$(MACH64)/plugin/semisync_master.so file path=usr/mysql/5.6/lib/$(MACH64)/plugin/semisync_slave.so +file path=usr/mysql/5.6/lib/$(MACH64)/plugin/test_udf_services.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 @@ -175,6 +175,7 @@ file path=usr/mysql/5.6/lib/plugin/qa_auth_server.so file path=usr/mysql/5.6/lib/plugin/semisync_master.so file path=usr/mysql/5.6/lib/plugin/semisync_slave.so +file path=usr/mysql/5.6/lib/plugin/test_udf_services.so file path=usr/mysql/5.6/lib/plugin/validate_password.so file path=usr/mysql/5.6/man/man1/comp_err.1 file path=usr/mysql/5.6/man/man1/innochecksum.1 @@ -271,4 +272,5 @@ 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 +depend type=require fmri=database/mysql-56/client depend type=require fmri=database/mysql-common diff -r 1f0889220ac6 -r bb846d3c84b5 components/mysql-5-6/mysql-56test.p5m --- a/components/mysql-5-6/mysql-56test.p5m Wed Dec 07 14:31:01 2016 -0800 +++ b/components/mysql-5-6/mysql-56test.p5m Sun Dec 11 15:46:59 2016 -0800 @@ -120,6 +120,7 @@ file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_filters.test file path=usr/mysql/5.6/mysql-test/extra/rpl_tests/rpl_flsh_tbls.test 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_generate_mts_gap.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 @@ -147,6 +148,7 @@ 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_mts_relay_log_recovery.test 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 @@ -503,7 +505,6 @@ file path=usr/mysql/5.6/mysql-test/include/ps_query.inc file path=usr/mysql/5.6/mysql-test/include/ps_renew.inc file path=usr/mysql/5.6/mysql-test/include/purge_first_log.inc -file path=usr/mysql/5.6/mysql-test/include/python_with_json.inc file path=usr/mysql/5.6/mysql-test/include/query_cache.inc file path=usr/mysql/5.6/mysql-test/include/query_cache_sql_prepare.inc file path=usr/mysql/5.6/mysql-test/include/rand.inc @@ -1116,7 +1117,6 @@ 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_table4.result file path=usr/mysql/5.6/mysql-test/r/lowercase_table_grant.result @@ -1167,6 +1167,7 @@ file path=usr/mysql/5.6/mysql-test/r/mysql_binary_mode.result file path=usr/mysql/5.6/mysql-test/r/mysql_client_test.result file path=usr/mysql/5.6/mysql-test/r/mysql_client_test_embedded.result +file path=usr/mysql/5.6/mysql-test/r/mysql_client_test_qcache.result file path=usr/mysql/5.6/mysql-test/r/mysql_comments.result file path=usr/mysql/5.6/mysql-test/r/mysql_config_editor.result file path=usr/mysql/5.6/mysql-test/r/mysql_cp932.result @@ -1415,6 +1416,7 @@ file path=usr/mysql/5.6/mysql-test/r/ssl.result file path=usr/mysql/5.6/mysql-test/r/ssl_8k_key.result file path=usr/mysql/5.6/mysql-test/r/ssl_and_innodb.result +file path=usr/mysql/5.6/mysql-test/r/ssl_ca.result file path=usr/mysql/5.6/mysql-test/r/ssl_cipher.result file path=usr/mysql/5.6/mysql-test/r/ssl_compress.result file path=usr/mysql/5.6/mysql-test/r/ssl_connect.result @@ -1423,6 +1425,8 @@ file path=usr/mysql/5.6/mysql-test/r/ssl_crl_clients.result file path=usr/mysql/5.6/mysql-test/r/ssl_crl_clients_valid.result file path=usr/mysql/5.6/mysql-test/r/ssl_crl_crlpath.result +file path=usr/mysql/5.6/mysql-test/r/ssl_mode.result +file path=usr/mysql/5.6/mysql-test/r/ssl_mode_no_ssl.result 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 @@ -1533,6 +1537,7 @@ file path=usr/mysql/5.6/mysql-test/r/type_varchar.result file path=usr/mysql/5.6/mysql-test/r/type_year.result file path=usr/mysql/5.6/mysql-test/r/udf.result +file path=usr/mysql/5.6/mysql-test/r/udf_services.result file path=usr/mysql/5.6/mysql-test/r/udf_skip_grants.result file path=usr/mysql/5.6/mysql-test/r/union.result file path=usr/mysql/5.6/mysql-test/r/unsafe_binlog_innodb.result @@ -1545,6 +1550,7 @@ file path=usr/mysql/5.6/mysql-test/r/varbinary.result file path=usr/mysql/5.6/mysql-test/r/variables-big.result file path=usr/mysql/5.6/mysql-test/r/variables-notembedded.result +file path=usr/mysql/5.6/mysql-test/r/variables-win.result file path=usr/mysql/5.6/mysql-test/r/variables.result file path=usr/mysql/5.6/mysql-test/r/variables_community.result file path=usr/mysql/5.6/mysql-test/r/variables_debug.result @@ -1582,7 +1588,6 @@ 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 @@ -1591,6 +1596,7 @@ file path=usr/mysql/5.6/mysql-test/std_data/bug19371.MYD file path=usr/mysql/5.6/mysql-test/std_data/bug19371.MYI file path=usr/mysql/5.6/mysql-test/std_data/bug19371.frm +file path=usr/mysql/5.6/mysql-test/std_data/bug20683959loaddata.txt file path=usr/mysql/5.6/mysql-test/std_data/bug30435_10k_items.txt file path=usr/mysql/5.6/mysql-test/std_data/bug30435_5k.txt file path=usr/mysql/5.6/mysql-test/std_data/bug33029-slave-relay-bin.000001 @@ -1792,6 +1798,7 @@ file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_crash_safe_master_checksum.result file path=usr/mysql/5.6/mysql-test/suite/binlog/r/binlog_database.result 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_dmls_on_tmp_tables_readonly.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 @@ -1905,6 +1912,7 @@ file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_crash_safe_master_checksum.test file path=usr/mysql/5.6/mysql-test/suite/binlog/t/binlog_database.test 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_dmls_on_tmp_tables_readonly.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 @@ -3325,9 +3333,12 @@ 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/create_isl_with_direct.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/flush-hang.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/import_update_stats.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 @@ -3354,6 +3365,7 @@ file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index-debug.result file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index-online-delete.result file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index-online-fk.result +file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index-online-norebuild.result file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb-index-online-purge.result 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 @@ -3460,7 +3472,9 @@ file path=usr/mysql/5.6/mysql-test/suite/innodb/r/innodb_bug70867.result 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_deadlock_with_autoinc.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_file_limit_check.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 @@ -3514,10 +3528,14 @@ 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/create_isl_with_direct-master.opt +file path=usr/mysql/5.6/mysql-test/suite/innodb/t/create_isl_with_direct.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/flush-hang.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/import_update_stats.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 @@ -3552,6 +3570,7 @@ 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 file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-online-master.opt +file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-online-norebuild.test file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb-index-online-purge.test 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 @@ -3676,8 +3695,12 @@ file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_corrupt_bit.test file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_ctype_ldml-master.opt 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_deadlock_with_autoinc-master.opt +file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_deadlock_with_autoinc.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_file_limit_check-master.opt +file path=usr/mysql/5.6/mysql-test/suite/innodb/t/innodb_file_limit_check.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 @@ -3765,6 +3788,8 @@ 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/r/sync.result +file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/r/sync_block.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 @@ -3800,6 +3825,8 @@ 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_fts/t/sync.test +file path=usr/mysql/5.6/mysql-test/suite/innodb_fts/t/sync_block.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 @@ -4852,7 +4879,7 @@ file path=usr/mysql/5.6/mysql-test/suite/opt_trace/t/subquery_no_prot.test file path=usr/mysql/5.6/mysql-test/suite/opt_trace/t/subquery_ps_prot.test file path=usr/mysql/5.6/mysql-test/suite/opt_trace/t/temp_table.test -file path=usr/mysql/5.6/mysql-test/suite/opt_trace/validate_json.py +file path=usr/mysql/5.6/mysql-test/suite/opt_trace/validate_json.pl file path=usr/mysql/5.6/mysql-test/suite/parts/inc/methods1.inc file path=usr/mysql/5.6/mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc file path=usr/mysql/5.6/mysql-test/suite/parts/inc/part_exch_drop_tabs.inc @@ -5322,7 +5349,6 @@ file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/upgrade_check.inc file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/wait_for_pfs_thread_count.inc file path=usr/mysql/5.6/mysql-test/suite/perfschema/include/wait_till_sleep.inc -file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/aggregate.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/all_tests.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/bad_option_1.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/bad_option_2.result @@ -5445,7 +5471,6 @@ 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 file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/dml_tiws_by_index_usage.result @@ -5630,6 +5655,7 @@ file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result +file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/table_name.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/table_schema.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result file path=usr/mysql/5.6/mysql-test/suite/perfschema/r/temp_table_io.result @@ -5640,7 +5666,6 @@ 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 file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/bad_option_1.test file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/bad_option_2.test @@ -6048,6 +6073,7 @@ file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t.test file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t.test file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t.test +file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/table_name.test file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/table_schema.test file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/tampered_perfschema_table1-master.opt file path=usr/mysql/5.6/mysql-test/suite/perfschema/t/tampered_perfschema_table1.test @@ -6120,10 +6146,12 @@ 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_autoinc_lock_style.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 +file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_binlog_failed_drop_table.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_binlog_grant.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_binlog_index.result @@ -6231,7 +6259,6 @@ file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_gtid_sql_until_before_after.result 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 @@ -6303,6 +6330,8 @@ 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_relay_log_post_crash_recovery.result +file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_mts_relay_log_recovery_on_error.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 @@ -6431,6 +6460,7 @@ 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_slave_skip_error_all.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 file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_row_sp003.result @@ -6500,6 +6530,7 @@ 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_error.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 @@ -6540,6 +6571,7 @@ 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_stop_slave_threads_error.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_switch_stm_row_mixed.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_sync.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_temp_table.result @@ -6567,6 +6599,7 @@ file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_variables_stm.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_view.result file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_view_multi.result +file path=usr/mysql/5.6/mysql-test/suite/rpl/r/rpl_zombie_dump_threads.result file path=usr/mysql/5.6/mysql-test/suite/rpl/rpl_1slave_base.cnf file path=usr/mysql/5.6/mysql-test/suite/rpl/t/disabled.def file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_000010-slave.opt @@ -6591,6 +6624,7 @@ 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_autoinc_lock_style.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 @@ -6598,6 +6632,8 @@ file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_corruption.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_errors.test +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_failed_drop_table-slave.opt +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_failed_drop_table.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_gcommit_options-master.opt file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_gcommit_options.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_binlog_grant.test @@ -6762,8 +6798,6 @@ file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_sql_until_before_after.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_gtid_stm_insert_delayed.test 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 @@ -6886,6 +6920,10 @@ 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_relay_log_post_crash_recovery-slave.opt +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_relay_log_post_crash_recovery.test +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_relay_log_recovery_on_error-slave.opt +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_mts_relay_log_recovery_on_error.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 @@ -6942,6 +6980,7 @@ file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_parallel_switch_sequential.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_parallel_temp_query-slave.opt file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_parallel_temp_query.test +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_parallel_worker_error-slave.opt file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_parallel_worker_error.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_partition_archive.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_partition_innodb-master.opt @@ -7078,6 +7117,8 @@ 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_slave_skip_error_all-slave.opt +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_slave_skip_error_all.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 file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_row_sp003.test @@ -7190,6 +7231,7 @@ 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_error.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 @@ -7244,6 +7286,8 @@ 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_stop_slave_threads_error-slave.opt +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_stop_slave_threads_error.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed-master.opt file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_switch_stm_row_mixed.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_sync-master.opt @@ -7282,6 +7326,7 @@ file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_variables_stm.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_view.test file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_view_multi.test +file path=usr/mysql/5.6/mysql-test/suite/rpl/t/rpl_zombie_dump_threads.test file path=usr/mysql/5.6/mysql-test/suite/rpl_ndb/my.cnf file path=usr/mysql/5.6/mysql-test/suite/rpl_ndb/r/rpl_ndb_UUID.result file path=usr/mysql/5.6/mysql-test/suite/rpl_ndb/r/rpl_ndb_blob2.result @@ -9154,6 +9199,8 @@ file path=usr/mysql/5.6/mysql-test/t/mysql_client_test.test file path=usr/mysql/5.6/mysql-test/t/mysql_client_test_embedded.cnf file path=usr/mysql/5.6/mysql-test/t/mysql_client_test_embedded.test +file path=usr/mysql/5.6/mysql-test/t/mysql_client_test_qcache-master.opt +file path=usr/mysql/5.6/mysql-test/t/mysql_client_test_qcache.test file path=usr/mysql/5.6/mysql-test/t/mysql_comments.sql file path=usr/mysql/5.6/mysql-test/t/mysql_comments.test file path=usr/mysql/5.6/mysql-test/t/mysql_config_editor.test @@ -9441,6 +9488,8 @@ file path=usr/mysql/5.6/mysql-test/t/ssl_8k_key-master.opt file path=usr/mysql/5.6/mysql-test/t/ssl_8k_key.test file path=usr/mysql/5.6/mysql-test/t/ssl_and_innodb.test +file path=usr/mysql/5.6/mysql-test/t/ssl_ca-master.opt +file path=usr/mysql/5.6/mysql-test/t/ssl_ca.test file path=usr/mysql/5.6/mysql-test/t/ssl_cipher-master.opt file path=usr/mysql/5.6/mysql-test/t/ssl_cipher.test file path=usr/mysql/5.6/mysql-test/t/ssl_compress.test @@ -9453,6 +9502,9 @@ file path=usr/mysql/5.6/mysql-test/t/ssl_crl_clients_valid.test file path=usr/mysql/5.6/mysql-test/t/ssl_crl_crlpath-master.opt file path=usr/mysql/5.6/mysql-test/t/ssl_crl_crlpath.test +file path=usr/mysql/5.6/mysql-test/t/ssl_mode.test +file path=usr/mysql/5.6/mysql-test/t/ssl_mode_no_ssl-master.opt +file path=usr/mysql/5.6/mysql-test/t/ssl_mode_no_ssl.test file path=usr/mysql/5.6/mysql-test/t/status-master.opt file path=usr/mysql/5.6/mysql-test/t/status.test file path=usr/mysql/5.6/mysql-test/t/status2.test @@ -9590,6 +9642,8 @@ file path=usr/mysql/5.6/mysql-test/t/type_year.test file path=usr/mysql/5.6/mysql-test/t/udf-master.opt file path=usr/mysql/5.6/mysql-test/t/udf.test +file path=usr/mysql/5.6/mysql-test/t/udf_services-master.opt +file path=usr/mysql/5.6/mysql-test/t/udf_services.test file path=usr/mysql/5.6/mysql-test/t/udf_skip_grants-master.opt file path=usr/mysql/5.6/mysql-test/t/udf_skip_grants.test file path=usr/mysql/5.6/mysql-test/t/union-master.opt @@ -9608,6 +9662,7 @@ file path=usr/mysql/5.6/mysql-test/t/variables-master.opt file path=usr/mysql/5.6/mysql-test/t/variables-notembedded-master.opt file path=usr/mysql/5.6/mysql-test/t/variables-notembedded.test +file path=usr/mysql/5.6/mysql-test/t/variables-win.test file path=usr/mysql/5.6/mysql-test/t/variables.test file path=usr/mysql/5.6/mysql-test/t/variables_community.test file path=usr/mysql/5.6/mysql-test/t/variables_debug.test diff -r 1f0889220ac6 -r bb846d3c84b5 components/mysql-5-6/patches/bug22552923.patch --- a/components/mysql-5-6/patches/bug22552923.patch Wed Dec 07 14:31:01 2016 -0800 +++ /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() - diff -r 1f0889220ac6 -r bb846d3c84b5 components/mysql-5-6/patches/bug22932576.patch --- a/components/mysql-5-6/patches/bug22932576.patch Wed Dec 07 14:31:01 2016 -0800 +++ /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 ` - ---- 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] 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_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 - --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 - #include - --#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 - - 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 - #include - --#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 -@@ -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 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,¬_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 part_it(m_part_info->partitions); - List_iterator 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; ikey.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 &list __attribute__((unused)), -+select_dump::prepare(List &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 &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 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 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& 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); -
-   yyerrlab1:
-   #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
--    __attribute__ ((__unused__))
-+    MY_ATTRIBUTE ((__unused__))
-   #endif
- 
-- 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(static_cast(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(static_cast(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(static_cast(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 - #include - #include -+#include // 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(var_ptr) = *static_cast(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 --__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 .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 .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 .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 ¬_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 - #include -+#include // 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 & tommy@valley.ne.jp -- 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 & tommy@valley.ne.jp -- 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 & tommy@valley.ne.jp -- 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 >id_set __attribute__((unused))= \ -+ Gtid_set >id_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 >id_set __attribute__((unused))= \ -+ Gtid_set >id_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 - #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 ';' */ - -