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 /include | |
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 'include')
-rw-r--r-- | include/my_alloc.h | 5 | ||||
-rw-r--r-- | include/my_base.h | 2 | ||||
-rw-r--r-- | include/my_global.h | 5 | ||||
-rw-r--r-- | include/mysql.h.pp | 2 |
4 files changed, 14 insertions, 0 deletions
diff --git a/include/my_alloc.h b/include/my_alloc.h index 93b7438a1df..dbf104bda9a 100644 --- a/include/my_alloc.h +++ b/include/my_alloc.h @@ -23,6 +23,8 @@ #define ALLOC_MAX_BLOCK_TO_DROP 4096 #define ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP 10 +C_MODE_START + typedef struct st_used_mem { /* struct for once_alloc (block) */ struct st_used_mem *next; /* Next block in use */ @@ -48,4 +50,7 @@ typedef struct st_mem_root void (*error_handler)(void); } MEM_ROOT; + +C_MODE_END + #endif diff --git a/include/my_base.h b/include/my_base.h index 7766d4165a2..28dc55b1b84 100644 --- a/include/my_base.h +++ b/include/my_base.h @@ -562,6 +562,8 @@ typedef ulong ha_rows; #define HA_VARCHAR_PACKLENGTH(field_length) ((field_length) < 256 ? 1 :2) /* invalidator function reference for Query Cache */ +C_MODE_START typedef void (* invalidator_by_filename)(const char * filename); +C_MODE_END #endif /* _my_base_h */ diff --git a/include/my_global.h b/include/my_global.h index 41735f4e4f5..c21a8a1f9ea 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -73,6 +73,11 @@ #define C_MODE_END #endif +#ifdef __cplusplus +#define CPP_UNNAMED_NS_START namespace { +#define CPP_UNNAMED_NS_END } +#endif + #if defined(_WIN32) #include <my_config.h> #elif defined(__NETWARE__) diff --git a/include/mysql.h.pp b/include/mysql.h.pp index 4fef9e9ec0b..9c1d8adcd2f 100644 --- a/include/mysql.h.pp +++ b/include/mysql.h.pp @@ -202,6 +202,7 @@ typedef unsigned int MYSQL_FIELD_OFFSET; typedef unsigned long long my_ulonglong; #include "typelib.h" #include "my_alloc.h" +C_MODE_START typedef struct st_used_mem { struct st_used_mem *next; @@ -219,6 +220,7 @@ typedef struct st_mem_root unsigned int first_block_usage; void (*error_handler)(void); } MEM_ROOT; +C_MODE_END typedef struct st_typelib { unsigned int count; const char *name; |