summaryrefslogtreecommitdiff
path: root/sql/item_create.cc
diff options
context:
space:
mode:
authorStaale Smedseng <staale.smedseng@sun.com>2009-08-28 17:51:31 +0200
committerStaale Smedseng <staale.smedseng@sun.com>2009-08-28 17:51:31 +0200
commit2217de25139f5994fc1c5c71f897ff0788813db0 (patch)
tree4278d9f3353d5c86ca327f6ac2680c001e809843 /sql/item_create.cc
parent95d185693d93846e036f8c9e125f304040545282 (diff)
downloadmariadb-git-2217de25139f5994fc1c5c71f897ff0788813db0.tar.gz
Bug #43414 Parenthesis (and other) warnings compiling MySQL
with gcc 4.3.2 This patch fixes a number of GCC warnings about variables used before initialized. A new macro UNINIT_VAR() is introduced for use in the variable declaration, and LINT_INIT() usage will be gradually deprecated. (A workaround is used for g++, pending a patch for a g++ bug.) GCC warnings for unused results (attribute warn_unused_result) for a number of system calls (present at least in later Ubuntus, where the usual void cast trick doesn't work) are also fixed.
Diffstat (limited to 'sql/item_create.cc')
-rw-r--r--sql/item_create.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/item_create.cc b/sql/item_create.cc
index c897b7aef79..cbd015f300b 100644
--- a/sql/item_create.cc
+++ b/sql/item_create.cc
@@ -451,10 +451,9 @@ Item *create_func_cast(Item *a, Cast_target cast_type,
const char *c_len, const char *c_dec,
CHARSET_INFO *cs)
{
- Item *res;
+ Item *UNINIT_VAR(res);
ulong len;
uint dec;
- LINT_INIT(res);
switch (cast_type) {
case ITEM_CAST_BINARY: res= new Item_func_binary(a); break;
@@ -542,6 +541,9 @@ Item *create_func_cast(Item *a, Cast_target cast_type,
res= new Item_char_typecast(a, len, cs ? cs :
current_thd->variables.collation_connection);
break;
+
+ default:
+ DBUG_ASSERT(0);
}
return res;
}