Commit cd1c6e22 authored by Davi Arnaut's avatar Davi Arnaut

Bug#58057: 5.1 libmysql/libmysql.c unused variable/compile failure

Bug#57995: Compiler flag change build error on OSX 10.4: my_getncpus.c
Bug#57996: Compiler flag change build error on OSX 10.5 : bind.c
Bug#57994: Compiler flag change build error : my_redel.c
Bug#57993: Compiler flag change build error on FreeBsd 7.0 : regexec.c
Bug#57992: Compiler flag change build error on FreeBsd : mf_keycache.c
Bug#57997: Compiler flag change build error on OSX 10.6: debug_sync.cc

Fix assorted compiler generated warnings.

cmd-line-utils/readline/bind.c:
  Bug#57996: Compiler flag change build error on OSX 10.5 : bind.c
  
  Initialize variable to work around a false positive warning.
include/m_string.h:
  Bug#57994: Compiler flag change build error : my_redel.c
  
  The expansion of stpcpy (in glibc) causes warnings if the
  return value of strmov is not being used. Since stpcpy is
  a GNU extension and the expansion ends up using a built-in
  provided by GCC, use the compiler provided built-in directly
  when possible.
include/my_compiler.h:
  Define a dummy MY_GNUC_PREREQ when not compiling with GCC.
libmysql/libmysql.c:
  Bug#58057: 5.1 libmysql/libmysql.c unused variable/compile failure
  
  Variable might not be used in some cases. So, tag it as unused.
mysys/mf_keycache.c:
  Bug#57992: Compiler flag change build error on FreeBsd : mf_keycache.c
  
  Use UNINIT_VAR to work around a false positive warning.
mysys/my_getncpus.c:
  Bug#57995: Compiler flag change build error on OSX 10.4: my_getncpus.c
  
  Declare variable in the same block where it is used.
regex/regexec.c:
  Bug#57993: Compiler flag change build error on FreeBsd 7.0 : regexec.c
  
  Work around a compiler bug which causes the cast to not be enforced.
sql/debug_sync.cc:
  Bug#57997: Compiler flag change build error on OSX 10.6: debug_sync.cc
  
  Use UNINIT_VAR to work around a false positive warning.
sql/handler.cc:
  Use UNINIT_VAR to work around a false positive warning.
sql/slave.cc:
  Use UNINIT_VAR to work around a false positive warning.
sql/sql_partition.cc:
  Use UNINIT_VAR to work around a false positive warning.
storage/myisam/ft_nlq_search.c:
  Use UNINIT_VAR to work around a false positive warning.
storage/myisam/mi_create.c:
  Use UNINIT_VAR to work around a false positive warning.
storage/myisammrg/myrg_open.c:
  Use UNINIT_VAR to work around a false positive warning.
tests/mysql_client_test.c:
  Change function to take a pointer to const, no need for a cast.
