diff options
author | unknown <msvensson@pilot.blaudden> | 2007-04-24 13:59:44 +0200 |
---|---|---|
committer | unknown <msvensson@pilot.blaudden> | 2007-04-24 13:59:44 +0200 |
commit | 6af9e0c480b90a29da2f41197caeb4c4e0360011 (patch) | |
tree | 42c8f80f7c7f62ad29db840fd214f00005504af4 /include | |
parent | a38c055eab5b41699fa8e9c741cf95c326dff9fc (diff) | |
parent | 7b99128a74be3b6a3514112f861d69dabe3592f2 (diff) | |
download | mariadb-git-6af9e0c480b90a29da2f41197caeb4c4e0360011.tar.gz |
Merge pilot.blaudden:/home/msvensson/mysql/bug25118/my50-bug25118
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
include/my_global.h:
Auto merged
include/my_sys.h:
Auto merged
Diffstat (limited to 'include')
-rw-r--r-- | include/Makefile.am | 2 | ||||
-rw-r--r-- | include/m_ctype.h | 2 | ||||
-rw-r--r-- | include/my_attribute.h | 63 | ||||
-rw-r--r-- | include/my_global.h | 38 | ||||
-rw-r--r-- | include/my_sys.h | 3 |
5 files changed, 67 insertions, 41 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index 9cd2f6215f1..e5fac39e5ff 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -25,7 +25,7 @@ pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \ errmsg.h my_global.h my_net.h \ my_getopt.h sslopt-longopts.h my_dir.h \ sslopt-vars.h sslopt-case.h sql_common.h keycache.h \ - m_ctype.h $(HEADERS_GEN) + m_ctype.h my_attribute.h $(HEADERS_GEN) noinst_HEADERS = config-win.h config-os2.h config-netware.h \ heap.h my_bitmap.h\ myisam.h myisampack.h myisammrg.h ft_global.h\ diff --git a/include/m_ctype.h b/include/m_ctype.h index 50a50b7ed12..f33fd015733 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -21,6 +21,8 @@ #ifndef _m_ctype_h #define _m_ctype_h +#include <my_attribute.h> + #ifdef __cplusplus extern "C" { #endif diff --git a/include/my_attribute.h b/include/my_attribute.h new file mode 100644 index 00000000000..8309d85f20a --- /dev/null +++ b/include/my_attribute.h @@ -0,0 +1,63 @@ +/* Copyright (C) 2000-2003 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +/* + Helper macros used for setting different __attributes__ + on functions in a portable fashion +*/ + +#ifndef _my_attribute_h +#define _my_attribute_h + +/* + Disable __attribute__() on gcc < 2.7, g++ < 3.4, and non-gcc compilers. + Some forms of __attribute__ are actually supported in earlier versions of + g++, but we just disable them all because we only use them to generate + compilation warnings. +*/ +#ifndef __attribute__ +# if !defined(__GNUC__) +# define __attribute__(A) +# elif GCC_VERSION < 2008 +# define __attribute__(A) +# elif defined(__cplusplus) && GCC_VERSION < 3004 +# define __attribute__(A) +# endif +#endif + +/* + __attribute__((format(...))) is only supported in gcc >= 2.8 and g++ >= 3.4 + But that's already covered by the __attribute__ tests above, so this is + just a convenience macro. +*/ +#ifndef ATTRIBUTE_FORMAT +# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n))) +#endif + +/* + + __attribute__((format(...))) on a function pointer is not supported + until gcc 3.1 +*/ +#ifndef ATTRIBUTE_FORMAT_FPTR +# if (GCC_VERSION >= 3001) +# define ATTRIBUTE_FORMAT_FPTR(style, m, n) ATTRIBUTE_FORMAT(style, m, n) +# else +# define ATTRIBUTE_FORMAT_FPTR(style, m, n) +# endif /* GNUC >= 3.1 */ +#endif + + +#endif diff --git a/include/my_global.h b/include/my_global.h index d4f9223ccac..f446c283d50 100644 --- a/include/my_global.h +++ b/include/my_global.h @@ -505,43 +505,7 @@ typedef unsigned short ushort; #define my_const_cast(A) (A) #endif -/* - Disable __attribute__() on gcc < 2.7, g++ < 3.4, and non-gcc compilers. - Some forms of __attribute__ are actually supported in earlier versions of - g++, but we just disable them all because we only use them to generate - compilation warnings. -*/ -#ifndef __attribute__ -# if !defined(__GNUC__) -# define __attribute__(A) -# elif GCC_VERSION < 2008 -# define __attribute__(A) -# elif defined(__cplusplus) && GCC_VERSION < 3004 -# define __attribute__(A) -# endif -#endif - -/* - __attribute__((format(...))) is only supported in gcc >= 2.8 and g++ >= 3.4 - But that's already covered by the __attribute__ tests above, so this is - just a convenience macro. -*/ -#ifndef ATTRIBUTE_FORMAT -# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n))) -#endif - -/* - - __attribute__((format(...))) on a function pointer is not supported - until gcc 3.1 -*/ -#ifndef ATTRIBUTE_FORMAT_FPTR -# if (GCC_VERSION >= 3001) -# define ATTRIBUTE_FORMAT_FPTR(style, m, n) ATTRIBUTE_FORMAT(style, m, n) -# else -# define ATTRIBUTE_FORMAT_FPTR(style, m, n) -# endif /* GNUC >= 3.1 */ -#endif +#include <my_attribute.h> /* Wen using the embedded library, users might run into link problems, diff --git a/include/my_sys.h b/include/my_sys.h index 63a1faf3995..615a074e814 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -31,10 +31,7 @@ extern int NEAR my_errno; /* Last error in mysys */ #include <my_pthread.h> #endif -#ifndef _m_ctype_h #include <m_ctype.h> /* for CHARSET_INFO */ -#endif - #include <stdarg.h> #include <typelib.h> |