Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Michael Elizabeth Chastain <mec@shout.net>
To: gdb-patches@sources.redhat.com
Subject: [rfc] configury: CC_HAS_UINTPTR_T
Date: Tue, 25 Feb 2003 23:21:00 -0000	[thread overview]
Message-ID: <200302252321.h1PNLfa13347@duracef.shout.net> (raw)

This is my first 'configure' patch, so I don't expect it to pass on
the first draft.  If there's anything I need to know about this
kind of stuff, tell me please.

This patch just adds CC_HAS_UINTPTR_T.  After this patch, I'll write
patches to procfs.c and gdb_thread_db.h to use the new variable, so that
they can put out a more informative compile error than the dreck that
they cough up right now.  I've seen several reports from the field where
this actually happens (pr gdb/660 is one case).

If you like CC_HAS_UINTPTR_T, but you don't like the idea of:

  #if !CC_HAS_UINTPTR_T
  #error 'Your glibc is so 20th century.  Bye bye!'
  #endif

... then I hope this patch is okay with you.  The next patch is the
place to debate what actually happens when CC_HAS_UINTPTR_T is not
defined.

I don't show the diffs to 'configure' because there's 3000 lines of
them.  I regenerated my 'configure' with a stock autoconf 2.13
from ftp.gnu.org.

Testing: I tested this by running it on native i686-pc-linux-gnu.
I played with /usr/include/stdint.h so that I could observe both
code paths.

Comments?

Michael C

2003-02-25  Michael Chastain  <mec@shout.net>

	* configure.in: New variable CC_HAS_UINTPTR_T.
	* config.in: Likewise.
	* configure: Regenerated.

Index: config.in
===================================================================
RCS file: /cvs/src/src/gdb/config.in,v
retrieving revision 1.53
diff -u -r1.53 config.in
--- config.in	14 Feb 2003 20:07:00 -0000	1.53
+++ config.in	25 Feb 2003 22:08:37 -0000
@@ -111,6 +111,9 @@
 /* Define if ioctl argument PIOCSET is available. */
 #undef HAVE_PROCFS_PIOCSET
 
+/* Define if the C library supports "uintptr_t" type. */
+#undef CC_HAS_UINTPTR_T
+
 /* Define if the `long long' type works.  */
 #undef CC_HAS_LONG_LONG
 
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/configure.in,v
retrieving revision 1.125
diff -u -r1.125 configure.in
--- configure.in	20 Feb 2003 23:38:58 -0000	1.125
+++ configure.in	25 Feb 2003 22:08:46 -0000
@@ -689,6 +689,23 @@
   fi
 fi
 
+dnl See if C library supports "uintptr_t" type.
+dnl AC_CHECK_TYPE is not enough because this type lives in a header file.
+
+AC_MSG_CHECKING(for uintptr_t in C library)
+AC_CACHE_VAL(gdb_cv_c_uintptr_t,
+[AC_TRY_RUN([
+#include <stdint.h>
+int main () {
+  uintptr_t foo = 0;
+  return foo;
+}],
+gdb_cv_c_uintptr_t=yes, gdb_cv_c_uintptr_t=no, gdb_cv_c_uintptr_t=no)])
+AC_MSG_RESULT($gdb_cv_c_uintptr_t)
+if test $gdb_cv_c_uintptr_t = yes; then
+  AC_DEFINE(CC_HAS_UINTPTR_T)
+fi
+
 dnl See if compiler supports "long long" type.
 
 AC_MSG_CHECKING(for long long support in compiler)


             reply	other threads:[~2003-02-25 23:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-25 23:21 Michael Elizabeth Chastain [this message]
2003-02-26  0:08 ` Daniel Jacobowitz
2003-02-26  0:17 Michael Elizabeth Chastain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200302252321.h1PNLfa13347@duracef.shout.net \
    --to=mec@shout.net \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox