diff --git a/Makefile b/Makefile
index a5c99e7a4e866212681ddff77a93cfc7a1e92a72..16dcc82fc241e9fa0e723db2947e407af2b2cf52 100644
--- a/Makefile
+++ b/Makefile
@@ -336,7 +336,8 @@ distclean:: clean
 	@rm -f build/dummy.d bin/*.dll lib/*.def lib/*.exp lib/*.lib .def
 	@rm -f tutorials/*.root tutorials/*.ps tutorials/*.gif so_locations
 	@rm -f tutorials/pca.C tutorials/*.so
-	@rm -f $(CINTDIR)/include/*.dl* $(CINTDIR)/stl/*.dll README/ChangeLog
+	@rm -f $(CINTDIR)/include/*.dll $(CINTDIR)/include/sys/*.dll
+	@rm -f $(CINTDIR)/stl/*.dll README/ChangeLog
 	@rm -rf htmldoc
 	-@cd test && $(MAKE) distclean
 
diff --git a/build/unix/makecintdlls.sh b/build/unix/makecintdlls.sh
index 3a8c0c6000aa60a29808e771f3f3f6733b799b71..398b8decacee1575aa243a7b5866b004e614bbed 100755
--- a/build/unix/makecintdlls.sh
+++ b/build/unix/makecintdlls.sh
@@ -28,8 +28,9 @@ CINTDIRI=cint/include
 CINTDIRS=cint/stl
 
 clean() {
-   rm -f $CINTDIRI/long.dl
+   rm -f $CINTDIRI/long.dll
    rm -f $CINTDIRI/stdfunc.dll
+   rm -f $CINTDIRI/stdcxxfunc.dll
    rm -f $CINTDIRI/posix.dll
    rm -f $CINTDIRI/sys/types.h
    rm -f $CINTDIRI/sys/ipc.dll
@@ -63,22 +64,22 @@ if [ $PLATFORM = "clean" ]; then
    exit 0;
 fi
 
-##### long.dl (note .dl not .dll) #####
+##### long.dll #####
 
 LONGDIR=$CINTDIRL/longlong
 
 $CINT -w1 -zlong -n$LONGDIR/G__cpp_long.cxx -D__MAKECINT__ \
-   -DG__MAKECINT -c-1 -A -Z0 $LONGDIR/longlong.h
+   -DG__MAKECINT -c-1 -A -Z0 $LONGDIR/longlong.h $LONGDIR/longdbl.h
 $CXX $OPT $CINTCXXFLAGS -I. -Icint -o $LONGDIR/G__cpp_long.o \
    -c $LONGDIR/G__cpp_long.cxx
 $MAKELIB $PLATFORM $LD "$LDFLAGS" "$SOFLAGS" long.$SOEXT $CINTDIRI/long.$SOEXT \
    $LONGDIR/G__cpp_long.o
-mv $CINTDIRI/long.$SOEXT $CINTDIRI/long.dl
+rename $CINTDIRI/long
 
 rm -f $LONGDIR/G__cpp_long.cxx $LONGDIR/G__cpp_long.h $LONGDIR/G__cpp_long.o
 
 
-##### stdfunc.dll #####
+##### stdfunc.dll  & stdcxxfunc.dll #####
 
 STDFUNCDIR=$CINTDIRL/stdstrct
 
@@ -90,9 +91,17 @@ $MAKELIB $PLATFORM $LD "$LDFLAGS" "$SOFLAGS" stdfunc.$SOEXT \
    $CINTDIRI/stdfunc.$SOEXT "$STDFUNCDIR/G__c_stdfunc.o"
 rename $CINTDIRI/stdfunc
 
-rm -f $STDFUNCDIR/G__c_stdfunc.c $STDFUNCDIR/G__c_stdfunc.h \
-      $STDFUNCDIR/G__c_stdfunc.o
+$CINT -w1 -zstdcxxfunc -n$STDFUNCDIR/G__c_stdcxxfunc.cxx -D__MAKECINT__ \
+   -DG__MAKECINT -c-1 -A -Z0 $STDFUNCDIR/stdcxxfunc.h
+$CXX $OPT $CINTCXXFLAGS -I. -Icint -o $STDFUNCDIR/G__c_stdcxxfunc.o \
+   -c $STDFUNCDIR/G__c_stdcxxfunc.cxx
+$MAKELIB $PLATFORM $LD "$LDFLAGS" "$SOFLAGS" stdcxxfunc.$SOEXT \
+   $CINTDIRI/stdcxxfunc.$SOEXT "$STDFUNCDIR/G__c_stdcxxfunc.o"
+rename $CINTDIRI/stdcxxfunc
 
+rm -f $STDFUNCDIR/G__c_stdfunc.c $STDFUNCDIR/G__c_stdfunc.h \
+      $STDFUNCDIR/G__c_stdfunc.o $STDFUNCDIR/G__c_stdcxxfunc.cxx \
+      $STDFUNCDIR/G__c_stdcxxfunc.h $STDFUNCDIR/G__c_stdcxxfunc.o
 
 ##### posix.dll #####
 
diff --git a/cint/inc/G__ci.h b/cint/inc/G__ci.h
index 62b974233ca82f0a04ea9d00cfe27f5e8eae7402..03e75365f90059209626e685ee532ad34338ed5e 100644
--- a/cint/inc/G__ci.h
+++ b/cint/inc/G__ci.h
@@ -21,8 +21,8 @@
 #ifndef G__CI_H
 #define G__CI_H
 
-#define G__CINTVERSION      5015008
-#define G__CINTVERSIONSTR  "5.15.08, July 20 2001"
+#define G__CINTVERSION      5015009
+#define G__CINTVERSIONSTR  "5.15.09, Aug 6 2001"
 
 
 /**********************************************************************
@@ -1772,6 +1772,7 @@ extern G__EXPORT int G__security_recover G__P((FILE* fout));
 extern G__EXPORT void G__breakkey G__P((int signame));
 extern G__EXPORT int G__stepmode G__P((int stepmode));
 extern G__EXPORT int G__tracemode G__P((int tracemode));
+extern G__EXPORT int G__setbreakpoint G__P((char *breakline,char *breakfile));
 extern G__EXPORT int G__getstepmode G__P(());
 extern G__EXPORT int G__gettracemode G__P(());
 extern G__EXPORT int G__printlinenum G__P((void));
diff --git a/cint/inc/fproto.h b/cint/inc/fproto.h
index 939a5922bc66e2ffba651d371bf9148e57839c82..3b944ca6797d76872c51ef6a9c098aeb0a68c4a0 100644
--- a/cint/inc/fproto.h
+++ b/cint/inc/fproto.h
@@ -86,7 +86,6 @@ void G__DISPfgetc G__P((int c));
 void G__lockedvariable G__P((char *item));
 int G__lock_variable G__P((char *varname));
 int G__unlock_variable G__P((char *varname));
-int G__setbreakpoint G__P((char *breakline,char *breakfile));
 G__value G__interactivereturn G__P((void));
 void G__set_tracemode G__P((char *name));
 void G__del_tracemode G__P((char *name));
diff --git a/cint/inc/global.h b/cint/inc/global.h
index 5a6d58e9ff0d4d12958311d06b48f6e494740c53..17a68f2fb6c6560d6f58a436276a7998a1cd0d07 100644
--- a/cint/inc/global.h
+++ b/cint/inc/global.h
@@ -676,6 +676,10 @@ extern int G__multithreadlibcint ;
 extern void (*G__emergencycallback)();
 #endif
 
+#ifndef G__OLDIMPLEMENTATION1570
+extern int G__asm_clear_mask;
+#endif
+
 #ifndef __CINT__
 #ifdef __cplusplus
 }
diff --git a/cint/include/cmath b/cint/include/cmath
index 18397882e28d39472dc50d48d61b1b882d35bfa6..47758b3621a70e07c73aafd67a8abb06337633bc 100644
--- a/cint/include/cmath
+++ b/cint/include/cmath
@@ -1,4 +1,5 @@
 namespace std {
 #include <math.h>
+#pragma include_noerr <stdcxxfunc.dll>
 }
 
diff --git a/cint/lib/posix/posix.h b/cint/lib/posix/posix.h
index e900bf2f493ebcab361a05ccb15626a3cc37f514..73af110f69290d284efc07eca0e828fe9d536bba 100644
--- a/cint/lib/posix/posix.h
+++ b/cint/lib/posix/posix.h
@@ -171,7 +171,7 @@ extern long int sysconf(int name);
 
 #if defined(__SUNPRO_C) || defined(G__SUNPRO_C) 
 extern int putenv(char *string);
-#elif defined(G__GLIBC_) && (G__GLIBC_<201)
+#elif defined(G__GLIBC_) && (G__GLIBC_<=202)
 extern int putenv(char *string);
 #else
 extern int putenv(const char *string);
diff --git a/cint/lib/prec_stl/numeric b/cint/lib/prec_stl/numeric
index 96c57af06cbb639612e59025fa6e29f1c93e38be..524fd54e7772e3090c39092a273761d4b1ddf54e 100644
--- a/cint/lib/prec_stl/numeric
+++ b/cint/lib/prec_stl/numeric
@@ -8,6 +8,7 @@
 
 // to be implemented
 
+
 #pragma endif
 
 
diff --git a/cint/lib/stdstrct/setup b/cint/lib/stdstrct/setup
index 4f10fbd59ba4a1982f1187ab025a7579dcca78b7..f44ee60356ba304074ea63ae5e3df8047c668947 100644
--- a/cint/lib/stdstrct/setup
+++ b/cint/lib/stdstrct/setup
@@ -1,7 +1,13 @@
-
 rm ../../include/stdfunc.dll
 makecint -mk Makestdfunc -dl stdfunc.dll -h stdfunc.h -cint -Z0
 make -f Makestdfunc
 mv stdfunc.dll ../../include/stdfunc.dll
 make -f Makestdfunc clean
 rm Makestdfunc
+
+rm ../../include/stdcxxfunc.dll
+makecint -mk Makestdcxxfunc -dl stdcxxfunc.dll -H stdcxxfunc.h -cint -Z0
+make -f Makestdcxxfunc
+mv stdcxxfunc.dll ../../include/stdcxxfunc.dll
+make -f Makestdcxxfunc clean
+rm Makestdcxxfunc
diff --git a/cint/lib/stdstrct/setup.bat b/cint/lib/stdstrct/setup.bat
index 058cf8f25085b12d3e032833a36d6313cd90e20c..1915e1b6066b2f4356ca7aa1d1741865a557e7c9 100644
--- a/cint/lib/stdstrct/setup.bat
+++ b/cint/lib/stdstrct/setup.bat
@@ -4,3 +4,10 @@ nmake -f Makestdfunc CFG="stdfunc - Win32 Release"
 move Release\stdfunc.dll ..\..\include\stdfunc.dll
 del G__*
 del Makestdfunc
+
+del ..\..\include\stdcxxfunc.dll
+makecint -mk Makestdcxxfunc -dl stdcxxfunc.dll -H stdcxxfunc.h -cint -Z0
+nmake -f Makestdcxxfunc CFG="stdcxxfunc - Win32 Release"
+move Release\stdcxxfunc.dll ..\..\include\stdcxxfunc.dll
+del G__*
+del Makestdcxxfunc
diff --git a/cint/lib/stdstrct/setupbc.bat b/cint/lib/stdstrct/setupbc.bat
index 921773aabfefb30bdc90270f2cb50734d27acb64..fd909bc147cc832881d62ed6f955240879fef81e 100644
--- a/cint/lib/stdstrct/setupbc.bat
+++ b/cint/lib/stdstrct/setupbc.bat
@@ -4,3 +4,10 @@ make.exe -f Makestdfunc
 move stdfunc.dll ..\..\include\stdfunc.dll
 del G__*
 del Makestdfunc
+
+del ..\..\include\stdcxxfunc.dll
+makecint -mk Makestdcxxfunc -dl stdcxxfunc.dll -H stdcxxfunc.h -cint -Z0
+make.exe -f Makestdcxxfunc 
+move stdcxxfunc.dll ..\..\include\stdcxxfunc.dll
+del G__*
+del Makestdcxxfunc
diff --git a/cint/src/error.c b/cint/src/error.c
index 129b49e9a93df60b3c421a24b342a64f1be4155b..a81aaf86e5458e98caca9712c5eda3d8567c2650 100644
--- a/cint/src/error.c
+++ b/cint/src/error.c
@@ -290,6 +290,36 @@ char *item;
 #endif
        ) {
 #endif
+#ifndef G__OLDIMPLEMENTATION1571
+      char *p = strchr(item,'(');
+      if(p) {
+	char tmp[G__ONELINE];
+	strcpy(tmp,item);
+	p = G__strrstr(tmp,"::");
+	if(p) {
+	  *p = 0; p+=2;
+	  G__fprinterr(G__serr,
+		       "Error: Function %s is not defined in %s ",p,tmp);
+	}
+	else {
+	  G__fprinterr(G__serr,
+		       "Error: Function %s is not defined in current scope ",item[0]=='$'?item+1:item);
+	}
+      }
+      else {
+	char tmp[G__ONELINE];
+	strcpy(tmp,item);
+	if(p) {
+	  *p = 0; p+=2;
+	  G__fprinterr(G__serr,
+		       "Error: Symbol %s is not defined in %s ",p,tmp);
+	}
+	else {
+	  G__fprinterr(G__serr,
+		       "Error: Symbol %s is not defined in current scope ",item[0]=='$'?item+1:item);
+	}
+      }
+#else
 #ifdef G__ROOT
       G__fprinterr(G__serr,
 	      "Error: No symbol %s in current scope ",item[0]=='$'?item+1:item);
@@ -297,6 +327,7 @@ char *item;
       G__fprinterr(G__serr,
 	      "Error: No symbol %s in current scope ",item);
 #endif
+#endif
 #ifndef G__OLDIMPLEMENTATION1519
       G__genericerror((char*)NULL);
 #endif
diff --git a/cint/src/func.c b/cint/src/func.c
index 0dc33b5bf00da1b09b80450ffcf0b3ad3fcb84d2..2901e5d658fbb9e70fe936fdc75d6ac9bf51d834 100644
--- a/cint/src/func.c
+++ b/cint/src/func.c
@@ -844,6 +844,9 @@ int memfunc_flag;
 #ifndef G__OLDIMPLEMENTATION1515
   int oprp=0;
 #endif
+#ifndef G__OLDIMPLEMENTATION1570
+  int store_cp_asm=0;
+#endif
 
   store_exec_memberfunc = G__exec_memberfunc;
   store_memberfunc_tagnum = G__memberfunc_tagnum;
@@ -1331,6 +1334,11 @@ int memfunc_flag;
     G__asm_inst[G__asm_cp]=G__SETMEMFUNCENV;
     G__inc_cp_asm(1,0);
   }
+#ifndef G__OLDIMPLEMENTATION1570
+  if(G__asm_noverflow && fpara.paran) {
+    store_cp_asm = G__asm_cp;
+  }
+#endif
 #endif
   /* restore base environment */
   store_struct_offset = G__store_struct_offset;
