Re: uintptr_t for Datum - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: uintptr_t for Datum
Date
Msg-id 200912311743.nBVHhiI11001@momjian.us
Whole thread Raw
In response to Re: uintptr_t for Datum  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: uintptr_t for Datum  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Magnus Hagander <magnus@hagander.net> writes:
> > Attached patch is the part of the win64 patch that changes Datum to be
> > uintptr_t, and associated changes, with only very minor changes from
> > me. It also includes autoconf tests that I tricked Bruce into fixing
> > for me :-)
>
> > Comments?
>
> This is a joke no?  Where's the logic to provide a definition of
> intptr_t if the platform fails to?  The lack of attention to updating
> the comments about Datum doesn't give me a warm feeling either.
>
> BTW, it looks like the patch is showing a manual change to
> pg_config.h.in.  Don't do that.  Run autoheader.

I wasn't aware autoheader existed.  Is that new or has it alwasy been
part of autoconf?

Attached is the diff for pg_config.h.in generated by autoheader.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql/src/include/pg_config.h.in,v
retrieving revision 1.143
diff -c -r1.143 pg_config.h.in
*** pg_config.h.in    1 Oct 2009 01:58:58 -0000    1.143
--- pg_config.h.in    31 Dec 2009 17:35:33 -0000
***************
*** 236,241 ****
--- 236,244 ----
  /* Define to 1 if the system has the type `int8'. */
  #undef HAVE_INT8

+ /* Define to 1 if the system has the type `intptr_t'. */
+ #undef HAVE_INTPTR_T
+
  /* Define to 1 if you have the <inttypes.h> header file. */
  #undef HAVE_INTTYPES_H

***************
*** 599,604 ****
--- 602,610 ----
  /* Define to 1 if the system has the type `uint8'. */
  #undef HAVE_UINT8

+ /* Define to 1 if the system has the type `uintptr_t'. */
+ #undef HAVE_UINTPTR_T
+
  /* Define to 1 if the system has the type `union semun'. */
  #undef HAVE_UNION_SEMUN

***************
*** 827,835 ****
--- 833,849 ----
  #undef inline
  #endif

+ /* Define to the type of a signed integer type wide enough to hold a pointer,
+    if such a type exists, and if the system does not define it. */
+ #undef intptr_t
+
  /* Define to empty if the C compiler does not understand signed types. */
  #undef signed

+ /* Define to the type of an unsigned integer type wide enough to hold a
+    pointer, if such a type exists, and if the system does not define it. */
+ #undef uintptr_t
+
  /* Define to empty if the keyword `volatile' does not work. Warning: valid
     code using `volatile' can become incorrect without. Disable with care. */
  #undef volatile

pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Hot Standy introduced problem with query cancel behavior
Next
From: "David E. Wheeler"
Date:
Subject: Re: Status of plperl inter-sp calling