g++ stage 1 reached
Jarkko Hietaniemi [Tue, 8 Aug 2006 00:02:35 +0000 (03:02 +0300)]
Message-ID: <44D7AA6B.4040802@iki.fi>

p4raw-id: //depot/perl@28674

31 files changed:
Configure
NetWare/config.wc
Porting/Glossary
Porting/config.sh
Porting/config_H
cflags.SH
config_h.SH
configure.com
deb.c
dump.c
epoc/config.sh
gv.c
mathoms.c
mg.c
op.c
opcode.h
plan9/config.plan9
plan9/config_h.sample
symbian/config.sh
uconfig.h
uconfig.sh
win32/config.bc
win32/config.ce
win32/config.gc
win32/config.vc
win32/config.vc64
win32/config_H.bc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc
win32/config_H.vc64

index c462113..0e0970c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -373,6 +373,7 @@ d_void_closedir=''
 d_cmsghdr_s=''
 d_const=''
 d_copysignl=''
+d_cplusplus=''
 cryptlib=''
 d_crypt=''
 crypt_r_proto=''
@@ -7136,6 +7137,32 @@ $rm -f try try.* glibc.ver
 set d_gnulibc
 eval $setvar
 
+echo " "
+echo "Checking for C++..." >&4
+cat >try.c <<'EOCP'
+#include <stdio.h>
+int main(void)
+{
+#ifdef __cplusplus
+    printf("define\n");
+#else
+    printf("undef\n");
+#endif
+    return 0;
+}
+EOCP
+set try
+if eval $compile_ok && $run ./try > cplusplus; then
+       val=`$cat cplusplus`
+       echo "You are using a C++ compiler."
+else
+       val="$undef"
+       echo "You are not using a C++ compiler."
+fi
+$rm -f try try.* cplusplus
+set d_cplusplus
+eval $setvar
+
 : see if nm is to be used to determine whether a symbol is defined or not
 case "$usenm" in
 '')
@@ -7585,10 +7612,20 @@ esac'
 
 : see if dlopen exists
 xxx_runnm="$runnm"
+xxx_ccflags="$ccflags"
 runnm=false
+: with g++ one needs -shared to get is-in-libc to work for dlopen
+case "$gccversion" in
+'')    ;;
+*)     case "$d_cplusplus" in
+       "$define") ccflags="$ccflags -shared" ;;
+       esac
+       ;;
+esac
 set dlopen d_dlopen
 eval $inlibc
 runnm="$xxx_runnm"
+ccflags="$xxx_ccflags"
 
 : see if this is a unistd.h system
 set unistd.h i_unistd
@@ -10845,7 +10882,7 @@ typedef struct spug { int drokk; } spug;
 int main()
 {
        const char *foo;
-       const spug y;
+       const spug y = { 0 };
 }
 EOCP
 if $cc -c $ccflags const.c >/dev/null 2>&1 ; then
@@ -21328,6 +21365,7 @@ d_closedir='$d_closedir'
 d_cmsghdr_s='$d_cmsghdr_s'
 d_const='$d_const'
 d_copysignl='$d_copysignl'
+d_cplusplus='$d_cplusplus'
 d_crypt='$d_crypt'
 d_crypt_r='$d_crypt_r'
 d_csh='$d_csh'
index 511ebf3..30c6e5d 100644 (file)
@@ -124,6 +124,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index 43723bb..9e9f9e1 100644 (file)
@@ -534,6 +534,11 @@ d_const (d_const.U):
        indicates to the C program that this C compiler knows about the
        const type.
 
+d_cplusplus (d_cplusplus.U):
+       This variable conditionally defines the USE_CPLUSPLUS symbol, which
+       indicates that a C++ compiler was used to compiled Perl and will be
+       used to compile extensions.
+
 d_copysignl (d_copysignl.U):
        This variable conditionally defines the HAS_COPYSIGNL symbol, which
        indicates to the C program that the copysignl() routine is available.