parent 6780abfc
...@@ -855,7 +855,7 @@ _rl_read_init_file (filename, include_level) ...@@ -855,7 +855,7 @@ _rl_read_init_file (filename, include_level)
{ {
register int i; register int i;
char *buffer, *openname, *line, *end; char *buffer, *openname, *line, *end;
size_t file_size; size_t file_size = 0;
current_readline_init_file = filename; current_readline_init_file = filename;
current_readline_init_include_level = include_level; current_readline_init_include_level = include_level;
......
...@@ -73,7 +73,9 @@ extern "C" { ...@@ -73,7 +73,9 @@ extern "C" {
extern void *(*my_str_malloc)(size_t); extern void *(*my_str_malloc)(size_t);
extern void (*my_str_free)(void *); extern void (*my_str_free)(void *);
#if defined(HAVE_STPCPY) #if MY_GNUC_PREREQ(3, 4)
#define strmov(dest, src) __builtin_stpcpy(dest, src)
#elif defined(HAVE_STPCPY)
#define strmov(A,B) stpcpy((A),(B)) #define strmov(A,B) stpcpy((A),(B))
#ifndef stpcpy #ifndef stpcpy
extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */ extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
......
...@@ -76,6 +76,11 @@ ...@@ -76,6 +76,11 @@
/** /**
Generic (compiler-independent) features. Generic (compiler-independent) features.
*/ */
#ifndef MY_GNUC_PREREQ
# define MY_GNUC_PREREQ(maj, min) (0)
#endif
#ifndef MY_ALIGNOF #ifndef MY_ALIGNOF
# ifdef __cplusplus # ifdef __cplusplus
template<typename type> struct my_alignof_helper { char m1; type m2; }; template<typename type> struct my_alignof_helper { char m1; type m2; };
......
...@@ -131,8 +131,8 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)), ...@@ -131,8 +131,8 @@ int STDCALL mysql_server_init(int argc __attribute__((unused)),
mysql_port = MYSQL_PORT; mysql_port = MYSQL_PORT;
#ifndef MSDOS #ifndef MSDOS
{ {
struct servent *serv_ptr; char *env;
char *env; struct servent *serv_ptr __attribute__((unused));
/* /*
if builder specifically requested a default port, use that if builder specifically requested a default port, use that
......
...@@ -3917,11 +3917,11 @@ restart: ...@@ -3917,11 +3917,11 @@ restart:
if (!(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH | if (!(block->status & (BLOCK_IN_EVICTION | BLOCK_IN_SWITCH |
BLOCK_REASSIGNED))) BLOCK_REASSIGNED)))
{ {
struct st_hash_link *next_hash_link; struct st_hash_link *UNINIT_VAR(next_hash_link);
my_off_t next_diskpos; my_off_t UNINIT_VAR(next_diskpos);
File next_file; File UNINIT_VAR(next_file);
uint next_status; uint UNINIT_VAR(next_status);
uint hash_requests; uint UNINIT_VAR(hash_requests);
total_found++; total_found++;
found++; found++;
......
...@@ -18,9 +18,10 @@ ...@@ -18,9 +18,10 @@
#include "mysys_priv.h" #include "mysys_priv.h"
#include <unistd.h> #include <unistd.h>
#ifdef _SC_NPROCESSORS_ONLN
static int ncpus=0; static int ncpus=0;
#ifdef _SC_NPROCESSORS_ONLN
int my_getncpus() int my_getncpus()
{ {
if (!ncpus) if (!ncpus)
......
...@@ -117,6 +117,7 @@ size_t nmatch; ...@@ -117,6 +117,7 @@ size_t nmatch;
my_regmatch_t pmatch[]; my_regmatch_t pmatch[];
int eflags; int eflags;
{ {
char *pstr = (char *) str;
register struct re_guts *g = preg->re_g; register struct re_guts *g = preg->re_g;
#ifdef REDEBUG #ifdef REDEBUG
# define GOODFLAGS(f) (f) # define GOODFLAGS(f) (f)
...@@ -133,7 +134,7 @@ int eflags; ...@@ -133,7 +134,7 @@ int eflags;
if ((size_t) g->nstates <= CHAR_BIT*sizeof(states1) && if ((size_t) g->nstates <= CHAR_BIT*sizeof(states1) &&
!(eflags&REG_LARGE)) !(eflags&REG_LARGE))
return(smatcher(preg->charset, g, (char *)str, nmatch, pmatch, eflags)); return(smatcher(preg->charset, g, pstr, nmatch, pmatch, eflags));
else else
return(lmatcher(preg->charset, g, (char *)str, nmatch, pmatch, eflags)); return(lmatcher(preg->charset, g, pstr, nmatch, pmatch, eflags));
} }
...@@ -1718,7 +1718,7 @@ static void debug_sync_execute(THD *thd, st_debug_sync_action *action) ...@@ -1718,7 +1718,7 @@ static void debug_sync_execute(THD *thd, st_debug_sync_action *action)
if (action->execute) if (action->execute)
{ {
const char *old_proc_info; const char *UNINIT_VAR(old_proc_info);
action->execute--; action->execute--;
......
...@@ -4141,7 +4141,7 @@ int handler::read_multi_range_first(KEY_MULTI_RANGE **found_range_p, ...@@ -4141,7 +4141,7 @@ int handler::read_multi_range_first(KEY_MULTI_RANGE **found_range_p,
*/ */
int handler::read_multi_range_next(KEY_MULTI_RANGE **found_range_p) int handler::read_multi_range_next(KEY_MULTI_RANGE **found_range_p)
{ {
int result; int UNINIT_VAR(result);
DBUG_ENTER("handler::read_multi_range_next"); DBUG_ENTER("handler::read_multi_range_next");
/* We should not be called after the last call returned EOF. */ /* We should not be called after the last call returned EOF. */
......
...@@ -2321,7 +2321,7 @@ static int exec_relay_log_event(THD* thd, Relay_log_info* rli) ...@@ -2321,7 +2321,7 @@ static int exec_relay_log_event(THD* thd, Relay_log_info* rli)
if (slave_trans_retries) if (slave_trans_retries)
{ {
int temp_err; int UNINIT_VAR(temp_err);
if (exec_res && (temp_err= has_temporary_error(thd))) if (exec_res && (temp_err= has_temporary_error(thd)))
{ {
const char *errmsg; const char *errmsg;
......
...@@ -6747,8 +6747,8 @@ int get_part_iter_for_interval_via_mapping(partition_info *part_info, ...@@ -6747,8 +6747,8 @@ int get_part_iter_for_interval_via_mapping(partition_info *part_info,
{ {
DBUG_ASSERT(!is_subpart); DBUG_ASSERT(!is_subpart);
Field *field= part_info->part_field_array[0]; Field *field= part_info->part_field_array[0];
uint32 max_endpoint_val; uint32 UNINIT_VAR(max_endpoint_val);
get_endpoint_func get_endpoint; get_endpoint_func UNINIT_VAR(get_endpoint);
bool can_match_multiple_values; /* is not '=' */ bool can_match_multiple_values; /* is not '=' */
uint field_len= field->pack_length_in_rec(); uint field_len= field->pack_length_in_rec();
part_iter->ret_null_part= part_iter->ret_null_part_orig= FALSE; part_iter->ret_null_part= part_iter->ret_null_part_orig= FALSE;
......
...@@ -63,7 +63,7 @@ static int FT_SUPERDOC_cmp(void* cmp_arg __attribute__((unused)), ...@@ -63,7 +63,7 @@ static int FT_SUPERDOC_cmp(void* cmp_arg __attribute__((unused)),
static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio) static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
{ {
int subkeys, r; int UNINIT_VAR(subkeys), r;
uint keylen, doc_cnt; uint keylen, doc_cnt;
FT_SUPERDOC sdoc, *sptr; FT_SUPERDOC sdoc, *sptr;
TREE_ELEMENT *selem; TREE_ELEMENT *selem;
......
...@@ -38,7 +38,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, ...@@ -38,7 +38,7 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
MI_CREATE_INFO *ci,uint flags) MI_CREATE_INFO *ci,uint flags)
{ {
register uint i,j; register uint i,j;
File UNINIT_VAR(dfile),file; File UNINIT_VAR(dfile), UNINIT_VAR(file);
int errpos,save_errno, create_mode= O_RDWR | O_TRUNC; int errpos,save_errno, create_mode= O_RDWR | O_TRUNC;
myf create_flag; myf create_flag;
uint fields,length,max_key_length,packed,pointer,real_length_diff, uint fields,length,max_key_length,packed,pointer,real_length_diff,
...@@ -73,8 +73,6 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs, ...@@ -73,8 +73,6 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
{ {
DBUG_RETURN(my_errno=HA_WRONG_CREATE_OPTION); DBUG_RETURN(my_errno=HA_WRONG_CREATE_OPTION);
} }
LINT_INIT(dfile);
LINT_INIT(file);
errpos=0; errpos=0;
options=0; options=0;
bzero((uchar*) &share,sizeof(share)); bzero((uchar*) &share,sizeof(share));
......
...@@ -221,7 +221,7 @@ MYRG_INFO *myrg_parent_open(const char *parent_name, ...@@ -221,7 +221,7 @@ MYRG_INFO *myrg_parent_open(const char *parent_name,
int (*callback)(void*, const char*), int (*callback)(void*, const char*),
void *callback_param) void *callback_param)
{ {
MYRG_INFO *m_info; MYRG_INFO *UNINIT_VAR(m_info);
int rc; int rc;
int errpos; int errpos;
int save_errno; int save_errno;
......
...@@ -1175,7 +1175,7 @@ my_bool fetch_n(const char **query_list, unsigned query_count, ...@@ -1175,7 +1175,7 @@ my_bool fetch_n(const char **query_list, unsigned query_count,
/* Separate thread query to test some cases */ /* Separate thread query to test some cases */
static my_bool thread_query(char *query) static my_bool thread_query(const char *query)
{ {
MYSQL *l_mysql; MYSQL *l_mysql;
my_bool error; my_bool error;
...@@ -1197,7 +1197,7 @@ static my_bool thread_query(char *query) ...@@ -1197,7 +1197,7 @@ static my_bool thread_query(char *query)
goto end; goto end;
} }
l_mysql->reconnect= 1; l_mysql->reconnect= 1;
if (mysql_query(l_mysql, (char *)query)) if (mysql_query(l_mysql, query))
{ {
fprintf(stderr, "Query failed (%s)\n", mysql_error(l_mysql)); fprintf(stderr, "Query failed (%s)\n", mysql_error(l_mysql));
error= 1; error= 1;
...@@ -5821,7 +5821,7 @@ static void test_prepare_alter() ...@@ -5821,7 +5821,7 @@ static void test_prepare_alter()
rc= mysql_stmt_execute(stmt); rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc); check_execute(stmt, rc);
if (thread_query((char *)"ALTER TABLE test_prep_alter change id id_new varchar(20)")) if (thread_query("ALTER TABLE test_prep_alter change id id_new varchar(20)"))
exit(1); exit(1);
is_null= 1; is_null= 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment