Below is the list of changes that have just been committed into a local
4.1 repository of jimw. When jimw does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2006-09-29 14:04:26-07:00, jimw@rama.(none) +1 -0
Disable __attribute__ entirely on g++ < 3.4. (Bug #2717)
include/my_global.h@stripped, 2006-09-29 14:04:25-07:00, jimw@rama.(none) +15 -10
Disable __attribute__ on g++ < 3.4. There are actually some forms of it that
are supported, but rather than create more ATTRIBUTE_<foo> macros to handle
them, it is easier to just disable them all. We will catch the compiler warnings
with more recent versions of g++.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jimw
# Host: rama.(none)
# Root: /home/jimw/my/mysql-4.1-clean
--- 1.106/include/my_global.h 2006-09-29 14:04:29 -07:00
+++ 1.107/include/my_global.h 2006-09-29 14:04:29 -07:00
@@ -423,23 +423,28 @@
#endif
/*
- Disable __attribute__() on GCC < 2.7 and non-GCC compilers
+ 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.
*/
-#if !defined(__attribute__) && (!defined(__GNUC__) || GCC_VERSION < 2007)
-#define __attribute__(A)
+#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
-# if defined(__GNUC__) && \
- ((!defined(__cplusplus__) && GCC_VERSION >= 2008) || \
- GCC_VERSION >= 3004)
-# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n)))
-# else
-# define ATTRIBUTE_FORMAT(style, m, n)
-# endif
+# define ATTRIBUTE_FORMAT(style, m, n) __attribute__((format(style, m, n)))
#endif
/* From old s-system.h */
| Thread |
|---|
| • bk commit into 4.1 tree (jimw:1.2555) BUG#2717 | Jim Winstead | 29 Sep |