index 9cf8297..5f95bde 100644 (file)
@@ -139,6 +139,7 @@ d_closedir='define'
 d_cmsghdr_s='define'
 d_const='define'
 d_copysignl='define'
+d_cplusplus='undef'
 d_crypt='define'
 d_crypt_r='undef'
 d_csh='define'
index f07eb48..51e86b1 100644 (file)
  */
 #define HAS_COPYSIGNL          /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index 41e0040..cc369d9 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -224,6 +224,10 @@ for file do
     *) ;;
     esac
 
+case "$cc" in
+*g++*) ccflags="`echo $ccflags|sed 's/-Wdeclaration-after-statement/ /'`" ;;
+esac
+
 if test -f .patch; then
   ccflags="-DPERL_PATCHNUM=`cat .patch` $ccflags"
 fi
index 0db5463..f6074f1 100644 (file)
@@ -1259,6 +1259,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_copysignl HAS_COPYSIGNL            /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+#$d_cplusplus USE_CPLUSPLUS            /**/
+
 /* HAS_CRYPT:
  *     This symbol, if defined, indicates that the crypt routine is available
  *     to encrypt passwords and the like.
index 9b4f08b..45a69a1 100644 (file)
@@ -5696,6 +5696,7 @@ $ WC "d_class='undef'"
 $ WC "d_cmsghdr_s='undef'"
 $ WC "d_const='define'"
 $ WC "d_copysignl='define'"
+$ WC "d_cplusplus='undef'"
 $ WC "d_crypt='define'"
 $ WC "d_csh='undef'"
 $ WC "d_cuserid='define'"
diff --git a/deb.c b/deb.c
index 58411d1..1d3de4c 100644 (file)
--- a/deb.c
+++ b/deb.c
@@ -204,9 +204,7 @@ Perl_deb_stack_all(pTHX)
     for (;;)
     {
         const size_t si_name_ix = si->si_type+1; /* -1 is a valid index */
-        const char * const si_name =
-           (const char *)
-           ((si_name_ix >= sizeof(si_names)) ? "????" : si_names[si_name_ix]);
+        const char * const si_name = (si_name_ix >= sizeof(si_names)) ? "????" : si_names[si_name_ix];
        I32 ix;
        PerlIO_printf(Perl_debug_log, "STACK %"IVdf": %s\n",
                                                (IV)si_ix, si_name);
diff --git a/dump.c b/dump.c
index fc3e8f3..03bdab3 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -718,8 +718,8 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
                  "%*sTYPE = %s  ===> ",
                  (int)(PL_dumpindent*level-4), "", OP_NAME(o));
     if (o->op_next)
-       PerlIO_printf(file, (const char *)(seq ? "%"UVf"\n" : "(%"UVf")\n"),
-                     sequence_num(o->op_next));
+       PerlIO_printf(file, seq ? "%"UVf"\n" : "(%"UVf")\n",
+                               sequence_num(o->op_next));
     else
        PerlIO_printf(file, "DONE\n");
     if (o->op_targ) {
index 217b6c8..a71e68e 100644 (file)
@@ -129,6 +129,7 @@ d_cmsghdr_s='undef'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
diff --git a/gv.c b/gv.c
index 203b05c..0fc0367 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -81,13 +81,12 @@ Perl_gv_IOadd(pTHX_ register GV *gv)
          * this is a dirhandle.
          */
        const char * const fh =
-           (const char *)
-           (PL_op->op_type ==  OP_READDIR ||
-            PL_op->op_type ==  OP_TELLDIR ||
-            PL_op->op_type ==  OP_SEEKDIR ||
-            PL_op->op_type ==  OP_REWINDDIR ||
-            PL_op->op_type ==  OP_CLOSEDIR ?
-            "dirhandle" : "filehandle");
+                        PL_op->op_type ==  OP_READDIR ||
+                         PL_op->op_type ==  OP_TELLDIR ||
+                         PL_op->op_type ==  OP_SEEKDIR ||
+                         PL_op->op_type ==  OP_REWINDDIR ||
+                         PL_op->op_type ==  OP_CLOSEDIR ?
+                         "dirhandle" : "filehandle";
         Perl_croak(aTHX_ "Bad symbol for %s", fh);
     }
 
