Commit 6c9b11b3 authored by Bruce Momjian's avatar Bruce Momjian

Fix for AIX compile and unsigned/signed typedefs.

Peter E, Tatsuo, Andreas
parent a6348ae3
...@@ -1169,6 +1169,12 @@ else ...@@ -1169,6 +1169,12 @@ else
fi fi
AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type]) 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)
PGAC_FUNC_POSIX_SIGNALS PGAC_FUNC_POSIX_SIGNALS
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: c.h,v 1.109 2001/11/12 01:52:46 momjian Exp $ * $Id: c.h,v 1.110 2001/11/15 16:09:34 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -205,11 +205,11 @@ typedef char *Pointer; ...@@ -205,11 +205,11 @@ typedef char *Pointer;
* used for numerical computations and the * used for numerical computations and the
* frontend/backend protocol. * frontend/backend protocol.
*/ */
#ifndef __BEOS__ /* this shouldn't be required, but is is! */ #if SIZEOF_INT8 == 0
typedef signed char int8; /* == 8 bits */ typedef signed char int8; /* == 8 bits */
typedef signed short int16; /* == 16 bits */ typedef signed short int16; /* == 16 bits */
typedef signed int int32; /* == 32 bits */ typedef signed int int32; /* == 32 bits */
#endif /* __BEOS__ */ #endif /* SIZEOF_INT8 == 0 */
/* /*
* uintN * uintN
...@@ -218,11 +218,11 @@ typedef signed int int32; /* == 32 bits */ ...@@ -218,11 +218,11 @@ typedef signed int int32; /* == 32 bits */
* frontend/backend protocol. * frontend/backend protocol.
*/ */
/* Also defined in interfaces/odbc/md5.h */ /* Also defined in interfaces/odbc/md5.h */
#ifndef __BEOS__ /* this shouldn't be required, but is is! */ #if SIZEOF_UINT8 == 0
typedef unsigned char uint8; /* == 8 bits */ typedef unsigned char uint8; /* == 8 bits */
typedef unsigned short uint16; /* == 16 bits */ typedef unsigned short uint16; /* == 16 bits */
typedef unsigned int uint32; /* == 32 bits */ typedef unsigned int uint32; /* == 32 bits */
#endif /* __BEOS__ */ #endif /* SIZEOF_UINT8 == 0 */
/* /*
* boolN * boolN
...@@ -268,27 +268,37 @@ typedef double *float64; ...@@ -268,27 +268,37 @@ typedef double *float64;
/* /*
* 64-bit integers * 64-bit integers
*/ */
#ifndef __BEOS__ /* this is already defined on BeOS */
#ifdef HAVE_LONG_INT_64 #ifdef HAVE_LONG_INT_64
/* Plain "long int" fits, use it */ /* Plain "long int" fits, use it */
#if SIZEOF_INT8 == 0
typedef long int int64; typedef long int int64;
#endif
#if SIZEOF_UINT8 == 0
typedef unsigned long int uint64; typedef unsigned long int uint64;
#endif
#else #else
#ifdef HAVE_LONG_LONG_INT_64 #ifdef HAVE_LONG_LONG_INT_64
/* We have working support for "long long int", use that */ /* We have working support for "long long int", use that */
#if SIZEOF_INT8 == 0
typedef long long int int64; typedef long long int int64;
#endif
#if SIZEOF_UINT8 == 0
typedef unsigned long long int uint64; typedef unsigned long long int uint64;
#endif
#else #else
/* Won't actually work, but fall back to long int so that code compiles */ /* Won't actually work, but fall back to long int so that code compiles */
#if SIZEOF_INT8 == 0
typedef long int int64; typedef long int int64;
#endif
#if SIZEOF_UINT8 == 0
typedef unsigned long int uint64; typedef unsigned long int uint64;
#endif
#define INT64_IS_BUSTED #define INT64_IS_BUSTED
#endif #endif
#endif #endif
#endif /* __BEOS__ */
/* /*
* Size * Size
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your * or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
* changes will be overwritten the next time you run configure. * changes will be overwritten the next time you run configure.
* *
* $Id: pg_config.h.in,v 1.11 2001/10/20 17:57:39 tgl Exp $ * $Id: pg_config.h.in,v 1.12 2001/11/15 16:09:34 momjian Exp $
*/ */
#ifndef PG_CONFIG_H #ifndef PG_CONFIG_H
...@@ -697,6 +697,9 @@ extern int fdatasync(int fildes); ...@@ -697,6 +697,9 @@ extern int fdatasync(int fildes);
/* Define if you have on_exit() */ /* Define if you have on_exit() */
#undef HAVE_ON_EXIT #undef HAVE_ON_EXIT
#undef SIZEOF_INT8
#undef SIZEOF_UINT8
/* /*
*------------------------------------------------------------------------ *------------------------------------------------------------------------
* Part 4: pull in system-specific declarations. * Part 4: pull in system-specific declarations.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment