Skip to content
Snippets Groups Projects
Commit 34fa72ec authored by Peter Eisentraut's avatar Peter Eisentraut
Browse files

Remove use of obsolescent Autoconf macros

Remove the use of the following macros, which are obsolescent according
to the Autoconf documentation:

- AC_C_CONST
- AC_C_STRINGIZE
- AC_C_VOLATILE
- AC_FUNC_MEMCMP
parent 1eafea5d
No related branches found
No related tags found
No related merge requests found
...@@ -15326,113 +15326,6 @@ $as_echo "$as_me: error: unknown endianness ...@@ -15326,113 +15326,6 @@ $as_echo "$as_me: error: unknown endianness
{ (exit 1); exit 1; }; } ;; { (exit 1); exit 1; }; } ;;
esac esac
   
{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
if test "${ac_cv_c_const+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 ()
{
/* FIXME: Include the comments suggested by Paul. */
#ifndef __cplusplus
/* Ultrix mips cc rejects this. */
typedef int charset[2];
const charset cs;
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
/* NEC SVR4.0.2 mips cc rejects this. */
struct point {int x, y;};
static struct point const zero = {0,0};
/* AIX XL C 1.02.0.0 rejects this.
It does not let you subtract one const X* pointer from another in
an arm of an if-expression whose if-part is not a constant
expression */
const char *g = "string";
pcpcc = &g + (g ? g-g : 0);
/* HPUX 7.0 cc rejects these. */
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
{ /* SCO 3.2v4 cc rejects this. */
char *t;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
if (s) return 0;
}
{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
int x[] = {25, 17};
const int *foo = &x[0];
++foo;
}
{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
typedef const int *iptr;
iptr p = 0;
++p;
}
{ /* AIX XL C 1.02.0.0 rejects this saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
struct s { int j; const int *ap[3]; };
struct s *b; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
if (!foo) return 0;
}
return !cs[0] && !zero.x;
#endif
;
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
ac_cv_c_const=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_c_const=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
$as_echo "$ac_cv_c_const" >&6; }
if test $ac_cv_c_const = no; then
cat >>confdefs.h <<\_ACEOF
#define const /**/
_ACEOF
fi
{ $as_echo "$as_me:$LINENO: checking for inline" >&5 { $as_echo "$as_me:$LINENO: checking for inline" >&5
$as_echo_n "checking for inline... " >&6; } $as_echo_n "checking for inline... " >&6; }
if test "${ac_cv_c_inline+set}" = set; then if test "${ac_cv_c_inline+set}" = set; then
...@@ -15570,40 +15463,6 @@ cat >>confdefs.h <<_ACEOF ...@@ -15570,40 +15463,6 @@ cat >>confdefs.h <<_ACEOF
#define PG_USE_INLINE 1 #define PG_USE_INLINE 1
_ACEOF _ACEOF
   
fi
{ $as_echo "$as_me:$LINENO: checking for preprocessor stringizing operator" >&5
$as_echo_n "checking for preprocessor stringizing operator... " >&6; }
if test "${ac_cv_c_stringize+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. */
#define x(y) #y
char *s = x(teststring);
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
$EGREP "#teststring" >/dev/null 2>&1; then
ac_cv_c_stringize=no
else
ac_cv_c_stringize=yes
fi
rm -f conftest*
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stringize" >&5
$as_echo "$ac_cv_c_stringize" >&6; }
if test $ac_cv_c_stringize = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_STRINGIZE 1
_ACEOF
fi fi
   
   
...@@ -15734,67 +15593,6 @@ cat >>confdefs.h <<\_ACEOF ...@@ -15734,67 +15593,6 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF _ACEOF
   
fi fi
{ $as_echo "$as_me:$LINENO: checking for working volatile" >&5
$as_echo_n "checking for working volatile... " >&6; }
if test "${ac_cv_c_volatile+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 ()
{
volatile int x;
int * volatile y = (int *) 0;
return !x && !y;
;
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
ac_cv_c_volatile=yes
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_c_volatile=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5
$as_echo "$ac_cv_c_volatile" >&6; }
if test $ac_cv_c_volatile = no; then
cat >>confdefs.h <<\_ACEOF
#define volatile /**/
_ACEOF
fi
{ $as_echo "$as_me:$LINENO: checking for __func__" >&5 { $as_echo "$as_me:$LINENO: checking for __func__" >&5
$as_echo_n "checking for __func__... " >&6; } $as_echo_n "checking for __func__... " >&6; }
if test "${pgac_cv_funcname_func_support+set}" = set; then if test "${pgac_cv_funcname_func_support+set}" = set; then
...@@ -28897,101 +28695,6 @@ operating system; use --disable-thread-safety to disable thread safety." >&2;} ...@@ -28897,101 +28695,6 @@ operating system; use --disable-thread-safety to disable thread safety." >&2;}
fi fi
fi fi
   
# SunOS doesn't handle negative byte comparisons properly with +/- return
{ $as_echo "$as_me:$LINENO: checking for working memcmp" >&5
$as_echo_n "checking for working memcmp... " >&6; }
if test "${ac_cv_func_memcmp_working+set}" = set; then
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then
ac_cv_func_memcmp_working=no
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
/* Some versions of memcmp are not 8-bit clean. */
char c0 = '\100', c1 = '\200', c2 = '\201';
if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0)
return 1;
/* The Next x86 OpenStep bug shows up only when comparing 16 bytes
or more and with at least one buffer not starting on a 4-byte boundary.
William Lewis provided this test program. */
{
char foo[21];
char bar[21];
int i;
for (i = 0; i < 4; i++)
{
char *a = foo + i;
char *b = bar + i;
strcpy (a, "--------01111111");
strcpy (b, "--------10000000");
if (memcmp (a, b, 16) >= 0)
return 1;
}
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_func_memcmp_working=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_func_memcmp_working=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
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5
$as_echo "$ac_cv_func_memcmp_working" >&6; }
test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in
*" memcmp.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS memcmp.$ac_objext"
;;
esac
   
# Select semaphore implementation type. # Select semaphore implementation type.
if test "$PORTNAME" != "win32"; then if test "$PORTNAME" != "win32"; then
......
...@@ -1114,12 +1114,9 @@ fi ...@@ -1114,12 +1114,9 @@ fi
m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that. m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that.
AC_C_BIGENDIAN AC_C_BIGENDIAN
AC_C_CONST
PGAC_C_INLINE PGAC_C_INLINE
AC_C_STRINGIZE
AC_C_FLEXIBLE_ARRAY_MEMBER AC_C_FLEXIBLE_ARRAY_MEMBER
PGAC_C_SIGNED PGAC_C_SIGNED
AC_C_VOLATILE
PGAC_C_FUNCNAME_SUPPORT PGAC_C_FUNCNAME_SUPPORT
PGAC_C_STATIC_ASSERT PGAC_C_STATIC_ASSERT
PGAC_C_TYPES_COMPATIBLE PGAC_C_TYPES_COMPATIBLE
...@@ -1749,9 +1746,6 @@ operating system; use --disable-thread-safety to disable thread safety.]) ...@@ -1749,9 +1746,6 @@ operating system; use --disable-thread-safety to disable thread safety.])
fi fi
fi fi
# SunOS doesn't handle negative byte comparisons properly with +/- return
AC_FUNC_MEMCMP
# Select semaphore implementation type. # Select semaphore implementation type.
if test "$PORTNAME" != "win32"; then if test "$PORTNAME" != "win32"; then
......
...@@ -130,28 +130,12 @@ ...@@ -130,28 +130,12 @@
* CppConcat * CppConcat
* Concatenate two arguments together, using the C preprocessor. * Concatenate two arguments together, using the C preprocessor.
* *
* Note: the standard Autoconf macro AC_C_STRINGIZE actually only checks * Note: There used to be support here for pre-ANSI C compilers that didn't
* whether #identifier works, but if we have that we likely have ## too. * support # and ##. Nowadays, these macros are just for clarity and/or
* backward compatibility with existing PostgreSQL code.
*/ */
#if defined(HAVE_STRINGIZE)
#define CppAsString(identifier) #identifier #define CppAsString(identifier) #identifier
#define CppConcat(x, y) x##y #define CppConcat(x, y) x##y
#else /* !HAVE_STRINGIZE */
#define CppAsString(identifier) "identifier"
/*
* CppIdentity -- On Reiser based cpp's this is used to concatenate
* two tokens. That is
* CppIdentity(A)B ==> AB
* We renamed it to _private_CppIdentity because it should not
* be referenced outside this file. On other cpp's it
* produces A B.
*/
#define _priv_CppIdentity(x)x
#define CppConcat(x, y) _priv_CppIdentity(x)y
#endif /* !HAVE_STRINGIZE */
/* /*
* dummyret is used to set return values in macros that use ?: to make * dummyret is used to set return values in macros that use ?: to make
......
...@@ -457,9 +457,6 @@ ...@@ -457,9 +457,6 @@
/* Define to 1 if you have the `strerror_r' function. */ /* Define to 1 if you have the `strerror_r' function. */
#undef HAVE_STRERROR_R #undef HAVE_STRERROR_R
/* Define to 1 if cpp supports the ANSI # stringizing operator. */
#undef HAVE_STRINGIZE
/* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H #undef HAVE_STRINGS_H
...@@ -839,9 +836,6 @@ ...@@ -839,9 +836,6 @@
/* Define for large files, on AIX-style hosts. */ /* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES #undef _LARGE_FILES
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `__inline__' or `__inline' if that's what the C compiler /* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */ calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus #ifndef __cplusplus
...@@ -858,7 +852,3 @@ ...@@ -858,7 +852,3 @@
/* Define to the type of an unsigned integer type wide enough to hold a /* 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. */ pointer, if such a type exists, and if the system does not define it. */
#undef uintptr_t #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
...@@ -360,9 +360,6 @@ ...@@ -360,9 +360,6 @@
/* Define to 1 if you have the `strerror_r' function. */ /* Define to 1 if you have the `strerror_r' function. */
/* #undef HAVE_STRERROR_R */ /* #undef HAVE_STRERROR_R */
/* Define to 1 if cpp supports the ANSI # stringizing operator. */
#define HAVE_STRINGIZE 1
/* Define to 1 if you have the <strings.h> header file. */ /* Define to 1 if you have the <strings.h> header file. */
/*#define HAVE_STRINGS_H 1 */ /*#define HAVE_STRINGS_H 1 */
...@@ -674,9 +671,6 @@ ...@@ -674,9 +671,6 @@
/* Define for large files, on AIX-style hosts. */ /* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */ /* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `__inline__' or `__inline' if that's what the C compiler /* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */ calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus #ifndef __cplusplus
...@@ -685,7 +679,3 @@ ...@@ -685,7 +679,3 @@
/* Define to empty if the C compiler does not understand signed types. */ /* Define to empty if the C compiler does not understand signed types. */
/* #undef signed */ /* #undef signed */
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
/* #undef volatile */
/*-------------------------------------------------------------------------
*
* memcmp.c
* compares memory bytes
*
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
*
*
* IDENTIFICATION
* src/port/memcmp.c
*
* This file was taken from NetBSD and is used by SunOS because memcmp
* on that platform does not properly compare negative bytes. The
* NetBSD copyright terms follow.
*/
/*-
* Copyright (c) 1990, 1993
* The Regents of the University of California. All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Chris Torek.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include "c.h"
/*
* Compare memory regions.
*/
int
memcmp(const void *s1, const void *s2, size_t n)
{
if (n != 0)
{
const unsigned char *p1 = s1,
*p2 = s2;
do
{
if (*p1++ != *p2++)
return (*--p1 - *--p2);
} while (--n != 0);
}
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment