summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure23
-rw-r--r--Porting/Glossary5
-rwxr-xr-xconfig_h.SH22
-rw-r--r--handy.h2
4 files changed, 48 insertions, 4 deletions
diff --git a/Configure b/Configure
index bc789979e6..ed295517c5 100755
--- a/Configure
+++ b/Configure
@@ -30,7 +30,7 @@
# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Fri Nov 6 07:43:05 CET 2009 [metaconfig 3.5 PL0]
+# Generated on Tue Jan 5 09:34:08 CET 2010 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
@@ -58,7 +58,7 @@ true || exec sh $0 $argv:q
rm -f c1$$ c2$$
if test -f /dev/cputype -a -f /dev/drivers -a -f /dev/osversion; then
- cat >&4 <<EOF
+ cat <<EOF
***
*** I'm sorry but this system looks like Plan 9 and Plan 9 doesn't do
*** Configure that well. (Plan 9 is close to UNIX but not close enough.)
@@ -70,7 +70,7 @@ EOF
fi
if test ! -c /dev/null ; then
- cat >&4 <<EOF
+ cat <<EOF
***
*** I'm sorry, but /dev/null appears to be a file rather than a device.
*** Please consult your operating sytem's notes for making a device
@@ -1232,6 +1232,7 @@ usethreads=''
incpath=''
mips_type=''
usrinc=''
+vaproto=''
d_vendorarch=''
installvendorarch=''
vendorarch=''
@@ -21210,6 +21211,21 @@ case "$usesitecustomize" in
;;
esac
+: see if prototypes support variable argument declarations
+echo " "
+case "$prototype$i_stdarg" in
+$define$define)
+ echo "It appears we'll be able to prototype varargs functions." >&4
+ val="$define"
+ ;;
+*)
+ echo "Too bad... We won't be using prototyped varargs functions..." >&4
+ val="$undef"
+ ;;
+esac
+set vaproto
+eval $setvar
+
: determine compiler compiler
case "$yacc" in
'')
@@ -23279,6 +23295,7 @@ uvsize='$uvsize'
uvtype='$uvtype'
uvuformat='$uvuformat'
uvxformat='$uvxformat'
+vaproto='$vaproto'
vendorarch='$vendorarch'
vendorarchexp='$vendorarchexp'
vendorbin='$vendorbin'
diff --git a/Porting/Glossary b/Porting/Glossary
index 8a40c32910..e43fa89ed3 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -5096,6 +5096,11 @@ uvXUformat (perlxvf.U):
This variable contains the format string used for printing
a Perl UV as an unsigned hexadecimal integer in uppercase ABCDEF.
+vaproto (vaproto.U):
+ This variable conditionally defines CAN_VAPROTO on systems supporting
+ prototype declaration of functions with a variable number of
+ arguments. See also prototype.
+
vendorarch (vendorarch.U):
This variable contains the value of the PERL_VENDORARCH symbol.
It may have a ~ on the front.
diff --git a/config_h.SH b/config_h.SH
index ff4c86092a..8392c60350 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -894,6 +894,28 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
*/
#$i_vfork I_VFORK /**/
+/* CAN_VAPROTO:
+ * This variable is defined on systems supporting prototype declaration
+ * of functions with a variable number of arguments.
+ */
+/* _V:
+ * This macro is used to declare function parameters in prototypes for
+ * functions with a variable number of parameters. Use double parentheses.
+ * For example:
+ *
+ * int printf _V((char *fmt, ...));
+ *
+ * Remember to use the plain simple _() macro when declaring a function
+ * with no variable number of arguments, since it might be possible to
+ * have a non-effect _V() macro and still get prototypes via _().
+ */
+#$vaproto CAN_VAPROTO /**/
+#ifdef CAN_VAPROTO
+#define _V(args) args
+#else
+#define _V(args) ()
+#endif
+
/* INTSIZE:
* This symbol contains the value of sizeof(int) so that the C
* preprocessor can make decisions based on it.
diff --git a/handy.h b/handy.h
index 848cc0e9bb..63f7fd84a7 100644
--- a/handy.h
+++ b/handy.h
@@ -208,7 +208,7 @@ typedef U64TYPE U64;
* GMTIME_MAX GMTIME_MIN LOCALTIME_MAX LOCALTIME_MIN
* HAS_CTIME64 HAS_LOCALTIME64 HAS_GMTIME64 HAS_DIFFTIME64
* HAS_MKTIME64 HAS_ASCTIME64 HAS_GETADDRINFO HAS_GETNAMEINFO
- * HAS_INETNTOP HAS_INETPTON
+ * HAS_INETNTOP HAS_INETPTON CHARBITS
* Not (yet) used at top level, but mention them for metaconfig
*/