1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-13 16:22:44 +03:00

Several compilation and run-time problems occur when building on SGI

IRIX systems using the native compilers.  A summary is:
- Various files use "//" as a comment delimiter in c files.
- Problems caused by assuming "char" is signed.
  cash.in: building -signed the rules regression test fails as described
    in FAQ_QNX4.  If CHAR_MAX is "255U" then ((signed char)CHAR_MAX) is -1.
  postmaster.c: random number regression test failed without this change.
- Some generic build issues and warning message cleanup.

David Kaelbling
This commit is contained in:
Bruce Momjian
2000-05-16 20:48:52 +00:00
parent 5128d145a8
commit a47e20b049
32 changed files with 725 additions and 670 deletions

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.46 2000/04/12 17:15:36 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.47 2000/05/16 20:48:48 momjian Exp $
*
* NOTES
*
@@ -236,6 +236,7 @@ IPCPrivateSemaphoreKill(int status,
int semId) /* caddr_t */
{
union semun semun;
semun.val = 0; /* unused */
semctl(semId, 0, IPC_RMID, semun);
}
@@ -373,6 +374,7 @@ IpcSemaphoreKill(IpcSemaphoreKey key)
{
int semId;
union semun semun;
semun.val = 0; /* unused */
/* kill semaphore if existent */
@@ -475,6 +477,7 @@ IpcSemaphoreGetCount(IpcSemaphoreId semId, int sem)
{
int semncnt;
union semun dummy; /* for Solaris */
dummy.val = 0; /* unused */
semncnt = semctl(semId, sem, GETNCNT, dummy);
return semncnt;
@@ -485,6 +488,7 @@ IpcSemaphoreGetValue(IpcSemaphoreId semId, int sem)
{
int semval;
union semun dummy; /* for Solaris */
dummy.val = 0; /* unused */
semval = semctl(semId, sem, GETVAL, dummy);
return semval;

View File

@@ -9,7 +9,7 @@
* workings can be found in the book "Software Solutions in C" by
* Dale Schumacher, Academic Press, ISBN: 0-12-632360-7.
*
* $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.35 2000/04/12 17:15:48 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.36 2000/05/16 20:48:49 momjian Exp $
*/
#include <limits.h>
@@ -74,7 +74,7 @@ cash_in(const char *str)
/* frac_digits in the C locale seems to return CHAR_MAX */
/* best guess is 2 in this case I think */
fpoint = ((lconvert->frac_digits != CHAR_MAX) ? lconvert->frac_digits : 2); /* int_frac_digits? */
fpoint = ((lconvert->frac_digits != (char)CHAR_MAX) ? lconvert->frac_digits : 2); /* int_frac_digits? */
dsymbol = ((*lconvert->mon_decimal_point != '\0') ? *lconvert->mon_decimal_point : '.');
ssymbol = ((*lconvert->mon_thousands_sep != '\0') ? *lconvert->mon_thousands_sep : ',');
@@ -225,7 +225,7 @@ cash_out(Cash *in_value)
comma = ((*lconvert->mon_thousands_sep != '\0') ? *lconvert->mon_thousands_sep : ',');
/* frac_digits in the C locale seems to return CHAR_MAX */
/* best guess is 2 in this case I think */
points = ((lconvert->frac_digits != CHAR_MAX) ? lconvert->frac_digits : 2); /* int_frac_digits? */
points = ((lconvert->frac_digits != (char)CHAR_MAX) ? lconvert->frac_digits : 2); /* int_frac_digits? */
convention = lconvert->n_sign_posn;
dsymbol = ((*lconvert->mon_decimal_point != '\0') ? *lconvert->mon_decimal_point : '.');
csymbol = ((*lconvert->currency_symbol != '\0') ? lconvert->currency_symbol : "$");
@@ -244,7 +244,7 @@ cash_out(Cash *in_value)
/* We're playing a little fast and loose with this. Shoot me. */
/* Not me, that was the other guy. Haven't fixed it yet - thomas */
if (!mon_group || mon_group == CHAR_MAX)
if (!mon_group || mon_group == (char)CHAR_MAX)
mon_group = 3;
/* allow more than three decimal points and separate them */

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/fmgr/fmgr.c,v 1.37 2000/01/26 05:57:22 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/fmgr/fmgr.c,v 1.38 2000/05/16 20:48:50 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -172,6 +172,7 @@ fmgr_c(FmgrInfo *finfo,
values->data[6], values->data[7],
values->data[8]);
break;
#if FUNC_MAX_ARGS >= 10
case 10:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -179,6 +180,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[6], values->data[7],
values->data[8], values->data[9]);
break;
#endif
#if FUNC_MAX_ARGS >= 11
case 11:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -187,6 +190,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[8], values->data[9],
values->data[10]);
break;
#endif
#if FUNC_MAX_ARGS >= 12
case 12:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -195,6 +200,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[8], values->data[9],
values->data[10], values->data[11]);
break;
#endif
#if FUNC_MAX_ARGS >= 13
case 13:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -204,6 +211,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[10], values->data[11],
values->data[12]);
break;
#endif
#if FUNC_MAX_ARGS >= 14
case 14:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -213,6 +222,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[10], values->data[11],
values->data[12], values->data[13]);
break;
#endif
#if FUNC_MAX_ARGS >= 15
case 15:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -223,6 +234,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[12], values->data[13],
values->data[14]);
break;
#endif
#if FUNC_MAX_ARGS >= 16
case 16:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -233,6 +246,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[12], values->data[13],
values->data[14], values->data[15]);
break;
#endif
#if FUNC_MAX_ARGS >= 17
case 17:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -244,6 +259,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[14], values->data[15],
values->data[16]);
break;
#endif
#if FUNC_MAX_ARGS >= 18
case 18:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -255,6 +272,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[14], values->data[15],
values->data[16], values->data[17]);
break;
#endif
#if FUNC_MAX_ARGS >= 19
case 19:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -267,6 +286,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[16], values->data[17],
values->data[18]);
break;
#endif
#if FUNC_MAX_ARGS >= 20
case 20:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -279,6 +300,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[16], values->data[17],
values->data[18], values->data[19]);
break;
#endif
#if FUNC_MAX_ARGS >= 21
case 21:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -292,6 +315,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[18], values->data[19],
values->data[20]);
break;
#endif
#if FUNC_MAX_ARGS >= 22
case 22:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -305,6 +330,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[18], values->data[19],
values->data[20], values->data[21]);
break;
#endif
#if FUNC_MAX_ARGS >= 23
case 23:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -319,6 +346,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[20], values->data[21],
values->data[22]);
break;
#endif
#if FUNC_MAX_ARGS >= 24
case 24:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -333,6 +362,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[20], values->data[21],
values->data[22], values->data[23]);
break;
#endif
#if FUNC_MAX_ARGS >= 25
case 25:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -348,6 +379,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[22], values->data[23],
values->data[24]);
break;
#endif
#if FUNC_MAX_ARGS >= 26
case 26:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -363,6 +396,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[22], values->data[23],
values->data[24], values->data[25]);
break;
#endif
#if FUNC_MAX_ARGS >= 27
case 27:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -379,6 +414,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[24], values->data[25],
values->data[26]);
break;
#endif
#if FUNC_MAX_ARGS >= 28
case 28:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -395,6 +432,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[24], values->data[25],
values->data[26], values->data[27]);
break;
#endif
#if FUNC_MAX_ARGS >= 29
case 29:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -412,6 +451,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[26], values->data[27],
values->data[28]);
break;
#endif
#if FUNC_MAX_ARGS >= 30
case 30:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -429,6 +470,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[26], values->data[27],
values->data[28], values->data[29]);
break;
#endif
#if FUNC_MAX_ARGS >= 31
case 31:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -447,6 +490,8 @@ fmgr_c(FmgrInfo *finfo,
values->data[28], values->data[29],
values->data[30]);
break;
#endif
#if FUNC_MAX_ARGS >= 32
case 32:
returnValue = (*user_fn) (values->data[0], values->data[1],
values->data[2], values->data[3],
@@ -465,6 +510,7 @@ fmgr_c(FmgrInfo *finfo,
values->data[28], values->data[29],
values->data[30], values->data[31]);
break;
#endif
default:
elog(ERROR, "fmgr_c: function %u: too many arguments (%d > %d)",
finfo->fn_oid, n_arguments, FUNC_MAX_ARGS);