Commit 29259531 authored by Michael Meskes's avatar Michael Meskes

Replace self written 'long long int' configure test by standard 'AC_TYPE_LONG_LONG_INT' macro call.

parent 9b6dba11
# Macros to detect C compiler features # Macros to detect C compiler features
# $PostgreSQL: pgsql/config/c-compiler.m4,v 1.21 2010/05/25 14:32:55 meskes Exp $ # $PostgreSQL: pgsql/config/c-compiler.m4,v 1.22 2010/05/25 17:28:20 meskes Exp $
# PGAC_C_SIGNED # PGAC_C_SIGNED
...@@ -156,18 +156,3 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([extern void $2 (); void (*fptr) () = $2;],[])], ...@@ -156,18 +156,3 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([extern void $2 (); void (*fptr) () = $2;],[])],
AC_MSG_RESULT(assuming no)]) AC_MSG_RESULT(assuming no)])
])# PGAC_PROG_CC_LDFLAGS_OPT ])# PGAC_PROG_CC_LDFLAGS_OPT
# PGAC_C_LONG_LONG
# ----------------
# Check if the C compiler understands long long type.
AC_DEFUN([PGAC_C_LONG_LONG],
[AC_CACHE_CHECK(for long long type, pgac_cv_c_long_long,
[AC_TRY_COMPILE([],
[long long l;],
[pgac_cv_c_long_long=yes],
[pgac_cv_c_long_long=no])])
if test x"$pgac_cv_c_long_long" = xyes ; then
AC_DEFINE(HAVE_LONG_LONG, 1, [Define to 1 if the C compiler does understand long long type.])
fi])# PGAC_C_LONG_LONG
...@@ -2008,6 +2008,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ...@@ -2008,6 +2008,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_aux_dir= ac_aux_dir=
for ac_dir in config "$srcdir"/config; do for ac_dir in config "$srcdir"/config; do
if test -f "$ac_dir/install-sh"; then if test -f "$ac_dir/install-sh"; then
...@@ -14693,63 +14694,6 @@ cat >>confdefs.h <<\_ACEOF ...@@ -14693,63 +14694,6 @@ cat >>confdefs.h <<\_ACEOF
#define signed /**/ #define signed /**/
_ACEOF _ACEOF
fi
{ $as_echo "$as_me:$LINENO: checking for long long type" >&5
$as_echo_n "checking for long long type... " >&6; }
if test "${pgac_cv_c_long_long+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
main ()
{
long long l;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
pgac_cv_c_long_long=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
pgac_cv_c_long_long=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $pgac_cv_c_long_long" >&5
$as_echo "$pgac_cv_c_long_long" >&6; }
if test x"$pgac_cv_c_long_long" = xyes ; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_LONG_LONG 1
_ACEOF
fi fi
{ $as_echo "$as_me:$LINENO: checking for working volatile" >&5 { $as_echo "$as_me:$LINENO: checking for working volatile" >&5
$as_echo_n "checking for working volatile... " >&6; } $as_echo_n "checking for working volatile... " >&6; }
...@@ -16505,6 +16449,159 @@ fi ...@@ -16505,6 +16449,159 @@ fi
{ $as_echo "$as_me:$LINENO: checking for long long int" >&5
$as_echo_n "checking for long long int... " >&6; }
if test "${ac_cv_type_long_long_int+set}" = set; then
$as_echo_n "(cached) " >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* For now, do not test the preprocessor; as of 2007 there are too many
implementations with broken preprocessors. Perhaps this can
be revisited in 2012. In the meantime, code should not expect
#if to work with literals wider than 32 bits. */
/* Test literals. */
long long int ll = 9223372036854775807ll;
long long int nll = -9223372036854775807LL;
unsigned long long int ull = 18446744073709551615ULL;
/* Test constant expressions. */
typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
? 1 : -1)];
typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
? 1 : -1)];
int i = 63;
int
main ()
{
/* Test availability of runtime routines for shift and division. */
long long int llmax = 9223372036854775807ll;
unsigned long long int ullmax = 18446744073709551615ull;
return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
| (llmax / ll) | (llmax % ll)
| (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
| (ullmax / ull) | (ullmax % ull));
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
$as_test_x conftest$ac_exeext
}; then
if test "$cross_compiling" = yes; then
ac_cv_type_long_long_int=yes
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <limits.h>
#ifndef LLONG_MAX
# define HALF \
(1LL << (sizeof (long long int) * CHAR_BIT - 2))
# define LLONG_MAX (HALF - 1 + HALF)
#endif
int
main ()
{
long long int n = 1;
int i;
for (i = 0; ; i++)
{
long long int m = n << i;
if (m >> i != n)
return 1;
if (LLONG_MAX / 2 < m)
break;
}
return 0;
;
return 0;
}
_ACEOF
rm -f conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && { ac_try='./conftest$ac_exeext'
{ (case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_type_long_long_int=yes
else
$as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
( exit $ac_status )
ac_cv_type_long_long_int=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_type_long_long_int=no
fi
rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_long_int" >&5
$as_echo "$ac_cv_type_long_long_int" >&6; }
if test $ac_cv_type_long_long_int = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_LONG_LONG_INT 1
_ACEOF
fi
{ $as_echo "$as_me:$LINENO: checking for struct cmsgcred" >&5 { $as_echo "$as_me:$LINENO: checking for struct cmsgcred" >&5
$as_echo_n "checking for struct cmsgcred... " >&6; } $as_echo_n "checking for struct cmsgcred... " >&6; }
if test "${ac_cv_type_struct_cmsgcred+set}" = set; then if test "${ac_cv_type_struct_cmsgcred+set}" = set; then
......
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl $PostgreSQL: pgsql/configure.in,v 1.628 2010/05/25 14:32:54 meskes Exp $ dnl $PostgreSQL: pgsql/configure.in,v 1.629 2010/05/25 17:28:20 meskes Exp $
dnl dnl
dnl Developers, please strive to achieve this order: dnl Developers, please strive to achieve this order:
dnl dnl
...@@ -1090,7 +1090,6 @@ AC_C_CONST ...@@ -1090,7 +1090,6 @@ AC_C_CONST
PGAC_C_INLINE PGAC_C_INLINE
AC_C_STRINGIZE AC_C_STRINGIZE
PGAC_C_SIGNED PGAC_C_SIGNED
PGAC_C_LONG_LONG
AC_C_VOLATILE AC_C_VOLATILE
PGAC_C_FUNCNAME_SUPPORT PGAC_C_FUNCNAME_SUPPORT
PGAC_STRUCT_TIMEZONE PGAC_STRUCT_TIMEZONE
...@@ -1101,6 +1100,7 @@ PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS ...@@ -1101,6 +1100,7 @@ PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
PGAC_STRUCT_ADDRINFO PGAC_STRUCT_ADDRINFO
AC_TYPE_INTPTR_T AC_TYPE_INTPTR_T
AC_TYPE_UINTPTR_T AC_TYPE_UINTPTR_T
AC_TYPE_LONG_LONG_INT
AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [], AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [],
[#include <sys/param.h> [#include <sys/param.h>
......
...@@ -330,8 +330,8 @@ ...@@ -330,8 +330,8 @@
/* Define to 1 if `long int' works and is 64 bits. */ /* Define to 1 if `long int' works and is 64 bits. */
#undef HAVE_LONG_INT_64 #undef HAVE_LONG_INT_64
/* Define to 1 if the C compiler does understand long long type. */ /* Define to 1 if the system has the type `long long int'. */
#undef HAVE_LONG_LONG #undef HAVE_LONG_LONG_INT
/* Define to 1 if `long long int' works and is 64 bits. */ /* Define to 1 if `long long int' works and is 64 bits. */
#undef HAVE_LONG_LONG_INT_64 #undef HAVE_LONG_LONG_INT_64
......
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.52 2010/05/20 22:10:45 meskes Exp $ */ /* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.53 2010/05/25 17:28:20 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -177,12 +177,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -177,12 +177,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
*((long *) (ind + ind_offset * act_tuple)) = value_for_indicator; *((long *) (ind + ind_offset * act_tuple)) = value_for_indicator;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*((long long int *) (ind + ind_offset * act_tuple)) = value_for_indicator; *((long long int *) (ind + ind_offset * act_tuple)) = value_for_indicator;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_NO_INDICATOR: case ECPGt_NO_INDICATOR:
if (value_for_indicator == -1) if (value_for_indicator == -1)
{ {
...@@ -265,12 +265,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -265,12 +265,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
*((long *) (ind + ind_offset * act_tuple)) = size; *((long *) (ind + ind_offset * act_tuple)) = size;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*((long long int *) (ind + ind_offset * act_tuple)) = size; *((long long int *) (ind + ind_offset * act_tuple)) = size;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
default: default:
break; break;
} }
...@@ -350,7 +350,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -350,7 +350,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
} }
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
#ifdef HAVE_STRTOLL #ifdef HAVE_STRTOLL
case ECPGt_long_long: case ECPGt_long_long:
*((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10); *((long long int *) (var + offset * act_tuple)) = strtoll(pval, &scan_length, 10);
...@@ -376,7 +376,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -376,7 +376,7 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
break; break;
#endif /* HAVE_STRTOULL */ #endif /* HAVE_STRTOULL */
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_float: case ECPGt_float:
case ECPGt_double: case ECPGt_double:
...@@ -489,12 +489,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -489,12 +489,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
*((long *) (ind + ind_offset * act_tuple)) = size; *((long *) (ind + ind_offset * act_tuple)) = size;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*((long long int *) (ind + ind_offset * act_tuple)) = size; *((long long int *) (ind + ind_offset * act_tuple)) = size;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
default: default:
break; break;
} }
...@@ -534,12 +534,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -534,12 +534,12 @@ ecpg_get_data(const PGresult *results, int act_tuple, int act_field, int lineno,
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
*((long *) (ind + offset * act_tuple)) = variable->len; *((long *) (ind + offset * act_tuple)) = variable->len;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*((long long int *) (ind + ind_offset * act_tuple)) = variable->len; *((long long int *) (ind + ind_offset * act_tuple)) = variable->len;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
default: default:
break; break;
} }
......
/* dynamic SQL support routines /* dynamic SQL support routines
* *
* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.37 2010/05/20 22:10:45 meskes Exp $ * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.38 2010/05/25 17:28:20 meskes Exp $
*/ */
#define POSTGRES_ECPG_INTERNAL #define POSTGRES_ECPG_INTERNAL
...@@ -127,14 +127,14 @@ get_int_item(int lineno, void *var, enum ECPGttype vartype, int value) ...@@ -127,14 +127,14 @@ get_int_item(int lineno, void *var, enum ECPGttype vartype, int value)
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
*(unsigned long *) var = (unsigned long) value; *(unsigned long *) var = (unsigned long) value;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
*(long long int *) var = (long long int) value; *(long long int *) var = (long long int) value;
break; break;
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*(unsigned long long int *) var = (unsigned long long int) value; *(unsigned long long int *) var = (unsigned long long int) value;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_float: case ECPGt_float:
*(float *) var = (float) value; *(float *) var = (float) value;
break; break;
...@@ -172,14 +172,14 @@ set_int_item(int lineno, int *target, const void *var, enum ECPGttype vartype) ...@@ -172,14 +172,14 @@ set_int_item(int lineno, int *target, const void *var, enum ECPGttype vartype)
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
*target = *(unsigned long *) var; *target = *(unsigned long *) var;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
*target = *(long long int *) var; *target = *(long long int *) var;
break; break;
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*target = *(unsigned long long int *) var; *target = *(unsigned long long int *) var;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_float: case ECPGt_float:
*target = *(float *) var; *target = *(float *) var;
break; break;
......
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.96 2010/05/20 22:10:45 meskes Exp $ */ /* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.97 2010/05/25 17:28:20 meskes Exp $ */
/* /*
* The aim is to get a simpler inteface to the database routines. * The aim is to get a simpler inteface to the database routines.
...@@ -541,13 +541,13 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari ...@@ -541,13 +541,13 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
if (*(long *) var->ind_value < 0L) if (*(long *) var->ind_value < 0L)
*tobeinserted_p = NULL; *tobeinserted_p = NULL;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
if (*(long long int *) var->ind_value < (long long) 0) if (*(long long int *) var->ind_value < (long long) 0)
*tobeinserted_p = NULL; *tobeinserted_p = NULL;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_NO_INDICATOR: case ECPGt_NO_INDICATOR:
if (force_indicator == false) if (force_indicator == false)
{ {
...@@ -679,7 +679,7 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari ...@@ -679,7 +679,7 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
*tobeinserted_p = mallocedval; *tobeinserted_p = mallocedval;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
if (!(mallocedval = ecpg_alloc(asize * 30, lineno))) if (!(mallocedval = ecpg_alloc(asize * 30, lineno)))
return false; return false;
...@@ -689,12 +689,12 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari ...@@ -689,12 +689,12 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
strcpy(mallocedval, "array ["); strcpy(mallocedval, "array [");
for (element = 0; element < asize; element++) for (element = 0; element < asize; element++)
sprintf(mallocedval + strlen(mallocedval), "%lld,", ((long long *) var->value)[element]); sprintf(mallocedval + strlen(mallocedval), "%lld,", ((long long int *) var->value)[element]);
strcpy(mallocedval + strlen(mallocedval) - 1, "]"); strcpy(mallocedval + strlen(mallocedval) - 1, "]");
} }
else else
sprintf(mallocedval, "%lld", *((long long *) var->value)); sprintf(mallocedval, "%lld", *((long long int *) var->value));
*tobeinserted_p = mallocedval; *tobeinserted_p = mallocedval;
break; break;
...@@ -708,16 +708,16 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari ...@@ -708,16 +708,16 @@ ecpg_store_input(const int lineno, const bool force_indicator, const struct vari
strcpy(mallocedval, "array ["); strcpy(mallocedval, "array [");
for (element = 0; element < asize; element++) for (element = 0; element < asize; element++)
sprintf(mallocedval + strlen(mallocedval), "%llu,", ((unsigned long long *) var->value)[element]); sprintf(mallocedval + strlen(mallocedval), "%llu,", ((unsigned long long int*) var->value)[element]);
strcpy(mallocedval + strlen(mallocedval) - 1, "]"); strcpy(mallocedval + strlen(mallocedval) - 1, "]");
} }
else else
sprintf(mallocedval, "%llu", *((unsigned long long *) var->value)); sprintf(mallocedval, "%llu", *((unsigned long long int *) var->value));
*tobeinserted_p = mallocedval; *tobeinserted_p = mallocedval;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_float: case ECPGt_float:
if (!(mallocedval = ecpg_alloc(asize * 25, lineno))) if (!(mallocedval = ecpg_alloc(asize * 25, lineno)))
return false; return false;
......
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.57 2010/05/20 22:10:46 meskes Exp $ */ /* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.58 2010/05/25 17:28:20 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -17,15 +17,15 @@ ...@@ -17,15 +17,15 @@
#include "pgtypes_interval.h" #include "pgtypes_interval.h"
#include "pg_config_paths.h" #include "pg_config_paths.h"
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
#ifndef LONG_LONG_MIN #ifndef LONG_LONG_MIN
#ifdef LLONG_MIN #ifdef LLONG_MIN
#define LONG_LONG_MIN LLONG_MIN #define LONG_LONG_MIN LLONG_MIN
#else #else
#define LONG_LONG_MIN LONGLONG_MIN #define LONG_LONG_MIN LONGLONG_MIN
#endif #endif /* LLONG_MIN */
#endif #endif /* LONG_LONG_MIN */
#endif #endif /* HAVE_LONG_LONG_INT */
bool ecpg_internal_regression_mode = false; bool ecpg_internal_regression_mode = false;
...@@ -327,12 +327,12 @@ ECPGset_noind_null(enum ECPGttype type, void *ptr) ...@@ -327,12 +327,12 @@ ECPGset_noind_null(enum ECPGttype type, void *ptr)
case ECPGt_date: case ECPGt_date:
*((long *) ptr) = LONG_MIN; *((long *) ptr) = LONG_MIN;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
*((long long *) ptr) = LONG_LONG_MIN; *((long long *) ptr) = LONG_LONG_MIN;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_float: case ECPGt_float:
memset((char *) ptr, 0xff, sizeof(float)); memset((char *) ptr, 0xff, sizeof(float));
break; break;
...@@ -399,13 +399,13 @@ ECPGis_noind_null(enum ECPGttype type, void *ptr) ...@@ -399,13 +399,13 @@ ECPGis_noind_null(enum ECPGttype type, void *ptr)
if (*((long *) ptr) == LONG_MIN) if (*((long *) ptr) == LONG_MIN)
return true; return true;
break; break;
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
case ECPGt_long_long: case ECPGt_long_long:
case ECPGt_unsigned_long_long: case ECPGt_unsigned_long_long:
if (*((long long *) ptr) == LONG_LONG_MIN) if (*((long long *) ptr) == LONG_LONG_MIN)
return true; return true;
break; break;
#endif /* HAVE_LONG_LONG */ #endif /* HAVE_LONG_LONG_INT */
case ECPGt_float: case ECPGt_float:
return (_check(ptr, sizeof(float))); return (_check(ptr, sizeof(float)));
break; break;
......
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
/* Define to 1 if `long int' works and is 64 bits. */ /* Define to 1 if `long int' works and is 64 bits. */
#undef HAVE_LONG_INT_64 #undef HAVE_LONG_INT_64
/* Define to 1 if the system has the type `long long int'. */
#undef HAVE_LONG_LONG_INT
/* Define to 1 if `long long int' works and is 64 bits. */ /* Define to 1 if `long long int' works and is 64 bits. */
#undef HAVE_LONG_LONG_INT_64 #undef HAVE_LONG_LONG_INT_64
...@@ -15,6 +18,3 @@ ...@@ -15,6 +18,3 @@
* (--enable-thread-safety) */ * (--enable-thread-safety) */
#undef ENABLE_THREAD_SAFETY #undef ENABLE_THREAD_SAFETY
/* Define to 1 if the C compiler does understand long long type. */
#undef HAVE_LONG_LONG
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.25 2010/05/20 22:10:46 meskes Exp $ */ /* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.26 2010/05/25 17:28:20 meskes Exp $ */
statements: /*EMPTY*/ statements: /*EMPTY*/
| statements statement | statements statement
...@@ -781,7 +781,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; } ...@@ -781,7 +781,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
| SQL_UNSIGNED SQL_LONG INT_P { $$ = ECPGt_unsigned_long; } | SQL_UNSIGNED SQL_LONG INT_P { $$ = ECPGt_unsigned_long; }
| SQL_UNSIGNED SQL_LONG SQL_LONG | SQL_UNSIGNED SQL_LONG SQL_LONG
{ {
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
$$ = ECPGt_unsigned_long_long; $$ = ECPGt_unsigned_long_long;
#else #else
$$ = ECPGt_unsigned_long; $$ = ECPGt_unsigned_long;
...@@ -789,7 +789,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; } ...@@ -789,7 +789,7 @@ unsigned_type: SQL_UNSIGNED SQL_SHORT { $$ = ECPGt_unsigned_short; }
} }
| SQL_UNSIGNED SQL_LONG SQL_LONG INT_P | SQL_UNSIGNED SQL_LONG SQL_LONG INT_P
{ {
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
$$ = ECPGt_unsigned_long_long; $$ = ECPGt_unsigned_long_long;
#else #else
$$ = ECPGt_unsigned_long; $$ = ECPGt_unsigned_long;
...@@ -805,7 +805,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; } ...@@ -805,7 +805,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; }
| SQL_LONG INT_P { $$ = ECPGt_long; } | SQL_LONG INT_P { $$ = ECPGt_long; }
| SQL_LONG SQL_LONG | SQL_LONG SQL_LONG
{ {
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
$$ = ECPGt_long_long; $$ = ECPGt_long_long;
#else #else
$$ = ECPGt_long; $$ = ECPGt_long;
...@@ -813,7 +813,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; } ...@@ -813,7 +813,7 @@ signed_type: SQL_SHORT { $$ = ECPGt_short; }
} }
| SQL_LONG SQL_LONG INT_P | SQL_LONG SQL_LONG INT_P
{ {
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG_INT
$$ = ECPGt_long_long; $$ = ECPGt_long_long;
#else #else
$$ = ECPGt_long; $$ = ECPGt_long;
......
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