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