[RFC] Use HAVE_LONGLONG instead of __GNUC__ to check for long long support.
Manoj Iyer
manjo@austin.ibm.com
Mon Apr 18 22:41:00 GMT 2005
Here is a patch to use HAVE_LONGLONG instead of using __GNUC__ for
checking for long long support in compiler. When using a non-gnu compiler
(xlc), natural64, signed64 and unsigned64 are undefined. Please review
patch and approve for commit.
2005-04-18 Manoj Iyer <manjo@austin.ibm.com>
* configure.ac: Added check for long long.
* config.in: Added define for HAVE_LONGLONG.
* configure: Regenerated.
* words.h: Modified logic to check for HAVE_LONGLONG instead of
__GNUC__, added config.h header file.
diff -Naurp src/sim/ppc/config.in new/src/sim/ppc/config.in
--- src/sim/ppc/config.in 2004-09-24 13:39:41.000000000 -0500
+++ new/src/sim/ppc/config.in 2005-04-18 18:03:37.000000000 -0500
@@ -298,6 +298,9 @@
/* Define if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
+/* Define if compiler supports long long type. */
+#undef HAVE_LONGLONG
+
/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
diff -Naurp src/sim/ppc/configure.ac new/src/sim/ppc/configure.ac
--- src/sim/ppc/configure.ac 2005-01-12 10:23:21.000000000 -0600
+++ new/src/sim/ppc/configure.ac 2005-04-18 18:01:58.000000000 -0500
@@ -681,6 +681,10 @@ if test $ac_cv_struct_statfs = yes; then
[Define if struct statfs is defined in <sys/mount.h>])
fi
+dnl check for long long
+AC_CHECK_TYPE(long long,
+ AC_DEFINE(HAVE_LONGLONG, 1, [does compiler supports long long]),)
+
dnl Figure out if /dev/zero exists or not
sim_devzero=""
AC_MSG_CHECKING(for /dev/zero)
diff -Naurp src/sim/ppc/words.h new/src/sim/ppc/words.h
--- src/sim/ppc/words.h 1999-04-15 20:35:12.000000000 -0500
+++ new/src/sim/ppc/words.h 2005-04-18 18:04:40.000000000 -0500
@@ -43,6 +43,10 @@
*/
+/* include configure generated definitions */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
/* bit based */
typedef char natural8;
@@ -57,7 +61,7 @@ typedef unsigned char unsigned8;
typedef unsigned short unsigned16;
typedef unsigned long unsigned32;
-#ifdef __GNUC__
+#ifdef HAVE_LONGLONG
typedef long long natural64;
typedef signed long long signed64;
typedef unsigned long long unsigned64;
Thanks
-----
manjo
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Cogito ergo sum +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
More information about the Gdb-patches
mailing list