@@ -2246,7 +2254,16 @@ int memfunc_flag;
   
 
   if(!G__oprovld) {
+#ifndef G__OLDIMPLEMENTATION1570
+    if(G__asm_noverflow && fpara.paran) {
+      G__asm_cp=store_cp_asm;
+    }
+    G__asm_clear_mask = 1;
+#endif
     result3 = G__execfuncmacro(item,known3);
+#ifndef G__OLDIMPLEMENTATION1570
+    G__asm_clear_mask = 0;
+#endif
     if(*known3) {
 #ifndef G__OLDIMPLEMENTATION405
       if(nindex&&isupper(result3.type)) {
@@ -3707,6 +3724,14 @@ int hash;
     return(1);
   }
 #endif
+
+#ifndef G__OLDIMPLEMENTATION564
+  if(strcmp(funcname,"G__setbreakpoint")==0) {
+    if(G__no_exec_compile) return(1);
+    G__letint(result7,'i',(long)G__setbreakpoint((char*)G__int(libp->para[0]),(char*)G__int(libp->para[0])));
+    return(1);
+  }
+#endif
   
 #ifndef G__OLDIMPLEMENTATION564
   if(strcmp(funcname,"G__tracemode")==0||
@@ -4048,7 +4073,6 @@ char *result;
   return(result);
 }
 
-
 #ifndef G__OLDIMPLEMENTATION564
 /******************************************************************
 * G__tracemode()
diff --git a/cint/src/g__cfunc.c b/cint/src/g__cfunc.c
index 94b2e5475e5c9c1fa1a91f8a4b9a46c1125a6ac7..18e0e773cd0625ad984cc20867c1fba434f07149 100644
--- a/cint/src/g__cfunc.c
+++ b/cint/src/g__cfunc.c
@@ -796,6 +796,7 @@ G__COMPLETIONLIST G__completionlist[] = {
 	{"G__tracemode",NULL},
 	{"G__gettracemode",NULL},
 	{"G__debugmode",NULL},
+	{"G__setbreakpoint",NULL},
 	{"G__stepmode",NULL},
 	{"G__getstepmode",NULL},
 #ifndef G__OLDIMPLEMENTATION1142
@@ -3560,6 +3561,7 @@ void G__list_sut(fp) FILE *fp; {
    fprintf(fp,"   int G__pause();\n");
    fprintf(fp,"   int G__tracemode(int on_off);\n");
    /* fprintf(fp,"   int G__breakline(int line);\n"); */
+   fprintf(fp,"   int G__setbreakpoint(char* line,char* file);\n");
    fprintf(fp,"   int G__stepmode(int on_off);\n");
    fprintf(fp,"   [anytype] G__calc(const char *expression);\n");
    fprintf(fp,"   [anytype] G__exec_text(const char *unnamedmacro);\n");
diff --git a/cint/src/global2.c b/cint/src/global2.c
index 94c0781cc309d7deeea9fa4000353be9a314f568..01187a45cdf5b9a55fb52668b260231b9c8b4880 100644
--- a/cint/src/global2.c
+++ b/cint/src/global2.c
@@ -463,6 +463,10 @@ int G__multithreadlibcint = 0;
 void (*G__emergencycallback)();
 #endif
 
+#ifndef G__OLDIMPLEMENTATION1570
+int G__asm_clear_mask = 0;
+#endif
+
 /*
  * Local Variables:
  * c-tab-always-indent:nil
diff --git a/cint/src/loadfile.c b/cint/src/loadfile.c
index 86701d50203fa0ffebf77f6d2dd45d8932b4e1d9..9be0d424d289a122d7a8636e02d2943ed90ca5da 100644
--- a/cint/src/loadfile.c
+++ b/cint/src/loadfile.c
@@ -288,6 +288,10 @@ char *item;
 
   buf[0]='\0';
 
+#ifdef G__NOMAKEINFO
+  return("");
+#endif
+
 #ifndef G__OLDIMPLEMENTATION466
   /****************************************************************
   * Environment variable overrides MAKEINFO file if exists.
diff --git a/cint/src/pcode.c b/cint/src/pcode.c
index 189ef718a415fd8bb83c831fa0fa23e17c2c23b5..ea7c006d008d70395c506ab9e84e62e7a634f3dc 100644
--- a/cint/src/pcode.c
+++ b/cint/src/pcode.c
@@ -6407,6 +6407,9 @@ int G__clear_asm()
 ******************************************************************/
 int G__asm_clear()
 {
+#ifndef G__OLDIMPLEMENTATION1570
+  if(G__asm_clear_mask) return(0);
+#endif
 #ifdef G__ASM_DBG
   if(G__asm_dbg) G__fprinterr(G__serr,"%3x: CL  FILE:%s LINE:%d\n" ,G__asm_cp
 			 ,G__ifile.name ,G__ifile.line_number);
diff --git a/cint/src/struct.c b/cint/src/struct.c
index 023cc9d6d032cb2b574924268007b7c463124712..2747c76b6141c2e523a1a1c8c2ab6a2f0cb15025 100644
--- a/cint/src/struct.c
+++ b/cint/src/struct.c
@@ -177,7 +177,11 @@ int G__using_namespace()
 			      ,&astruct_offset,&astore_struct_offset,&aig15,0);
 
       /* copy variable information */
+#ifndef G__OLDIMPLEMENTATION1569
+      if(avar && ( avar!=var || aig15!= ig15 ) ) {
+#else
       if(avar) {
+#endif
 	int ii;
 #ifndef G__OLDIMPLEMENTATION1543
 	G__savestring(&avar->varnamebuf[aig15],var->varnamebuf[ig15]);
diff --git a/cint/src/v6_error.cxx b/cint/src/v6_error.cxx
index 129b49e9a93df60b3c421a24b342a64f1be4155b..a81aaf86e5458e98caca9712c5eda3d8567c2650 100644
--- a/cint/src/v6_error.cxx
+++ b/cint/src/v6_error.cxx
@@ -290,6 +290,36 @@ char *item;
 #endif
        ) {
 #endif
+#ifndef G__OLDIMPLEMENTATION1571
+      char *p = strchr(item,'(');
+      if(p) {
+	char tmp[G__ONELINE];
+	strcpy(tmp,item);
+	p = G__strrstr(tmp,"::");
+	if(p) {
+	  *p = 0; p+=2;
+	  G__fprinterr(G__serr,
+		       "Error: Function %s is not defined in %s ",p,tmp);
+	}
+	else {
+	  G__fprinterr(G__serr,
+		       "Error: Function %s is not defined in current scope ",item[0]=='$'?item+1:item);
+	}
+      }
+      else {
+	char tmp[G__ONELINE];
+	strcpy(tmp,item);
+	if(p) {
+	  *p = 0; p+=2;
+	  G__fprinterr(G__serr,
+		       "Error: Symbol %s is not defined in %s ",p,tmp);
+	}
+	else {
+	  G__fprinterr(G__serr,
+		       "Error: Symbol %s is not defined in current scope ",item[0]=='$'?item+1:item);
+	}
+      }
+#else
 #ifdef G__ROOT
       G__fprinterr(G__serr,
 	      "Error: No symbol %s in current scope ",item[0]=='$'?item+1:item);
@@ -297,6 +327,7 @@ char *item;
       G__fprinterr(G__serr,
 	      "Error: No symbol %s in current scope ",item);
 #endif
+#endif
 #ifndef G__OLDIMPLEMENTATION1519
       G__genericerror((char*)NULL);
 #endif
diff --git a/cint/src/v6_func.cxx b/cint/src/v6_func.cxx
index 0dc33b5bf00da1b09b80450ffcf0b3ad3fcb84d2..2901e5d658fbb9e70fe936fdc75d6ac9bf51d834 100644
--- a/cint/src/v6_func.cxx
+++ b/cint/src/v6_func.cxx
@@ -844,6 +844,9 @@ int memfunc_flag;
 #ifndef G__OLDIMPLEMENTATION1515
   int oprp=0;
 #endif
+#ifndef G__OLDIMPLEMENTATION1570
+  int store_cp_asm=0;
+#endif
 
   store_exec_memberfunc = G__exec_memberfunc;
   store_memberfunc_tagnum = G__memberfunc_tagnum;
@@ -1331,6 +1334,11 @@ int memfunc_flag;
     G__asm_inst[G__asm_cp]=G__SETMEMFUNCENV;
     G__inc_cp_asm(1,0);
   }
+#ifndef G__OLDIMPLEMENTATION1570
+  if(G__asm_noverflow && fpara.paran) {
+    store_cp_asm = G__asm_cp;
+  }
+#endif
 #endif
   /* restore base environment */
   store_struct_offset = G__store_struct_offset;
@@ -2246,7 +2254,16 @@ int memfunc_flag;
   
 
   if(!G__oprovld) {
+#ifndef G__OLDIMPLEMENTATION1570
+    if(G__asm_noverflow && fpara.paran) {
+      G__asm_cp=store_cp_asm;
+    }
+    G__asm_clear_mask = 1;
+#endif
     result3 = G__execfuncmacro(item,known3);
+#ifndef G__OLDIMPLEMENTATION1570
+    G__asm_clear_mask = 0;
+#endif
     if(*known3) {
 #ifndef G__OLDIMPLEMENTATION405
       if(nindex&&isupper(result3.type)) {
@@ -3707,6 +3724,14 @@ int hash;
     return(1);
   }
 #endif
+
+#ifndef G__OLDIMPLEMENTATION564
+  if(strcmp(funcname,"G__setbreakpoint")==0) {
+    if(G__no_exec_compile) return(1);
+    G__letint(result7,'i',(long)G__setbreakpoint((char*)G__int(libp->para[0]),(char*)G__int(libp->para[0])));
+    return(1);
+  }
+#endif
   
 #ifndef G__OLDIMPLEMENTATION564
   if(strcmp(funcname,"G__tracemode")==0||
@@ -4048,7 +4073,6 @@ char *result;
   return(result);
 }
 
-
 #ifndef G__OLDIMPLEMENTATION564
 /******************************************************************
 * G__tracemode()
diff --git a/cint/src/v6_global2.cxx b/cint/src/v6_global2.cxx
index 94c0781cc309d7deeea9fa4000353be9a314f568..01187a45cdf5b9a55fb52668b260231b9c8b4880 100644
--- a/cint/src/v6_global2.cxx
+++ b/cint/src/v6_global2.cxx
@@ -463,6 +463,10 @@ int G__multithreadlibcint = 0;
 void (*G__emergencycallback)();
 #endif
 
+#ifndef G__OLDIMPLEMENTATION1570
+int G__asm_clear_mask = 0;
+#endif
+
 /*
  * Local Variables:
  * c-tab-always-indent:nil
diff --git a/cint/src/v6_loadfile.cxx b/cint/src/v6_loadfile.cxx
index 86701d50203fa0ffebf77f6d2dd45d8932b4e1d9..9be0d424d289a122d7a8636e02d2943ed90ca5da 100644
--- a/cint/src/v6_loadfile.cxx
+++ b/cint/src/v6_loadfile.cxx
@@ -288,6 +288,10 @@ char *item;
 
   buf[0]='\0';
 
+#ifdef G__NOMAKEINFO
+  return("");
+#endif
+
 #ifndef G__OLDIMPLEMENTATION466
   /****************************************************************
   * Environment variable overrides MAKEINFO file if exists.
diff --git a/cint/src/v6_pcode.cxx b/cint/src/v6_pcode.cxx
index 189ef718a415fd8bb83c831fa0fa23e17c2c23b5..ea7c006d008d70395c506ab9e84e62e7a634f3dc 100644
--- a/cint/src/v6_pcode.cxx
+++ b/cint/src/v6_pcode.cxx
@@ -6407,6 +6407,9 @@ int G__clear_asm()
 ******************************************************************/
 int G__asm_clear()
 {
+#ifndef G__OLDIMPLEMENTATION1570
+  if(G__asm_clear_mask) return(0);
+#endif
 #ifdef G__ASM_DBG
   if(G__asm_dbg) G__fprinterr(G__serr,"%3x: CL  FILE:%s LINE:%d\n" ,G__asm_cp
 			 ,G__ifile.name ,G__ifile.line_number);
diff --git a/cint/src/v6_struct.cxx b/cint/src/v6_struct.cxx
index 023cc9d6d032cb2b574924268007b7c463124712..2747c76b6141c2e523a1a1c8c2ab6a2f0cb15025 100644
--- a/cint/src/v6_struct.cxx
+++ b/cint/src/v6_struct.cxx
@@ -177,7 +177,11 @@ int G__using_namespace()
 			      ,&astruct_offset,&astore_struct_offset,&aig15,0);
 
       /* copy variable information */
+#ifndef G__OLDIMPLEMENTATION1569
+      if(avar && ( avar!=var || aig15!= ig15 ) ) {
+#else
       if(avar) {
+#endif
 	int ii;
 #ifndef G__OLDIMPLEMENTATION1543
 	G__savestring(&avar->varnamebuf[aig15],var->varnamebuf[ig15]);