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.
Fix assorted warnings that are generated in optimized builds.
Most of it is silencing variables that are set but unused.
This patch also introduces the MY_ASSERT_UNREACHABLE macro
which helps the compiler to deduce that a certain piece of
code is unreachable.
include/my_compiler.h:
Use GCC's __builtin_unreachable if available. It allows
GCC to deduce the unreachability of certain code paths,
thus avoiding warnings that, for example, accused that a
variable could be used without being initialized (due to
unreachable code paths).
Fix assorted compiler warnings on Mac OS X.
BUILD/SETUP.sh:
Remove -Wctor-dtor-privacy flag to workaround a GCC bug that
causes it to not properly detect that implicitly generated
constructors are always public.
cmd-line-utils/readline/terminal.c:
tgetnum and tgetflag might not take a const string argument.
mysys/my_gethostbyname.c:
Tag unused arguments.
mysys/my_sync.c:
Tag unused arguments.
Apart strict-aliasing warnings, fix the remaining warnings
generated by GCC 4.4.4 -Wall and -Wextra flags.
One major source of warnings was the in-house function my_bcmp
which (unconventionally) took pointers to unsigned characters
as the byte sequences to be compared. Since my_bcmp and bcmp
are deprecated functions whose only difference with memcmp is
the return value, every use of the function is replaced with
memcmp as the special return value wasn't actually being used
by any caller.
There were also various other warnings, mostly due to type
mismatches, missing return values, missing prototypes, dead
code (unreachable) and ignored return values.
BUILD/SETUP.sh:
Remove flags that are implied by -Wall and -Wextra.
Do not warn about unused parameters in C++.
BUILD/check-cpu:
Print only the compiler version instead of verbose banner.
Although the option is gcc specific, the check was only
being used for GCC specific checks anyway.
client/mysql.cc:
bcmp is no longer defined.
client/mysqltest.cc:
Pass a string to function expecting a format string.
Replace use of bcmp with memcmp.
cmd-line-utils/readline/Makefile.am:
Always define _GNU_SOURCE when compiling GNU readline.
Required to make certain prototypes visible.
cmd-line-utils/readline/input.c:
Condition for the code to be meaningful.
configure.in:
Remove check for bcmp.
extra/comp_err.c:
Use appropriate type.
extra/replace.c:
Replace use of bcmp with memcmp.
extra/yassl/src/crypto_wrapper.cpp:
Do not ignore the return value of fgets. Retrieve the file
position if fgets succeed -- if it fails, the function will
bail out and return a error.
extra/yassl/taocrypt/include/blowfish.hpp:
Use a single array instead of accessing positions of the sbox_
through a subscript to pbox_.
extra/yassl/taocrypt/include/runtime.hpp:
One definition of such functions is enough.
extra/yassl/taocrypt/src/aes.cpp:
Avoid potentially ambiguous conditions.
extra/yassl/taocrypt/src/algebra.cpp:
Rename arguments to avoid shadowing related warnings.
extra/yassl/taocrypt/src/blowfish.cpp:
Avoid potentially ambiguous conditions.
extra/yassl/taocrypt/src/integer.cpp:
Do not define type within a anonymous union.
Use a variable to return a value instead of
leaving the result in a register -- compiler
does not know the logic inside the asm.
extra/yassl/taocrypt/src/misc.cpp:
Define handler for pure virtual functions.
Remove unused code.
extra/yassl/taocrypt/src/twofish.cpp:
Avoid potentially ambiguous conditions.
extra/yassl/testsuite/test.hpp:
Function must have C language linkage.
include/m_string.h:
Remove check which relied on bcmp being defined -- they weren't
being used as bcmp is only visible when _BSD_SOURCE is defined.
include/my_bitmap.h:
Remove bogus helpers which were used only in a few files and
were causing warnings about dead code.
include/my_global.h:
Due to G++ bug, always silence false-positive uninitialized
variables warnings when compiling C++ code with G++.
Remove bogus helper.
libmysql/Makefile.shared:
Remove built-in implementation of bcmp.
mysql-test/lib/My/SafeProcess/safe_process.cc:
Cast pid to largest possible type for a process identifier.
mysys/mf_loadpath.c:
Leave space of the ending nul.
mysys/mf_pack.c:
Replace bcmp with memcmp.
mysys/my_bitmap.c:
Dead code removal.
mysys/my_gethwaddr.c:
Remove unused variable.
mysys/my_getopt.c:
Silence bogus uninitialized variable warning.
Do not cast away the constant qualifier.
mysys/safemalloc.c:
Cast to expected type.
mysys/thr_lock.c:
Silence bogus uninitialized variable warning.
sql/field.cc:
Replace bogus helper with a more appropriate logic which is
used throughout the code.
sql/item.cc:
Remove bogus logical condition which always evaluates to TRUE.
sql/item_create.cc:
Simplify code to avoid signedness related warnings.
sql/log_event.cc:
Replace use of bcmp with memcmp.
No need to use helpers for simple bit operations.
sql/log_event_old.cc:
Replace bmove_align with memcpy.
sql/mysqld.cc:
Move use declaration of variable to the ifdef block where it
is used. Remove now-unnecessary casts and arguments.
sql/set_var.cc:
Replace bogus helpers with simple and classic bit operations.
sql/slave.cc:
Cast to expected type and silence bogus warning.
sql/sql_class.h:
Don't use enum values as bit flags, the supposed type safety is
bogus as the combined bit flags are not a value in the enumeration.
sql/udf_example.c:
Only declare variable when necessary.
sql/unireg.h:
Replace use of bmove_align with memcpy.
storage/innobase/os/os0file.c:
Silence bogus warning.
storage/myisam/mi_open.c:
Remove bogus cast, DBUG_DUMP expects a pointer to unsigned
char.
storage/myisam/mi_page.c:
Remove bogus cast, DBUG_DUMP expects a pointer to unsigned
char.
strings/bcmp.c:
Remove built-in bcmp.
strings/ctype-ucs2.c:
Silence bogus warning.
tests/mysql_client_test.c:
Use a appropriate type as expected by simple_command().
MySQL with gcc 4.3.2
This is the final patch in the context of this bug.
cmd-line-utils/readline/rlmbutil.h:
Changed in a previous patch, reverted by a backport.
cmd-line-utils/readline/text.c:
Static var initialization.
extra/yassl/include/yassl_error.hpp:
SetErrorString handles errors outside of the YasslError
enum.
extra/yassl/src/ssl.cpp:
SetErrorString handles errors outside of the YasslError
enum.
extra/yassl/src/yassl_error.cpp:
SetErrorString handles errors outside of the YasslError
enum.
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.
client/mysqlmanager-pwgen.c:
A fix for warn_unused_result, adding fallback to use of
srand()/rand() if /dev/random cannot be used. Also actually
adds calls to rand() in the second branch so that it actually
creates a random password.
unnecessarily
The problem is that libmysqlclient.so is built with THREAD
undefined, while a client compiling against the same header
files will see THREAD as defined and definitions in
my_pthread.h will be included, possibly resulting in undefined
symbols that cannot be resolved with libmysqlclient.so.
The suggested solution is to require that clients wanting to
link with libmysqlclient.so should be built with
MYSQL_CLIENT_NO_THREADS defined. This requires a documentation
change, and more details for this will be supplied if this
patch is approved.
The MYSQL_CLIENT_NO_THREADS define was renamed from
UNDEF_THREADS_HACK, to get a more suitable (less suspicious)
name for the define. (The UNDEF_THREADS_HACK is retained for
backwards compatibility, though.)
This patch is also in anticipation of WL#4958, which will
remove this problem altogether by dropping the building of
libmysqlclient.
Fixed the 5.0-bugteam MacOSX warnings.
client/mysqldump.c:
Bug #45286: typecasts
cmd-line-utils/readline/bind.c:
Bug #45286: use variable of right type
cmd-line-utils/readline/display.c:
Bug #45286: use variable of right type
dbug/user.r:
Bug #45286: no warnings in generating man pages
strings/ctype.c:
Bug #45286: typecasts
- Header <sys/ttydefaults.h> missing or not usable on QNX and OpenServer 6
include/my_global.h
- Moved down definition of function rint(), as for some platforms (in
this case Netware) 'longlong' is not defined until later in
"my_global.h"
into pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.1
configure.in:
Auto merged
include/mysql/plugin.h:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/partition_innodb.result:
Auto merged
mysql-test/t/information_schema.test:
Auto merged
mysql-test/t/partition_innodb.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_plugin.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/myisam/mi_dynrec.c:
Auto merged
into pcg5ppc.xiphis.org:/Network/Servers/anubis.xiphis.org/home/antony/work/merge.20080307/mysql-5.0
sql/item.cc:
Auto merged
sql/item_func.cc:
Auto merged
Problem: libedit is a very pure-ASCII oriented library,
and it is not aware of extended (0x80..0xFF) or even multi-byte
characters. It considered such characters as non-printable
and didn't allow to input them.
Fix: make libedit think that all bytes >= 0x80 are printable.
cmd-line-utils/libedit/el.h:
Defining macro, a locale's isprint() replacement.
We'll consider all 8bit values as printable characters.
cmd-line-utils/libedit/key.c:
Changing isprint() to el_isprint().
cmd-line-utils/libedit/map.c:
Changing isprint() to el_isprint().
cmd-line-utils/libedit/read.c:
Changing isprint() to el_isprint().
cmd-line-utils/libedit/refresh.c:
Changing isprint() to el_isprint().
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
cmd-line-utils/readline/bind.c:
Auto merged
cmd-line-utils/readline/complete.c:
Auto merged
cmd-line-utils/readline/display.c:
Auto merged
cmd-line-utils/readline/histfile.c:
Auto merged
cmd-line-utils/readline/rltty.c:
Auto merged
cmd-line-utils/readline/undo.c:
Auto merged
cmd-line-utils/readline/xmalloc.c:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work-18431
cmd-line-utils/readline/bind.c:
Auto merged
cmd-line-utils/readline/complete.c:
Auto merged
cmd-line-utils/readline/display.c:
Auto merged
cmd-line-utils/readline/histfile.c:
Auto merged
cmd-line-utils/readline/rltty.c:
Auto merged
cmd-line-utils/readline/undo.c:
Auto merged
cmd-line-utils/readline/xmalloc.c:
Auto merged
cmd-line-utils/readline/INSTALL:
update readline to version 5.2
cmd-line-utils/readline/README:
update readline to version 5.2
cmd-line-utils/readline/bind.c:
update readline to version 5.2
cmd-line-utils/readline/callback.c:
update readline to version 5.2
cmd-line-utils/readline/chardefs.h:
update readline to version 5.2
cmd-line-utils/readline/compat.c:
update readline to version 5.2
cmd-line-utils/readline/complete.c:
update readline to version 5.2
cmd-line-utils/readline/configure.in:
update readline to version 5.2
cmd-line-utils/readline/display.c:
update readline to version 5.2
cmd-line-utils/readline/funmap.c:
update readline to version 5.2
cmd-line-utils/readline/histexpand.c:
update readline to version 5.2
cmd-line-utils/readline/histfile.c:
update readline to version 5.2
cmd-line-utils/readline/history.c:
update readline to version 5.2
cmd-line-utils/readline/histsearch.c:
update readline to version 5.2
cmd-line-utils/readline/input.c:
update readline to version 5.2
cmd-line-utils/readline/isearch.c:
update readline to version 5.2
cmd-line-utils/readline/keymaps.c:
update readline to version 5.2
cmd-line-utils/readline/kill.c:
update readline to version 5.2
cmd-line-utils/readline/macro.c:
update readline to version 5.2
cmd-line-utils/readline/mbutil.c:
update readline to version 5.2
cmd-line-utils/readline/misc.c:
update readline to version 5.2
cmd-line-utils/readline/nls.c:
update readline to version 5.2
cmd-line-utils/readline/parens.c:
update readline to version 5.2
cmd-line-utils/readline/readline.c:
update readline to version 5.2
cmd-line-utils/readline/readline.h:
update readline to version 5.2
cmd-line-utils/readline/rlconf.h:
update readline to version 5.2
cmd-line-utils/readline/rldefs.h:
update readline to version 5.2
cmd-line-utils/readline/rlmbutil.h:
update readline to version 5.2
cmd-line-utils/readline/rlprivate.h:
update readline to version 5.2
cmd-line-utils/readline/rltty.c:
update readline to version 5.2
cmd-line-utils/readline/savestring.c:
update readline to version 5.2
cmd-line-utils/readline/search.c:
update readline to version 5.2
cmd-line-utils/readline/shell.c:
update readline to version 5.2
cmd-line-utils/readline/signals.c:
update readline to version 5.2
cmd-line-utils/readline/terminal.c:
update readline to version 5.2
cmd-line-utils/readline/text.c:
update readline to version 5.2
cmd-line-utils/readline/tilde.c:
update readline to version 5.2
cmd-line-utils/readline/tilde.h:
update readline to version 5.2
cmd-line-utils/readline/undo.c:
update readline to version 5.2
cmd-line-utils/readline/util.c:
update readline to version 5.2
cmd-line-utils/readline/vi_keymap.c:
update readline to version 5.2
cmd-line-utils/readline/vi_mode.c:
update readline to version 5.2
cmd-line-utils/readline/xmalloc.c:
update readline to version 5.2
Ensure use of libedit "config.h" by adding "-I. -I$(srcdir)" to DEFS,
work around for problem with automake 1.10 (bug#24809)
cmd-line-utils/libedit/Makefile.am:
Ensure use of libedit "config.h" by adding "-I. -I$(srcdir)" to DEFS,
work around for problem with automake 1.10 (bug#24809)
Use 'make install' to create the package
Makefile.am:
Added 'pkgsuppdir' to control location separately
Pass on mandir and infodir
Don't install headers
scripts/Makefile.am:
Pass on mandir and infodir
scripts/make_binary_distribution.sh:
Use 'make install' to create the package
support-files/Makefile.am:
Added 'pkgsuppdir' to control location separately
cmd-line-utils/readline/Makefile.am:
Don't install headers
cmd-line-utils/libedit/Makefile.am:
Don't install headers
into mysql.com:/home/kent/bk/config_h/mysql-5.1-build
config/ac-macros/misc.m4:
Auto merged
configure.in:
Auto merged
include/Makefile.am:
Auto merged
mysql-test/std_data/cacert.pem:
Auto merged
mysql-test/std_data/client-cert.pem:
Auto merged
mysql-test/std_data/client-key.pem:
Auto merged
mysql-test/std_data/server-cert.pem:
Auto merged
mysql-test/std_data/server-key.pem:
Auto merged
mysys/my_pthread.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
BitKeeper/deleted/.del-Makefile.am~de166d6fcac3b9b6:
Auto merged
to "my_config.h". Not to pollute the top directory, and to get more control
over what is included. Made the include path for "libedit" pick up its own
"config.h" first.
config/ac-macros/misc.m4:
aclocal in automake 1.8 can't handle AC_REQUIRE on
a user macro defined in the same included file.
cmd-line-utils/libedit/Makefile.am:
Changed include path so that current directory is taken first, as there
is a "config.h" there with the same name as the one in top "include".
configure.in:
Generate "config.h" directly into "include", don't pollute top directory
include/Makefile.am:
Copy "config.h" from current directory to "my_config.h", added note in
the make file why there are two identical files with different name.
scripts/make_binary_distribution.sh:
Removed copy of "config.h" from top directory, it is in "include" in a
source tree.
- Declare 'tgoto' if not already declared in system header files.
cmd-line-utils/libedit/el_term.h:
Declare 'tgoto' if not already declared in system header files. Failing
to declare it will cause the pointer returned to be truncated
to 32-bit integer which is no a valid pointer - in most cases.
configure.in:
Add check to see if 'tgoto' is declared in system header files
Avoid compiler warnings
cmd-line-utils/readline/rltty.c:
Avoid a compiler warning
config/ac-macros/misc.m4:
Avoid a compiler warning, which could abort ./configure
if CFLAGS contain -Werror.