mariadb/include
Davi Arnaut bb036c93b4 Bug#42733: Type-punning warnings when compiling MySQL --
strict aliasing violations.

Essentially, the problem is that large parts of the server were
developed in simpler times (last decades, pre C99 standard) when
strict aliasing and compilers supporting such optimizations were
rare to non-existent. Thus, when compiling the server with a modern
compiler that uses strict aliasing rules to perform optimizations,
there are several places in the code that might trigger undefined
behavior.

As evinced by some recent bugs, GCC does a somewhat good of job
misoptimizing such code, but on the other hand also gives warnings
about suspicious code. One problem is that the warnings aren't
always accurate, yet we can't afford to just shut them off as we
might miss real cases. False-positive cases are aggravated mostly
by casts that are likely to trigger undefined behavior.

The solution is to start a cleanup process focused on fixing and
reducing the amount of strict-aliasing related warnings produced
by GCC and others compilers. A good deal of noise reduction can
be achieved by just removing useless casts that are product of
historical cruft and are likely to trigger undefined behavior if
dereferenced.
2010-06-10 17:16:43 -03:00
..
atomic Bug#33728 Atomic builtins 2008-01-11 20:34:36 -02:00
mysql BUG#39053 - UNISTALL PLUGIN does not allow the storage engine 2010-04-14 13:53:59 +04:00
.cvsignore
base64.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
config-netware.h Auto-merge 2009-07-31 15:28:15 -04:00
config-win.h Bug#43397 mysql headers redefine pthread_mutex_init 2009-12-20 19:02:15 +01:00
decimal.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
errmsg.h Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
ft_global.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
hash.h merging with mysql-5.0-bugteam 2009-06-19 17:58:46 +05:30
heap.h Added support for 'internal temporary tables' in HEAP tables. 2007-07-25 01:58:12 +03:00
help_end.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
help_start.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
keycache.h Bug#17332 - changing key_buffer_size on a running server 2009-09-07 18:35:37 +02:00
m_ctype.h Backport WL#3653 to 5.1 to enable bundled innodb plugin. 2009-06-10 10:59:49 +02:00
m_string.h Bug#53593: Add some instrumentation to improve Valgrind sensitivity 2010-05-20 13:40:42 +03:00
Makefile.am reverting a bogus fix into 5.1-bugteam 2009-03-20 13:18:29 +02:00
my_aes.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_alarm.h Many files: 2006-12-23 20:17:15 +01:00
my_alloc.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_atomic.h Fixes to merge between 5.1-main and 5.1-marvel 2007-10-15 18:22:19 +03:00
my_attribute.h Bug#25118 ATTRIBUTE_FORMAT_FPTR undeclared in m_ctype.h 2007-04-12 00:43:25 +02:00
my_base.h merge 5.0-bugteam to 5.1-bugteam 2009-07-24 12:15:06 +05:30
my_bit.h Fixes to merge between 5.1-main and 5.1-marvel 2007-10-15 18:22:19 +03:00
my_bitmap.h Bug#31552 Replication breaks when deleting rows from out-of-sync table 2007-12-12 12:14:59 +02:00
my_dbug.h Bug #43414 Parenthesis (and other) warnings compiling MySQL 2009-09-23 15:21:29 +02:00
my_dir.h Many files: 2006-12-23 20:17:15 +01:00
my_getopt.h Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
my_global.h bug#49968: Properly define HAVE_ERRNO_AS_DEFINE for the appropriate 2010-05-25 14:27:52 +01:00
my_handler.h Fixed problem with non-synchronous error lists 2008-03-28 18:45:03 +02:00
my_libwrap.h Many files: 2006-12-23 20:17:15 +01:00
my_list.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_md5.h Bug #42434: license of mysys MD5 implementation is not GPL-compatible 2009-03-09 20:57:03 +02:00
my_net.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_no_pthread.h Bug #45058 init_available_charsets uses double checked locking 2009-12-12 19:11:25 +01:00
my_nosys.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_pthread.h Bug #45058 init_available_charsets uses double checked locking 2009-12-12 19:11:25 +01:00
my_stacktrace.h Merging from 5.0-bugteam 2010-01-27 11:42:20 +01:00
my_sys.h Merge of mysql-5.0-bugteam into mysql-5.1-bugteam. 2010-06-08 18:14:18 -03:00
my_time.h Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug26294/my50-bug26294 2008-04-03 13:14:57 -04:00
my_tree.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_trie.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_uctype.h Many files: 2006-12-31 02:29:11 +01:00
my_user.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_vle.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_xml.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myisam.h merge mysql-5.0-bugteam to mysql-5.1-bugteam 2009-12-17 17:15:13 +05:30
myisammrg.h Bug#45800 crash when replacing into a merge table and there is a duplicate 2009-07-30 16:04:41 +05:30
myisampack.h Many files: 2006-12-23 20:17:15 +01:00
mysql.h Post-merge fix for bug 41728: revert fix that was pushed in mistake to 5.1 and up. 2009-11-24 19:25:23 -02:00
mysql.h.pp Post-merge fix for bug 41728: revert fix that was pushed in mistake to 5.1 and up. 2009-11-24 19:25:23 -02:00
mysql_com.h Manual merge. 2010-04-29 20:18:19 -03:00
mysql_embed.h Bug #32211 Test 'windows' and 'windows_shm' failed for embedded server 2007-11-18 00:32:06 +04:00
mysql_time.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql_version.h.in Bug #15327: configure: --with-tcp-port option being partially ignored 2007-09-13 16:19:46 +02:00
mysys_err.h WL#2936 2007-03-02 08:43:45 -08:00
queues.h Bug #31890 Partitions: ORDER BY DESC in InnoDB not working. 2007-11-14 22:20:31 +04:00
rijndael.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sha1.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_common.h Merge mysql.com:/home/hf/work/25097/my50-25097 2008-02-27 13:00:59 +04:00
sslopt-case.h Many files: 2006-12-23 20:17:15 +01:00
sslopt-longopts.h Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
sslopt-vars.h Many files: 2006-12-23 20:17:15 +01:00
t_ctype.h Many files: 2006-12-23 20:17:15 +01:00
thr_alarm.h fixes for build failures due to my yesterday's changeset forbidding 2008-02-19 18:45:11 +01:00
thr_lock.h Bug#44164: TL_WRITE has no description in lock_descriptions[] 2009-04-14 14:05:32 +02:00
typelib.h Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines 2007-04-27 19:09:39 +02:00
violite.h Bug#47571 : idle named pipe connection is unkillable 2009-11-20 13:09:50 +01:00