summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-05-26 12:09:14 +0200
committerunknown <msvensson@neptunus.(none)>2005-05-26 12:09:14 +0200
commit22944a956350d6276f9a852f78dee2b8126e68c7 (patch)
tree4920b558234eccbf28718266bd9fae673ef3028f
parent827db5e40cf4c85e5b57cc4f82aecaab8f02bbcd (diff)
downloadmariadb-git-22944a956350d6276f9a852f78dee2b8126e68c7.tar.gz
Add ifdefs to control when "#pragma implementation" should be used
Added some more ifdefs for "#pragma interface" client/sql_string.cc: USE_PRAGMA_IMPLEMENTATION client/sql_string.h: USE_PRAGMA_INTERFACE include/my_global.h: Use pragma implementation for gcc pre version 3 mysys/raid.cc: USE_PRAGMA_IMPLEMENTATION sql/field.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_berkeley.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_blackhole.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_heap.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_innodb.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_isam.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_isammrg.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_myisam.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_myisammrg.cc: USE_PRAGMA_IMPLEMENTATION sql/ha_ndbcluster.cc: USE_PRAGMA_IMPLEMENTATION sql/handler.cc: USE_PRAGMA_IMPLEMENTATION sql/hash_filo.cc: USE_PRAGMA_IMPLEMENTATION sql/item.cc: USE_PRAGMA_IMPLEMENTATION sql/item_cmpfunc.cc: USE_PRAGMA_IMPLEMENTATION sql/item_func.cc: USE_PRAGMA_IMPLEMENTATION sql/item_geofunc.cc: USE_PRAGMA_IMPLEMENTATION sql/item_strfunc.cc: USE_PRAGMA_IMPLEMENTATION sql/item_subselect.cc: USE_PRAGMA_IMPLEMENTATION sql/item_sum.cc: USE_PRAGMA_IMPLEMENTATION sql/item_timefunc.cc: USE_PRAGMA_IMPLEMENTATION sql/item_uniq.cc: USE_PRAGMA_IMPLEMENTATION sql/item_uniq.h: USE_PRAGMA_INTERFACE sql/log_event.cc: USE_PRAGMA_IMPLEMENTATION sql/log_event.h: USE_PRAGMA_INTERFACE sql/opt_range.cc: USE_PRAGMA_IMPLEMENTATION sql/procedure.cc: USE_PRAGMA_IMPLEMENTATION sql/protocol.cc: USE_PRAGMA_IMPLEMENTATION sql/protocol_cursor.cc: USE_PRAGMA_IMPLEMENTATION sql/set_var.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_analyse.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_analyse.h: USE_PRAGMA_INTERFACE sql/sql_class.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_crypt.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_crypt.h: USE_PRAGMA_IMPLEMENTATION sql/sql_list.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_map.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_map.h: USE_PRAGMA_INTERFACE sql/sql_olap.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_select.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_string.cc: USE_PRAGMA_IMPLEMENTATION sql/sql_udf.cc: USE_PRAGMA_IMPLEMENTATION sql/tztime.cc: USE_PRAGMA_IMPLEMENTATION
-rw-r--r--client/sql_string.cc2
-rw-r--r--client/sql_string.h2
-rw-r--r--include/my_global.h5
-rw-r--r--mysys/raid.cc2
-rw-r--r--sql/field.cc2
-rw-r--r--sql/ha_berkeley.cc2
-rw-r--r--sql/ha_blackhole.cc2
-rw-r--r--sql/ha_heap.cc2
-rw-r--r--sql/ha_innodb.cc2
-rw-r--r--sql/ha_isam.cc2
-rw-r--r--sql/ha_isammrg.cc2
-rw-r--r--sql/ha_myisam.cc2
-rw-r--r--sql/ha_myisammrg.cc2
-rw-r--r--sql/ha_ndbcluster.cc2
-rw-r--r--sql/handler.cc2
-rw-r--r--sql/hash_filo.cc2
-rw-r--r--sql/item.cc2
-rw-r--r--sql/item_cmpfunc.cc2
-rw-r--r--sql/item_func.cc2
-rw-r--r--sql/item_geofunc.cc2
-rw-r--r--sql/item_strfunc.cc2
-rw-r--r--sql/item_subselect.cc2
-rw-r--r--sql/item_sum.cc2
-rw-r--r--sql/item_timefunc.cc2
-rw-r--r--sql/item_uniq.cc2
-rw-r--r--sql/item_uniq.h2
-rw-r--r--sql/log_event.cc2
-rw-r--r--sql/log_event.h2
-rw-r--r--sql/opt_range.cc2
-rw-r--r--sql/procedure.cc2
-rw-r--r--sql/protocol.cc2
-rw-r--r--sql/protocol_cursor.cc2
-rw-r--r--sql/set_var.cc2
-rw-r--r--sql/sql_analyse.cc2
-rw-r--r--sql/sql_analyse.h2
-rw-r--r--sql/sql_class.cc2
-rw-r--r--sql/sql_crypt.cc2
-rw-r--r--sql/sql_crypt.h2
-rw-r--r--sql/sql_list.cc2
-rw-r--r--sql/sql_map.cc2
-rw-r--r--sql/sql_map.h2
-rw-r--r--sql/sql_olap.cc2
-rw-r--r--sql/sql_select.cc2
-rw-r--r--sql/sql_string.cc2
-rw-r--r--sql/sql_udf.cc2
-rw-r--r--sql/tztime.cc2
46 files changed, 50 insertions, 45 deletions
diff --git a/client/sql_string.cc b/client/sql_string.cc
index 9dcf19dad1d..690997152f1 100644
--- a/client/sql_string.cc
+++ b/client/sql_string.cc
@@ -16,7 +16,7 @@
/* This file is originally from the mysql distribution. Coded by monty */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/client/sql_string.h b/client/sql_string.h
index aec40466d2b..fd6d3ef59d9 100644
--- a/client/sql_string.h
+++ b/client/sql_string.h
@@ -16,7 +16,7 @@
/* This file is originally from the mysql distribution. Coded by monty */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_INTERFACE
#pragma interface /* gcc class implementation */
#endif
diff --git a/include/my_global.h b/include/my_global.h
index f059d603976..0f6d9ac13c6 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -48,6 +48,11 @@
#define USE_PRAGMA_INTERFACE
#endif
+/* Determine when to use "#pragma implementation" */
+#if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ < 3)
+#define USE_PRAGMA_IMPLEMENTATION
+#endif
+
#if defined(i386) && !defined(__i386__)
#define __i386__
#endif
diff --git a/mysys/raid.cc b/mysys/raid.cc
index 0b688464fb3..62587c438ca 100644
--- a/mysys/raid.cc
+++ b/mysys/raid.cc
@@ -70,7 +70,7 @@
tonu@mysql.com & monty@mysql.com
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/field.cc b/sql/field.cc
index d73257a673f..adb0368384e 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -19,7 +19,7 @@
** This file implements classes defined in field.h
*****************************************************************************/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc
index 626201a38a6..05cad23b176 100644
--- a/sql/ha_berkeley.cc
+++ b/sql/ha_berkeley.cc
@@ -47,7 +47,7 @@
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_blackhole.cc b/sql/ha_blackhole.cc
index c9c94b3a9d7..59b3f7102b5 100644
--- a/sql/ha_blackhole.cc
+++ b/sql/ha_blackhole.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_heap.cc b/sql/ha_heap.cc
index 033fe86720e..d584c33f061 100644
--- a/sql/ha_heap.cc
+++ b/sql/ha_heap.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index 2d2a8f2c3b4..bb3c359ccdb 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -28,7 +28,7 @@ have disables the InnoDB inlining in this file. */
in Windows?
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_isam.cc b/sql/ha_isam.cc
index 9de532fa7b0..31e9236460f 100644
--- a/sql/ha_isam.cc
+++ b/sql/ha_isam.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_isammrg.cc b/sql/ha_isammrg.cc
index 367607eef19..c0e6f665f08 100644
--- a/sql/ha_isammrg.cc
+++ b/sql/ha_isammrg.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index 7ddb7ca25ed..d8608c6a599 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_myisammrg.cc b/sql/ha_myisammrg.cc
index 7a5d4fcf0a1..9ba853c49d0 100644
--- a/sql/ha_myisammrg.cc
+++ b/sql/ha_myisammrg.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
index 53706b4a9ba..eaa0473df1b 100644
--- a/sql/ha_ndbcluster.cc
+++ b/sql/ha_ndbcluster.cc
@@ -20,7 +20,7 @@
NDB Cluster
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/handler.cc b/sql/handler.cc
index f174f51514e..f14564b6629 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -17,7 +17,7 @@
/* Handler-calling-functions */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/hash_filo.cc b/sql/hash_filo.cc
index b85f8054f10..ec200768222 100644
--- a/sql/hash_filo.cc
+++ b/sql/hash_filo.cc
@@ -20,7 +20,7 @@
** to usage.
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item.cc b/sql/item.cc
index 59785813566..98aeeaa4c99 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index 8498ab4800e..337ac949d35 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -17,7 +17,7 @@
/* This file defines all compare functions */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 05b76eb1604..3c50e750b41 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -17,7 +17,7 @@
/* This file defines all numerical functions */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc
index 2f00416bddf..c58a9e434c7 100644
--- a/sql/item_geofunc.cc
+++ b/sql/item_geofunc.cc
@@ -17,7 +17,7 @@
/* This file defines all spatial functions */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index baba4d9b786..5ca5caf6bdf 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -20,7 +20,7 @@
** (This shouldn't be needed)
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index 301740c50ef..2e4c70ecd5f 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -22,7 +22,7 @@ SUBSELECT TODO:
(sql_select.h/sql_select.cc)
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index dd4cda4ff91..fb88fca9a2d 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -17,7 +17,7 @@
/* Sum functions (COUNT, MIN...) */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index 23cd9c7ced2..a3cf69035f3 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -17,7 +17,7 @@
/* This file defines all time functions */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/item_uniq.cc b/sql/item_uniq.cc
index 88e0cbbc0e6..0c757c0e3a3 100644
--- a/sql/item_uniq.cc
+++ b/sql/item_uniq.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* Compability file */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation
#endif
diff --git a/sql/item_uniq.h b/sql/item_uniq.h
index 5582537bdbb..b7e00f9f080 100644
--- a/sql/item_uniq.h
+++ b/sql/item_uniq.h
@@ -16,7 +16,7 @@
/* Compability file ; This file only contains dummy functions */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_INTERFACE
#pragma interface
#endif
diff --git a/sql/log_event.cc b/sql/log_event.cc
index 8a949b81fc1..f2287857d37 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -16,7 +16,7 @@
#ifndef MYSQL_CLIENT
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
#include "mysql_priv.h"
diff --git a/sql/log_event.h b/sql/log_event.h
index f848f2ae1b9..7ae4e863fc2 100644
--- a/sql/log_event.h
+++ b/sql/log_event.h
@@ -22,7 +22,7 @@
#undef write // remove pthread.h macro definition, conflict with write() class member
#endif
-#if defined(__GNUC__) && !defined(MYSQL_CLIENT)
+#if defined(USE_PRAGMA_INTERFACE) && !defined(MYSQL_CLIENT)
#pragma interface /* gcc class implementation */
#endif
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 33223b83894..bd1befb436f 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -23,7 +23,7 @@
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/procedure.cc b/sql/procedure.cc
index 7779f5ce085..a0042dd879e 100644
--- a/sql/procedure.cc
+++ b/sql/procedure.cc
@@ -17,7 +17,7 @@
/* Procedures (functions with changes output of select) */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/protocol.cc b/sql/protocol.cc
index 91061426f04..6a17ae2f95b 100644
--- a/sql/protocol.cc
+++ b/sql/protocol.cc
@@ -19,7 +19,7 @@
The actual communction is handled by the net_xxx functions in net_serv.cc
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/protocol_cursor.cc b/sql/protocol_cursor.cc
index 5f35552c562..b225e06ed32 100644
--- a/sql/protocol_cursor.cc
+++ b/sql/protocol_cursor.cc
@@ -19,7 +19,7 @@
The actual communction is handled by the net_xxx functions in net_serv.cc
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 9f63188c28a..3d3ba6d6ab7 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -48,7 +48,7 @@
new attribute.
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc
index 7ac9a0866df..fb5d0eb0a3f 100644
--- a/sql/sql_analyse.cc
+++ b/sql/sql_analyse.cc
@@ -23,7 +23,7 @@
** - type set is out of optimization yet
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_analyse.h b/sql/sql_analyse.h
index 3d1cffecaef..8523b05a1de 100644
--- a/sql/sql_analyse.h
+++ b/sql/sql_analyse.h
@@ -17,7 +17,7 @@
/* Analyse database */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_INTERFACE
#pragma interface /* gcc class implementation */
#endif
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index c20d5f79277..805db107370 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -22,7 +22,7 @@
**
*****************************************************************************/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_crypt.cc b/sql/sql_crypt.cc
index b0b8050e311..f21a109e95d 100644
--- a/sql/sql_crypt.cc
+++ b/sql/sql_crypt.cc
@@ -23,7 +23,7 @@
needs something like 'ssh'.
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_crypt.h b/sql/sql_crypt.h
index 1b27f0a4d27..25bc2d29e1d 100644
--- a/sql/sql_crypt.h
+++ b/sql/sql_crypt.h
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_INTERFACE
#pragma interface /* gcc class implementation */
#endif
diff --git a/sql/sql_list.cc b/sql/sql_list.cc
index c99cfb8c918..d57a7dfe4e3 100644
--- a/sql/sql_list.cc
+++ b/sql/sql_list.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_map.cc b/sql/sql_map.cc
index e7e24f957c6..aac44949d89 100644
--- a/sql/sql_map.cc
+++ b/sql/sql_map.cc
@@ -15,7 +15,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_map.h b/sql/sql_map.h
index 632eb6e4f64..bfa6011ac54 100644
--- a/sql/sql_map.h
+++ b/sql/sql_map.h
@@ -17,7 +17,7 @@
/* interface for memory mapped files */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_INTERFACE
#pragma interface /* gcc class implementation */
#endif
diff --git a/sql/sql_olap.cc b/sql/sql_olap.cc
index 46f1e6c156e..024abb6c74b 100644
--- a/sql/sql_olap.cc
+++ b/sql/sql_olap.cc
@@ -28,7 +28,7 @@
#ifdef DISABLED_UNTIL_REWRITTEN_IN_4_1
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index fb7f10abb52..7b27879ae28 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -17,7 +17,7 @@
/* mysql_select and join optimization */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index c1701e7e9bf..ab2db4aaf53 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -16,7 +16,7 @@
/* This file is originally from the mysql distribution. Coded by monty */
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc
index 126d2e5d894..f5b4775ee0b 100644
--- a/sql/sql_udf.cc
+++ b/sql/sql_udf.cc
@@ -28,7 +28,7 @@
** dynamic functions, so this shouldn't be a real problem.
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: implement sql_udf.h
#endif
diff --git a/sql/tztime.cc b/sql/tztime.cc
index c45271966f9..8fac054c49c 100644
--- a/sql/tztime.cc
+++ b/sql/tztime.cc
@@ -20,7 +20,7 @@
(We will refer to this code as to elsie-code further.)
*/
-#ifdef __GNUC__
+#ifdef USE_PRAGMA_IMPLEMENTATION
#pragma implementation // gcc: Class implementation
#endif