Thread: Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going well)

Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going well)

From
Bruce Momjian
Date:
> > > The check for int64 and uint64 has to be separated, my AIX
> > > has: int8, int16, int32, int64
> > > but not: uint8, uint16, uint32, uint64
> >
> > This would be an incremental patch to Peter's, but as I said I have not
> > been able to check configure itself. (The rest works, needless to say)
> > I am actually very suspicious whether the configure trick
> > AC_CHECK_SIZEOF(int8, 0) will work, because they only get defined
> > with _ALL_SOURCE defined and inttypes.h included.
> >
> > Previous patch included just in case.
> > Tatsuo would you be so kind as to check this, that would be great ?
>
> Peter's patches could not be applied to the current and I cannot test
> your patches too.
>
> [t-ishii@srapc1474 pgsql]$ patch -b -p2 < ~/int8-patch
> missing header for context diff at line 3 of patch
> patching file configure.in
> patching file src/include/pg_config.h.in
> patching file src/include/c.h
> Hunk #1 FAILED at 204.
> Hunk #2 FAILED at 216.
> Hunk #3 FAILED at 266.
> 3 out of 3 hunks FAILED -- saving rejects to file src/include/c.h.rej

My guess is that pgindent has modified c.h.  Tatsuo, if you send me the
patch, I will manually apply it to current CVS and send you a new
version of the patch for testing.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going well)

From
Bruce Momjian
Date:
> > 3 out of 3 hunks FAILED -- saving rejects to file src/include/c.h.rej
>
> My guess is that pgindent has modified c.h.  Tatsuo, if you send me the
> patch, I will manually apply it to current CVS and send you a new
> version of the patch for testing.

OK, Tatsuo, here is an updated version for testing.  It initdb and
regression tests fine on my BSD/OS machine.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.151
diff -c -r1.151 configure.in
*** configure.in    2001/11/06 20:12:07    1.151
--- configure.in    2001/11/15 02:48:55
***************
*** 1169,1174 ****
--- 1169,1183 ----
  fi
  AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type])

+
+ # Some platforms predefine the types int8, int16, etc.  Only check
+ # a (hopefully) representative subset.  Don't use AC_CHECK_TYPE, which
+ # doesn't work the way we want to.
+ AC_CHECK_SIZEOF(int8, 0)
+ AC_CHECK_SIZEOF(uint8, 0)
+ AC_CHECK_SIZEOF(int64, 0)
+
+
  PGAC_FUNC_POSIX_SIGNALS


Index: src/include/c.h
===================================================================
RCS file: /cvsroot/pgsql/src/include/c.h,v
retrieving revision 1.109
diff -c -r1.109 c.h
*** src/include/c.h    2001/11/12 01:52:46    1.109
--- src/include/c.h    2001/11/15 02:48:59
***************
*** 205,215 ****
   *        used for numerical computations and the
   *        frontend/backend protocol.
   */
! #ifndef __BEOS__                /* this shouldn't be required, but is is! */
  typedef signed char int8;        /* == 8 bits */
  typedef signed short int16;        /* == 16 bits */
  typedef signed int int32;        /* == 32 bits */
! #endif   /* __BEOS__ */

  /*
   * uintN
--- 205,215 ----
   *        used for numerical computations and the
   *        frontend/backend protocol.
   */
! #if SIZEOF_INT8 == 0
  typedef signed char int8;        /* == 8 bits */
  typedef signed short int16;        /* == 16 bits */
  typedef signed int int32;        /* == 32 bits */
! #endif

  /*
   * uintN
***************
*** 218,228 ****
   *        frontend/backend protocol.
   */
  /* Also defined in interfaces/odbc/md5.h */
! #ifndef __BEOS__                /* this shouldn't be required, but is is! */
  typedef unsigned char uint8;    /* == 8 bits */
  typedef unsigned short uint16;    /* == 16 bits */
  typedef unsigned int uint32;    /* == 32 bits */
! #endif   /* __BEOS__ */

  /*
   * boolN
--- 218,228 ----
   *        frontend/backend protocol.
   */
  /* Also defined in interfaces/odbc/md5.h */
! #if SIZEOF_UINT8 == 0
  typedef unsigned char uint8;    /* == 8 bits */
  typedef unsigned short uint16;    /* == 16 bits */
  typedef unsigned int uint32;    /* == 32 bits */
! #endif

  /*
   * boolN
***************
*** 268,294 ****
  /*
   * 64-bit integers
   */
