various win32 tweaks; disable new xs_cpp section (it creates
Gurusamy Sarathy [Mon, 26 Oct 1998 02:44:44 +0000 (02:44 +0000)]
ambiguous inference graph for %.xs --> %.o)

p4raw-id: //depot/perl@2086

14 files changed:
ext/Thread/Thread.xs
gv.c
lib/ExtUtils/MakeMaker.pm
mg.c
pp.c
pp_hot.c
proto.h
win32/GenCAPI.pl
win32/Makefile
win32/config.gc
win32/config_H.gc
win32/makedef.pl
win32/makefile.mk
win32/win32.h

index 0c589a9..b9036c0 100644 (file)
@@ -229,8 +229,8 @@ newthread (SV *startsv, AV *initargs, char *classname)
     static pthread_attr_t attr;
     static int attr_inited = 0;
     sigset_t fullmask, oldmask;
-#endif
     static int attr_joinable = ATTR_JOINABLE;
+#endif
 
     savethread = thr;
     thr = new_struct_thread(thr);
diff --git a/gv.c b/gv.c
index ad0d02d..a3e8d88 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -500,7 +500,9 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type)
     /* No stash in name, so see how we can default */
 
     if (!stash) {
-       if (isIDFIRST(*name) || (IN_UTF8 && ((*name & 0xc0) == 0xc0) && isIDFIRST_utf8(name))) {
+       if (isIDFIRST(*name)
+           || (IN_UTF8 && ((*name & 0xc0) == 0xc0) && isIDFIRST_utf8((U8*)name)))
+       {
            bool global = FALSE;
 
            if (isUPPER(*name)) {
index 0482534..47c3daa 100644 (file)
@@ -271,7 +271,7 @@ sub full_setup {
 
  pasthru
 
- c_o xs_c xs_cpp xs_o top_targets linkext dlsyms dynamic dynamic_bs
+ c_o xs_c xs_o top_targets linkext dlsyms dynamic dynamic_bs
  dynamic_lib static static_lib manifypods processPL installbin subdirs
  clean realclean dist_basics dist_core dist_dir dist_test dist_ci
  install force perldepend makefile staticmake test ppd
diff --git a/mg.c b/mg.c
index 9532b38..2906a4c 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -31,6 +31,7 @@
 #else
 #  define VTBL                 *vtbl
 static void restore_magic _((void *p));
+static int magic_methcall(SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
 #endif
 
 /*
diff --git a/pp.c b/pp.c
index 72599d1..05b242a 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -1316,7 +1316,7 @@ PP(pp_negate)
                sv_setsv(TARG, sv);
                *SvPV_force(TARG, len) = *s == '-' ? '+' : '-';
            }
-           else if (IN_UTF8 && *(U8*)s >= 0xc0 && isIDFIRST_utf8(s)) {
+           else if (IN_UTF8 && *(U8*)s >= 0xc0 && isIDFIRST_utf8((U8*)s)) {
                sv_setpvn(TARG, "-", 1);
                sv_catsv(TARG, sv);
            }
index 24bb4da..53d42d8 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2518,7 +2518,7 @@ PP(pp_method)
        {
            if (!packname || 
                ((*(U8*)packname >= 0xc0 && IN_UTF8)
-                   ? !isIDFIRST_utf8(packname)
+                   ? !isIDFIRST_utf8((U8*)packname)
                    : !isIDFIRST(*packname)
                ))
            {
diff --git a/proto.h b/proto.h
index c5d635a..efc1ea8 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -743,6 +743,7 @@ void qsortsv _((SV ** array, size_t num_elts, SVCOMPARE f));
 I32 sortcv _((SV *a, SV *b));
 void save_magic _((I32 mgs_ix, SV *sv));
 int magic_methpack _((SV *sv, MAGIC *mg, char *meth));
+int magic_methcall _((SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val));
 int magic_methcall _((MAGIC *mg, char *meth, I32 flags, int n, SV *val));
 OP * doform _((CV *cv, GV *gv, OP *retop));
 void doencodes _((SV* sv, char* s, I32 len));
index a4e4099..5c77d70 100644 (file)
@@ -40,6 +40,7 @@ sub skip_these {
 }
 
 skip_these [qw(
+yylex
 cando
 cast_ulong
 my_chsize
index 2e01729..d6b6dda 100644 (file)
@@ -33,6 +33,11 @@ INST_VER     = \5.00552
 #USE_THREADS   = define
 
 #
+# uncomment to enable multiple interpreters
+#
+#USE_MULTI     = define
+
+#
 # uncomment next line if you are using Visual C++ 2.x
 #
 #CCTYPE                = MSVC20
@@ -135,6 +140,7 @@ CRYPT_FLAG  = -DHAVE_DES_FCRYPT
 !IF "$(OBJECT)" != ""
 PERL_MALLOC    = undef
 USE_THREADS    = undef
+USE_MULTI      = undef
 !ENDIF
 
 !IF "$(PERL_MALLOC)" == ""
@@ -145,8 +151,11 @@ PERL_MALLOC        = undef
 USE_THREADS    = undef
 !ENDIF
 
-#BUILDOPT      = -DMULTIPLICITY 
-#BUILDOPT      = -DPERL_GLOBAL_STRUCT -DMULTIPLICITY
+!IF "$(USE_MULTI)" == ""
+USE_MULTI      = undef
+!ENDIF
+
+#BUILDOPT      = -DPERL_GLOBAL_STRUCT
 # -DUSE_PERLIO -D__STDC__=1 -DUSE_SFIO -DI_SFIO -I\sfio97\include
 
 !IF "$(PROCESSOR_ARCHITECTURE)" == ""
@@ -573,6 +582,7 @@ CFG_VARS    =                                       \
                "dynamic_ext=$(DYNAMIC_EXT)"            \
                "nonxs_ext=$(NONXS_EXT)"                \
                "usethreads=$(USE_THREADS)"             \
+               "usemultiplicity=$(USE_MULTI)"          \
                "LINK_FLAGS=$(LINK_FLAGS)"              \
                "optimize=$(OPTIMIZE)"
 
index 7dc64f8..c4c6d1a 100644 (file)
@@ -594,7 +594,7 @@ uname='uname'
 uniq='uniq'
 use64bits='undef'
 usedl='define'
-usemultiplicity='undef'
+usemultiplicity='define'
 usemymalloc='n'
 usenm='false'
 useopcode='true'
index 82e5d18..0e178b6 100644 (file)
  *     This symbol, if defined, indicates that Perl should
  *     be built to use multiplicity.
  */
-/*#define      MULTIPLICITY            /**/
+#define        MULTIPLICITY            /**/
 
 /* USE_THREADS:
  *     This symbol, if defined, indicates that Perl should
index 222ce06..80ea5e3 100644 (file)
@@ -28,6 +28,7 @@ while (<CFG>)
  {
   $define{$1} = 1 if /^\s*#\s*define\s+(MYMALLOC)\b/;
   $define{$1} = 1 if /^\s*#\s*define\s+(USE_THREADS)\b/;
+  $define{$1} = 1 if /^\s*#\s*define\s+(MULTIPLICITY)\b/;
  }
 close(CFG);
 
index 07fcad0..d12add7 100644 (file)
@@ -37,6 +37,11 @@ INST_VER     *= \5.00552
 #USE_THREADS   *= define
 
 #
+# uncomment to enable multiple interpreters
+#
+#USE_MULTI     *= define
+
+#
 # uncomment one
 #
 #CCTYPE                *= MSVC20
@@ -153,14 +158,15 @@ CRYPT_FLAG        = -DHAVE_DES_FCRYPT
 .IF "$(OBJECT)" != ""
 PERL_MALLOC    != undef
 USE_THREADS    != undef
+USE_MULTI      != undef
 .ENDIF
 
 PERL_MALLOC    *= undef
 
 USE_THREADS    *= undef
+USE_MULTI      *= undef
 
-#BUILDOPT      *= -DMULTIPLICITY 
-#BUILDOPT      *= -DPERL_GLOBAL_STRUCT -DMULTIPLICITY 
+#BUILDOPT      *= -DPERL_GLOBAL_STRUCT
 # -DUSE_PERLIO -D__STDC__=1 -DUSE_SFIO -DI_SFIO -I\sfio97\include
 
 .IMPORT .IGNORE : PROCESSOR_ARCHITECTURE
@@ -693,6 +699,7 @@ CFG_VARS    =                                       \
                "dynamic_ext=$(DYNAMIC_EXT)"            \
                "nonxs_ext=$(NONXS_EXT)"                \
                "usethreads=$(USE_THREADS)"             \
+               "usemultiplicity=$(USE_MULTI)"          \
                "LINK_FLAGS=$(LINK_FLAGS)"              \
                "optimize=$(OPTIMIZE)"
 
index 8b789fd..b52ef4e 100644 (file)
@@ -32,7 +32,9 @@ typedef long long __int64;
 #endif
 #  ifndef PERL_OBJECT
 #    define PERL_GLOBAL_STRUCT
-#    define MULTIPLICITY
+#    ifndef MULTIPLICITY
+#      define MULTIPLICITY
+#    endif
 #  endif
 #endif