diff options
-rwxr-xr-x | Configure | 23 | ||||
-rw-r--r-- | Porting/Glossary | 5 | ||||
-rwxr-xr-x | config_h.SH | 22 | ||||
-rw-r--r-- | handy.h | 2 |
4 files changed, 48 insertions, 4 deletions
@@ -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. @@ -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 */ |