@@ -162,8 +161,7 @@ GP *
 Perl_newGP(pTHX_ GV *const gv)
 {
     GP *gp;
-    const char *const file =
-       CopFILE(PL_curcop) ? CopFILE(PL_curcop) : (const char *)"";
+    const char *const file = CopFILE(PL_curcop) ? CopFILE(PL_curcop) : "";
     STRLEN len = strlen(file);
     U32 hash;
 
@@ -1277,7 +1275,7 @@ Perl_gv_fullname4(pTHX_ SV *sv, const GV *gv, const char *prefix, bool keepmain)
        SvOK_off(sv);
        return;
     }
-    sv_setpv(sv, prefix ? prefix : (const char *)"");
+    sv_setpv(sv, prefix ? prefix : "");
 
     name = HvNAME_get(hv);
     if (name) {
@@ -1562,9 +1560,7 @@ Perl_Gv_AMupdate(pTHX_ HV *stash)
                                                       FALSE)))
                {
                    /* Can be an import stub (created by "can"). */
-                   const char * const name =
-                       (const char *)
-                       ((gvsv && SvPOK(gvsv)) ?  SvPVX_const(gvsv) : "???");
+                   const char * const name = (gvsv && SvPOK(gvsv)) ?  SvPVX_const(gvsv) : "???";
                    Perl_croak(aTHX_ "%s method \"%.256s\" overloading \"%s\" "\
                                "in package \"%.256s\"",
                               (GvCVGEN(gv) ? "Stub found while resolving"
index 2ba6c41..72639dc 100644 (file)
--- a/mathoms.c
+++ b/mathoms.c
@@ -484,14 +484,14 @@ Perl_huge(void)
 void
 Perl_gv_fullname(pTHX_ SV *sv, const GV *gv)
 {
-    gv_fullname3(sv, gv, (const char *)(sv == (const SV*)gv ? "*" : ""));
+    gv_fullname3(sv, gv, sv == (const SV*)gv ? "*" : "");
 }
 
 /* compatibility with versions <= 5.003. */
 void
 Perl_gv_efullname(pTHX_ SV *sv, const GV *gv)
 {
-    gv_efullname3(sv, gv, (const char *)(sv == (const SV*)gv ? "*" : ""));
+    gv_efullname3(sv, gv, sv == (const SV*)gv ? "*" : "");
 }
 
 void
diff --git a/mg.c b/mg.c
index 3f2fd5a..d4412f8 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -730,7 +730,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
             {
                 const int saveerrno = errno;
                 sv_setnv(sv, (NV)errno);
-                sv_setpv(sv, (const char *)(errno ? Strerror(errno) : ""));
+                sv_setpv(sv, errno ? Strerror(errno) : "");
                 errno = saveerrno;
             }
 #endif
@@ -810,11 +810,11 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
                sv_setpvn(sv, WARN_NONEstring, WARNsize) ;
            }
            else if (PL_compiling.cop_warnings == pWARN_STD) {
-               sv_setpvn(sv,
-                         (const char *)
-                         ((PL_dowarn & G_WARN_ON) ?
-                          WARN_ALLstring : WARN_NONEstring),
-                         WARNsize);
+               sv_setpvn(
+                   sv, 
+                   (PL_dowarn & G_WARN_ON) ? WARN_ALLstring : WARN_NONEstring,
+                   WARNsize
+               );
            }
             else if (PL_compiling.cop_warnings == pWARN_ALL) {
                /* Get the bit mask for $warnings::Bits{all}, because
@@ -993,7 +993,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
            sv_setpv(sv, os2error(Perl_rc));
        else
 #endif
-       sv_setpv(sv, (const char *)(errno ? Strerror(errno) : ""));
+       sv_setpv(sv, errno ? Strerror(errno) : "");
        errno = saveerrno;
        }
 #endif
@@ -1048,7 +1048,7 @@ Perl_magic_setenv(pTHX_ SV *sv, MAGIC *mg)
 {
     dVAR;
     STRLEN len = 0, klen;
-    const char *s = SvOK(sv) ? SvPV_const(sv,len) : (const char *)"";
+    const char *s = SvOK(sv) ? SvPV_const(sv,len) : "";
     const char * const ptr = MgPV_const(mg,klen);
     my_setenv(ptr, s);
 
@@ -1650,7 +1650,7 @@ int
 Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key)
 {
     dVAR; dSP;
-    const char * const meth = (const char *)(SvOK(key) ? "NEXTKEY" : "FIRSTKEY");
+    const char * const meth = SvOK(key) ? "NEXTKEY" : "FIRSTKEY";
 
     ENTER;
     SAVETMPS;
diff --git a/op.c b/op.c
index 0d48328..300ac85 100644 (file)
--- a/op.c
+++ b/op.c
@@ -1875,12 +1875,10 @@ Perl_bind_match(pTHX_ I32 type, OP *left, OP *right)
          || ltype == OP_PADHV) && ckWARN(WARN_MISC))
     {
       const char * const desc
-         = PL_op_desc[(rtype == OP_SUBST || rtype == OP_TRANS) ?
-                      (int)rtype : OP_MATCH];
-      const char * const sample =
-         (const char *)
-         (((ltype == OP_RV2AV || ltype == OP_PADAV)
-           ? "@array" : "%hash"));
+         = PL_op_desc[(rtype == OP_SUBST || rtype == OP_TRANS)
+                      ? (int)rtype : OP_MATCH];
+      const char * const sample = ((ltype == OP_RV2AV || ltype == OP_PADAV)
+            ? "@array" : "%hash");
       Perl_warner(aTHX_ packWARN(WARN_MISC),
              "Applying %s to %s will act on scalar(%s)",
              desc, sample, sample);
@@ -4576,10 +4574,9 @@ Perl_newLOOPEX(pTHX_ I32 type, OP *label)
        if (label->op_type == OP_STUB && (label->op_flags & OPf_PARENS))
            o = newOP(type, OPf_SPECIAL);
        else {
-           o = newPVOP(type, 0,
-                       savepv(label->op_type == OP_CONST
-                              ? SvPVx_nolen_const(((SVOP*)label)->op_sv)
-                              : (const char *)""));
+           o = newPVOP(type, 0, savepv(label->op_type == OP_CONST
+                                       ? SvPVx_nolen_const(((SVOP*)label)->op_sv)
+                                       : ""));
        }
 #ifdef PERL_MAD
        op_getmad(label,o,'L');
@@ -5037,9 +5034,8 @@ Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
        aname = NULL;
 
     gv = name ? gv_fetchsv(cSVOPo->op_sv, gv_fetch_flags, SVt_PVCV)
-       : gv_fetchpv((const char *)
-                    (aname ? aname
-                     : (PL_curstash ? "__ANON__" : "__ANON__::__ANON__")),
+       : gv_fetchpv(aname ? aname
+                    : (PL_curstash ? "__ANON__" : "__ANON__::__ANON__"),
                     gv_fetch_flags, SVt_PVCV);
 
     if (!PL_madskills) {
@@ -5132,10 +5128,8 @@ Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
                    if (PL_copline != NOLINE)
                        CopLINE_set(PL_curcop, PL_copline);
                    Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
-                               (const char *)
-                               (CvCONST(cv)
-                                ? "Constant subroutine %s redefined"
-                                : "Subroutine %s redefined"), name);
+                       CvCONST(cv) ? "Constant subroutine %s redefined"
+                                   : "Subroutine %s redefined", name);
                    CopLINE_set(PL_curcop, oldline);
                }
 #ifdef PERL_MAD
@@ -5516,11 +5510,9 @@ CV *
 Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename)
 {
     dVAR;
-    GV * const gv =
-       gv_fetchpv((const char *)
-                  (name ? name :
-                   (PL_curstash ? "__ANON__" : "__ANON__::__ANON__")),
-                   GV_ADDMULTI, SVt_PVCV);
+    GV * const gv = gv_fetchpv(name ? name :
+                       (PL_curstash ? "__ANON__" : "__ANON__::__ANON__"),
+                       GV_ADDMULTI, SVt_PVCV);
     register CV *cv;
 
     if (!subaddr)
@@ -5546,11 +5538,9 @@ Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename)
                            if (PL_copline != NOLINE)
                                CopLINE_set(PL_curcop, PL_copline);
                            Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
-                                       (const char *)
-                                       (CvCONST(cv)
-                                        ? "Constant subroutine %s redefined"
-                                        : "Subroutine %s redefined"),
-                                       name);
+                                       CvCONST(cv) ? "Constant subroutine %s redefined"
+                                                   : "Subroutine %s redefined"
+                                       ,name);
                            CopLINE_set(PL_curcop, oldline);
                        }
                    }
@@ -5646,7 +5636,7 @@ Perl_newFORM(pTHX_ I32 floor, OP *o, OP *block)
 
 #ifdef GV_UNIQUE_CHECK
     if (GvUNIQUE(gv)) {
-        Perl_croak(aTHX_ (const char*)"Bad symbol for form (GV is unique)");
+        Perl_croak(aTHX_ "Bad symbol for form (GV is unique)");
     }
 #endif
     GvMULTI_on(gv);
@@ -5656,10 +5646,8 @@ Perl_newFORM(pTHX_ I32 floor, OP *o, OP *block)
            if (PL_copline != NOLINE)
                CopLINE_set(PL_curcop, PL_copline);
            Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
-                       (const char *)
-                       (o
-                        ? "Format %"SVf" redefined"
-                        : "Format STDOUT redefined"), (void*)cSVOPo->op_sv);
+                       o ? "Format %"SVf" redefined"
+                       : "Format STDOUT redefined", (void*)cSVOPo->op_sv);
            CopLINE_set(PL_curcop, oldline);
        }
        SvREFCNT_dec(cv);
@@ -6434,9 +6422,8 @@ Perl_ck_fun(pTHX_ OP *o)
                                 if (op) {
                                      SV *tmpstr = NULL;
                                      const char * const a =
-                                         (const char *)
-                                         (kid->op_type == OP_AELEM ?
-                                          "[]" : "{}");
+                                          kid->op_type == OP_AELEM ?
+                                          "[]" : "{}";
                                      if (((op->op_type == OP_RV2AV) ||
                                           (op->op_type == OP_RV2HV)) &&
                                          (firstop = ((UNOP*)op)->op_first) &&
@@ -7292,7 +7279,7 @@ Perl_ck_join(pTHX_ OP *o)
     if (kid && kid->op_type == OP_MATCH) {
        if (ckWARN(WARN_SYNTAX)) {
             const REGEXP *re = PM_GETRE(kPMOP);
-           const char *pmstr = (const char *)(re ? re->precomp : "STRING");
+           const char *pmstr = re ? re->precomp : "STRING";
            Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
                        "/%s/ should probably be written as \"%s\"",
                        pmstr, pmstr);
@@ -7396,9 +7383,8 @@ Perl_ck_subr(pTHX_ OP *o)
                arg++;
                if (o3->op_type != OP_REFGEN && o3->op_type != OP_UNDEF)
                    bad_type(arg,
-                            (const char*)
-                            (arg == 1 ? "block or sub {}" : "sub {}"),
-                            gv_ename(namegv), o3);
+                       arg == 1 ? "block or sub {}" : "sub {}",
+                       gv_ename(namegv), o3);
                break;
            case '*':
                /* '*' allows any scalar type, including bareword */
index 6dd31c3..4b32c85 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -1535,9 +1535,9 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
 #ifndef PERL_GLOBAL_STRUCT_INIT
 
 #ifndef DOINIT
-EXT const U32 PL_opargs[];
+EXTCONST U32 PL_opargs[];
 #else
-EXT const U32 PL_opargs[] = {
+EXTCONST U32 PL_opargs[] = {
        0x00000000,     /* null */
        0x00000000,     /* stub */
        0x00003604,     /* scalar */
index 94d0a12..d7feada 100644 (file)
  */
 /*#define HAS_COPYSIGNL                /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index cd32c8d..5709812 100644 (file)
  */
 /*#define HAS_COPYSIGNL                /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index 2e7327f..4824a3e 100644 (file)
@@ -78,6 +78,7 @@ d_closedir='undef'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index 2b2d1e0..e18a6cc 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_PIPE             / **/
 
-/* HAS_POLL:
- *     This symbol, if defined, indicates that the poll routine is
- *     available to poll active file descriptors. You may safely
- *     include <poll.h> when this symbol is defined.
- */
-/*#define HAS_POLL             / **/
-
 /* HAS_READDIR:
  *     This symbol, if defined, indicates that the readdir routine is
  *     available to read directory entries. You may have to include
 /*#define HAS_BUILTIN_EXPECT   / **/
 /*#define HAS_BUILTIN_CHOOSE_EXPR      / **/
 
+/* HAS_C99_VARIADIC_MACROS:
+ *     If defined, the compiler supports C99 variadic macros.
+ */
+/*#define      HAS_C99_VARIADIC_MACROS / **/
+
 /* CASTI32:
  *     This symbol is defined if the C compiler can cast negative
  *     or large floating point numbers to 32-bit ints.
  */
 /*#define HAS_COPYSIGNL                / **/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                / **/
+
 /* HAS_CRYPT:
  *     This symbol, if defined, indicates that the crypt routine is available
  *     to encrypt passwords and the like.
 
 /* I_POLL:
  *     This symbol, if defined, indicates that <poll.h> exists and
- *     should be included.
+ *     should be included. (see also HAS_POLL)
  */
 /*#define      I_POLL          / **/
 
 #define M_VOID                 /* Xenix strikes again */
 #endif
 
+/* HAS_POLL:
+ *     This symbol, if defined, indicates that the poll routine is
+ *     available to poll active file descriptors. You may safely
+ *     include <poll.h> when both this symbol *and* I_POLL are defined.
+ */
+/*#define HAS_POLL             / **/
+
 #endif
index dc49402..01c6ad2 100755 (executable)
@@ -67,6 +67,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='undef'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index d460097..3c0e023 100644 (file)
@@ -126,6 +126,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index d155e88..342dc48 100644 (file)
@@ -124,6 +124,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index da97c1a..fd9e2e1 100644 (file)
@@ -126,6 +126,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index ec90484..0a9b61f 100644 (file)
@@ -126,6 +126,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index bcda881..837a8eb 100644 (file)
@@ -126,6 +126,7 @@ d_closedir='define'
 d_cmsghdr_s='undef'
 d_const='define'
 d_copysignl='undef'
+d_cplusplus='undef'
 d_crypt='undef'
 d_crypt_r='undef'
 d_csh='undef'
index 166322c..c222bd1 100644 (file)
  */
 /*#define HAS_CLEARENV         /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_COPYSIGNL:
  *     This symbol, if defined, indicates that the copysignl routine is
  *     available.  If aintl is also present we can emulate modfl.
index 9809781..4fecfa8 100644 (file)
  */
 /*#define HAS_COPYSIGNL                /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index c28f1a4..5b0b00b 100644 (file)
  */
 /*#define HAS_COPYSIGNL                /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index f394791..70456ba 100644 (file)
  */
 /*#define HAS_COPYSIGNL                /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up
index 82beceb..8637aff 100644 (file)
  */
 /*#define HAS_COPYSIGNL                /**/
 
+/* USE_CPLUSPLUS:
+ *     This symbol, if defined, indicates that a C++ compiler was
+ *     used to compiled Perl and will be used to compile extensions.
+ */
+/*#define USE_CPLUSPLUS                /**/
+
 /* HAS_DBMINIT_PROTO:
  *     This symbol, if defined, indicates that the system provides
  *     a prototype for the dbminit() function.  Otherwise, it is up