! #ifndef __BEOS__                /* this is already defined on BeOS */
! #ifdef HAVE_LONG_INT_64
  /* Plain "long int" fits, use it */
  typedef long int int64;
  typedef unsigned long int uint64;

! #else
! #ifdef HAVE_LONG_LONG_INT_64
  /* We have working support for "long long int", use that */
  typedef long long int int64;
  typedef unsigned long long int uint64;

! #else
  /* Won't actually work, but fall back to long int so that code compiles */
  typedef long int int64;
  typedef unsigned long int uint64;

! #define INT64_IS_BUSTED
! #endif
! #endif
! #endif   /* __BEOS__ */

  /*
   * Size
--- 268,292 ----
  /*
   * 64-bit integers
   */
! #if SIZEOF_INT64 == 0
! # if defined(HAVE_LONG_INT_64)
  /* Plain "long int" fits, use it */
  typedef long int int64;
  typedef unsigned long int uint64;

! # elif defined(HAVE_LONG_LONG_INT_64)
  /* We have working support for "long long int", use that */
  typedef long long int int64;
  typedef unsigned long long int uint64;

! # else
  /* Won't actually work, but fall back to long int so that code compiles */
  typedef long int int64;
  typedef unsigned long int uint64;

! #  define INT64_IS_BUSTED
! # endif
! #endif /* SIZEOF_INT64 == 0 */

  /*
   * Size
Index: src/include/pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql/src/include/pg_config.h.in,v
retrieving revision 1.11
diff -c -r1.11 pg_config.h.in
*** src/include/pg_config.h.in    2001/10/20 17:57:39    1.11
--- src/include/pg_config.h.in    2001/11/15 02:49:00
***************
*** 697,702 ****
--- 697,707 ----
  /* Define if you have on_exit() */
  #undef HAVE_ON_EXIT

+ #undef SIZEOF_INT8
+ #undef SIZEOF_UINT8
+ #undef SIZEOF_INT64
+
+
  /*
   *------------------------------------------------------------------------
   * Part 4: pull in system-specific declarations.

Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going

From
Tatsuo Ishii
Date:
> > > 3 out of 3 hunks FAILED -- saving rejects to file src/include/c.h.rej
> >
> > My guess is that pgindent has modified c.h.  Tatsuo, if you send me the
> > patch, I will manually apply it to current CVS and send you a new
> > version of the patch for testing.
>
> OK, Tatsuo, here is an updated version for testing.  It initdb and
> regression tests fine on my BSD/OS machine.

Thanks. It compiles and passes regression tests (with small precision
errors) on both AIX 5L and x86/Linux.
--
Tatsuo Ishii

Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going well)

From
Bruce Momjian
Date:
OK, what do we do now?  Do we apply it?

---------------------------------------------------------------------------

> > > > 3 out of 3 hunks FAILED -- saving rejects to file src/include/c.h.rej
> > >
> > > My guess is that pgindent has modified c.h.  Tatsuo, if you send me the
> > > patch, I will manually apply it to current CVS and send you a new
> > > version of the patch for testing.
> >
> > OK, Tatsuo, here is an updated version for testing.  It initdb and
> > regression tests fine on my BSD/OS machine.
>
> Thanks. It compiles and passes regression tests (with small precision
> errors) on both AIX 5L and x86/Linux.
> --
> Tatsuo Ishii
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going

From
Tatsuo Ishii
Date:
> OK, what do we do now?  Do we apply it?

I would like to hear from other users using other versions of AIX.
--
Tatsuo Ishii

> ---------------------------------------------------------------------------
>
> > > > > 3 out of 3 hunks FAILED -- saving rejects to file src/include/c.h.rej
> > > >
> > > > My guess is that pgindent has modified c.h.  Tatsuo, if you send me the
> > > > patch, I will manually apply it to current CVS and send you a new
> > > > version of the patch for testing.
> > >
> > > OK, Tatsuo, here is an updated version for testing.  It initdb and
> > > regression tests fine on my BSD/OS machine.
> >
> > Thanks. It compiles and passes regression tests (with small precision
> > errors) on both AIX 5L and x86/Linux.
> > --
> > Tatsuo Ishii
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
>

Re: [HACKERS] Open Items (was: RE: [HACKERS] Beta going well)

From
Bruce Momjian
Date:
> > OK, what do we do now?  Do we apply it?
>
> I would like to hear from other users using other versions of AIX.

OK, Andreas confirmed it.  I have applied his version.  This way others
can test it.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026