diff options
author | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2010-05-31 12:29:54 -0300 |
---|---|---|
committer | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2010-05-31 12:29:54 -0300 |
commit | a8c288054efb4de42cefa5bf06bcb487171ed9d3 (patch) | |
tree | bbbd0851e788a87bdf80dacc828f8de102b381b4 /storage/perfschema | |
parent | e5bcb6f36ae784fb794a3363acf8ba75f937ca8b (diff) | |
download | mariadb-git-a8c288054efb4de42cefa5bf06bcb487171ed9d3.tar.gz |
Bug#53445: Build with -Wall and fix warnings that it generates
Fix various mismatches between function's language linkage. Any
particular function that is declared in C++ but should be callable
from C must have C linkage. Note that function types with different
linkages are also distinct. Thus, if a function type is declared in
C code, it will have C linkage (same if declared in a extern "C"
block).
client/mysql.cc:
Mismatch between prototype and declaration.
client/mysqltest.cc:
mysqltest used to be C code. Use C linkage where appropriate.
cmd-line-utils/readline/input.c:
Isolate unreachable code.
include/my_alloc.h:
Function type must have C linkage.
include/my_base.h:
Function type must have C linkage.
include/my_global.h:
Add helper macros to avoid spurious namespace indentation.
include/mysql.h.pp:
Update ABI file.
mysys/my_gethwaddr.c:
Remove stray carriage return and fix coding style.
plugin/semisync/semisync_master_plugin.cc:
Callback function types have C linkage.
plugin/semisync/semisync_slave_plugin.cc:
Callback function types have C linkage.
sql/derror.cc:
Expected function type has C linkage.
sql/field.cc:
Use helper macro and fix indentation.
sql/handler.cc:
Expected function type has C linkage.
sql/item_sum.cc:
Correct function linkages. Remove now unnecessary cast.
sql/item_sum.h:
Add prototypes with the appropriate linkage as otherwise they
are distinct.
sql/mysqld.cc:
Wrap functions in C linkage mode.
sql/opt_range.cc:
C language linkage is ignored for class member functions.
sql/partition_info.cc:
Add wrapper functions with C linkage for class member functions.
sql/rpl_utility.h:
Use helper macro and fix indentation.
sql/sql_class.cc:
Change type of thd argument -- THD is a class.
Use helper macro and fix indentation.
sql/sql_class.h:
Change type of thd argument -- THD is a class.
sql/sql_select.cc:
Expected function type has C linkage.
sql/sql_select.h:
Move prototype to sql_test.h
sql/sql_show.cc:
Expected function type has C linkage.
sql/sql_test.cc:
Fix required function prototype and fix coding style.
sql/sql_test.h:
Removed unnecessary export and add another.
storage/myisammrg/ha_myisammrg.cc:
Expected function type has C linkage.
storage/perfschema/pfs.cc:
PSI headers are declared with C language linkage, which also
applies to function types.
Diffstat (limited to 'storage/perfschema')
-rw-r--r-- | storage/perfschema/pfs.cc | 7 | ||||
-rw-r--r-- | storage/perfschema/pfs_instr.cc | 4 | ||||
-rw-r--r-- | storage/perfschema/pfs_instr_class.cc | 4 | ||||
-rw-r--r-- | storage/perfschema/pfs_server.cc | 7 |
4 files changed, 19 insertions, 3 deletions
diff --git a/storage/perfschema/pfs.cc b/storage/perfschema/pfs.cc index 380801c8677..f5901540ab0 100644 --- a/storage/perfschema/pfs.cc +++ b/storage/perfschema/pfs.cc @@ -806,6 +806,10 @@ static int build_prefix(const LEX_STRING *prefix, const char *category, } \ return; +/* Use C linkage for the interface functions. */ + +C_MODE_START + static void register_mutex_v1(const char *category, PSI_mutex_info_v1 *info, int count) @@ -2054,8 +2058,9 @@ static void* get_interface(int version) } } +C_MODE_END + struct PSI_bootstrap PFS_bootstrap= { get_interface }; - diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc index fb40db02ca3..9507e2d2582 100644 --- a/storage/perfschema/pfs_instr.cc +++ b/storage/perfschema/pfs_instr.cc @@ -134,6 +134,10 @@ static PFS_events_waits *thread_history_array= NULL; static LF_HASH filename_hash; /** True if filename_hash is initialized. */ static bool filename_hash_inited= false; +C_MODE_START +/** Get hash table key for instrumented files. */ +static uchar *filename_hash_get_key(const uchar *, size_t *, my_bool); +C_MODE_END /** Initialize all the instruments instance buffers. diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc index ac8aa64b0c5..d1535aa851b 100644 --- a/storage/perfschema/pfs_instr_class.cc +++ b/storage/perfschema/pfs_instr_class.cc @@ -118,6 +118,10 @@ PFS_instr_class global_table_class= static LF_HASH table_share_hash; /** True if table_share_hash is initialized. */ static bool table_share_hash_inited= false; +C_MODE_START +/** Get hash table key for instrumented tables. */ +static uchar *table_share_hash_get_key(const uchar *, size_t *, my_bool); +C_MODE_END static volatile uint32 file_class_dirty_count= 0; static volatile uint32 file_class_allocated_count= 0; diff --git a/storage/perfschema/pfs_server.cc b/storage/perfschema/pfs_server.cc index a1216c6ac30..f852a9fe732 100644 --- a/storage/perfschema/pfs_server.cc +++ b/storage/perfschema/pfs_server.cc @@ -32,8 +32,11 @@ PFS_global_param pfs_param; +C_MODE_START static void destroy_pfs_thread(void *key); -void cleanup_performance_schema(void); +C_MODE_END + +static void cleanup_performance_schema(void); struct PSI_bootstrap* initialize_performance_schema(const PFS_global_param *param) @@ -100,7 +103,7 @@ static void destroy_pfs_thread(void *key) destroy_thread(pfs); } -void cleanup_performance_schema(void) +static void cleanup_performance_schema(void) { cleanup_instruments(); cleanup_sync_class(); |