Commit d7944b62 authored by Davi Arnaut's avatar Davi Arnaut

Bug#42733: Type-punning warnings when compiling MySQL --

           strict aliasing violations.

Post-merge fix: include my_compiler.h before my_attribute.h
as the latter will undef __attribute__ if the compiler is not
GCC. Based on the compiler version, in my_compiler.h we know
for sure whether the aligned attribute is supported. Furthermore,
undefining attribute might cause bugs if some system header
uses it.

include/my_compiler.h:
  Drop aligned attribute support from Sun Studio C++ compiler
  as its not clear exactly which version of it supports the
  attribute.
parent f317d3a6
......@@ -42,7 +42,7 @@
/* Oracle Solaris Studio */
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# if (__SUNPRO_C >= 0x590) || (__SUNPRO_CC >= 0x590)
# if __SUNPRO_C >= 0x590
# define MY_ALIGN_EXT
# endif
......@@ -124,4 +124,6 @@ struct my_aligned_storage
#endif /* __cplusplus */
#include <my_attribute.h>
#endif /* MY_COMPILER_INCLUDED */
......@@ -623,7 +623,7 @@ typedef unsigned short ushort;
#define my_const_cast(A) (A)
#endif
#include <my_attribute.h>
#include <my_compiler.h>
/*
Wen using the embedded library, users might run into link problems,
......
......@@ -16,8 +16,6 @@
#ifndef _spatial_h
#define _spatial_h
#include <my_compiler.h>
#ifdef HAVE_SPATIAL
const uint SRID_SIZE= 4;
......
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