Anonymous avatar Anonymous committed 8978bc8

ocaml3111rc0

Comments (0)

Files changed (474)

 typing/oprint.cmx: typing/outcometree.cmi parsing/asttypes.cmi \
     typing/oprint.cmi 
 typing/parmatch.cmo: utils/warnings.cmi typing/types.cmi typing/typedtree.cmi \
-    typing/predef.cmi typing/path.cmi utils/misc.cmi parsing/location.cmi \
-    typing/ident.cmi typing/env.cmi typing/datarepr.cmi typing/ctype.cmi \
-    typing/btype.cmi parsing/asttypes.cmi typing/parmatch.cmi 
+    typing/subst.cmi typing/predef.cmi typing/path.cmi utils/misc.cmi \
+    parsing/location.cmi typing/ident.cmi typing/env.cmi typing/datarepr.cmi \
+    typing/ctype.cmi typing/btype.cmi parsing/asttypes.cmi \
+    typing/parmatch.cmi 
 typing/parmatch.cmx: utils/warnings.cmx typing/types.cmx typing/typedtree.cmx \
-    typing/predef.cmx typing/path.cmx utils/misc.cmx parsing/location.cmx \
-    typing/ident.cmx typing/env.cmx typing/datarepr.cmx typing/ctype.cmx \
-    typing/btype.cmx parsing/asttypes.cmi typing/parmatch.cmi 
+    typing/subst.cmx typing/predef.cmx typing/path.cmx utils/misc.cmx \
+    parsing/location.cmx typing/ident.cmx typing/env.cmx typing/datarepr.cmx \
+    typing/ctype.cmx typing/btype.cmx parsing/asttypes.cmi \
+    typing/parmatch.cmi 
 typing/path.cmo: typing/ident.cmi typing/path.cmi 
 typing/path.cmx: typing/ident.cmx typing/path.cmi 
 typing/predef.cmo: typing/types.cmi typing/path.cmi typing/ident.cmi \
 bytecomp/cmo_format.cmi: bytecomp/lambda.cmi typing/ident.cmi 
 bytecomp/dll.cmi: 
 bytecomp/emitcode.cmi: bytecomp/instruct.cmi bytecomp/cmo_format.cmi 
-bytecomp/instruct.cmi: typing/types.cmi parsing/location.cmi \
+bytecomp/instruct.cmi: typing/types.cmi typing/subst.cmi parsing/location.cmi \
     bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi 
 bytecomp/lambda.cmi: typing/types.cmi typing/primitive.cmi typing/path.cmi \
     parsing/location.cmi typing/ident.cmi typing/env.cmi parsing/asttypes.cmi 
 bytecomp/translobj.cmi: bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi 
 bytecomp/typeopt.cmi: typing/typedtree.cmi typing/path.cmi \
     bytecomp/lambda.cmi 
-bytecomp/bytegen.cmo: typing/types.cmi bytecomp/switch.cmi typing/stypes.cmi \
-    typing/primitive.cmi utils/misc.cmi bytecomp/lambda.cmi \
+bytecomp/bytegen.cmo: typing/types.cmi bytecomp/switch.cmi typing/subst.cmi \
+    typing/stypes.cmi typing/primitive.cmi utils/misc.cmi bytecomp/lambda.cmi \
     bytecomp/instruct.cmi typing/ident.cmi utils/config.cmi \
     parsing/asttypes.cmi typing/annot.cmi bytecomp/bytegen.cmi 
-bytecomp/bytegen.cmx: typing/types.cmx bytecomp/switch.cmx typing/stypes.cmx \
-    typing/primitive.cmx utils/misc.cmx bytecomp/lambda.cmx \
+bytecomp/bytegen.cmx: typing/types.cmx bytecomp/switch.cmx typing/subst.cmx \
+    typing/stypes.cmx typing/primitive.cmx utils/misc.cmx bytecomp/lambda.cmx \
     bytecomp/instruct.cmx typing/ident.cmx utils/config.cmx \
     parsing/asttypes.cmi typing/annot.cmi bytecomp/bytegen.cmi 
 bytecomp/bytelibrarian.cmo: utils/misc.cmi utils/config.cmi \
     utils/clflags.cmx utils/ccomp.cmx bytecomp/bytesections.cmx \
     bytecomp/bytelink.cmi 
 bytecomp/bytepackager.cmo: typing/typemod.cmi bytecomp/translmod.cmi \
-    utils/misc.cmi bytecomp/instruct.cmi typing/ident.cmi typing/env.cmi \
-    bytecomp/emitcode.cmi utils/config.cmi bytecomp/cmo_format.cmi \
-    utils/clflags.cmi bytecomp/bytelink.cmi bytecomp/bytegen.cmi \
-    bytecomp/bytepackager.cmi 
+    typing/subst.cmi typing/path.cmi utils/misc.cmi bytecomp/instruct.cmi \
+    typing/ident.cmi typing/env.cmi bytecomp/emitcode.cmi utils/config.cmi \
+    bytecomp/cmo_format.cmi utils/clflags.cmi bytecomp/bytelink.cmi \
+    bytecomp/bytegen.cmi bytecomp/bytepackager.cmi 
 bytecomp/bytepackager.cmx: typing/typemod.cmx bytecomp/translmod.cmx \
-    utils/misc.cmx bytecomp/instruct.cmx typing/ident.cmx typing/env.cmx \
-    bytecomp/emitcode.cmx utils/config.cmx bytecomp/cmo_format.cmi \
-    utils/clflags.cmx bytecomp/bytelink.cmx bytecomp/bytegen.cmx \
-    bytecomp/bytepackager.cmi 
+    typing/subst.cmx typing/path.cmx utils/misc.cmx bytecomp/instruct.cmx \
+    typing/ident.cmx typing/env.cmx bytecomp/emitcode.cmx utils/config.cmx \
+    bytecomp/cmo_format.cmi utils/clflags.cmx bytecomp/bytelink.cmx \
+    bytecomp/bytegen.cmx bytecomp/bytepackager.cmi 
 bytecomp/bytesections.cmo: utils/config.cmi bytecomp/bytesections.cmi 
 bytecomp/bytesections.cmx: utils/config.cmx bytecomp/bytesections.cmi 
 bytecomp/dll.cmo: utils/misc.cmi utils/config.cmi bytecomp/dll.cmi 
     bytecomp/instruct.cmx typing/env.cmx utils/config.cmx \
     bytecomp/cmo_format.cmi utils/clflags.cmx typing/btype.cmx \
     parsing/asttypes.cmi bytecomp/emitcode.cmi 
-bytecomp/instruct.cmo: typing/types.cmi parsing/location.cmi \
+bytecomp/instruct.cmo: typing/types.cmi typing/subst.cmi parsing/location.cmi \
     bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi bytecomp/instruct.cmi 
-bytecomp/instruct.cmx: typing/types.cmx parsing/location.cmx \
+bytecomp/instruct.cmx: typing/types.cmx typing/subst.cmx parsing/location.cmx \
     bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx bytecomp/instruct.cmi 
 bytecomp/lambda.cmo: typing/types.cmi typing/primitive.cmi typing/path.cmi \
     utils/misc.cmi parsing/location.cmi typing/ident.cmi typing/env.cmi \
 #!/bin/sh
 /bin/rm -rf [D-z]* Changes .depend .cvsignore
-cvs update -r ocaml3110 -Pd
+cvs update -r ocaml3111rc0 -Pd
+/.cvsignore/1.15/Tue Jun  2 22:43:01 2009//Tocaml3111rc0
+/.depend/1.142.2.2/Tue Jun  2 22:43:02 2009//Tocaml3111rc0
+/Changes/1.183.2.13/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/INSTALL/1.48.4.1/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/LICENSE/1.19/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/Makefile/1.222.2.3/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/Makefile.nt/1.113.2.1/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/README/1.44.14.1/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/README.win32/1.45.2.1/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/Upgrading/1.4/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/VERSION/1.26.2.13/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/_tags/1.7.4.2/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/configure/1.266.2.4/Tue Jun  2 22:43:03 2009//Tocaml3111rc0
+/myocamlbuild.ml/1.23.2.5/Tue Jun  2 22:43:04 2009//Tocaml3111rc0
+/myocamlbuild_config.mli/1.5/Tue Jun  2 22:43:04 2009//Tocaml3111rc0
 D/asmcomp////
 D/asmrun////
 D/boot////
 D/utils////
 D/win32caml////
 D/yacc////
-/.cvsignore/1.15/Sun Apr 26 05:10:18 2009//Tocaml3110
-/.depend/1.142.2.1/Sun Apr 26 05:10:19 2009//Tocaml3110
-/Changes/1.183.2.8/Sun Apr 26 05:10:19 2009//Tocaml3110
-/INSTALL/1.48.4.1/Sun Apr 26 05:10:20 2009//Tocaml3110
-/LICENSE/1.19/Sun Apr 26 05:10:20 2009//Tocaml3110
-/Makefile/1.222.2.2/Sun Apr 26 05:10:20 2009//Tocaml3110
-/Makefile.nt/1.113.2.1/Sun Apr 26 05:10:20 2009//Tocaml3110
-/README/1.44.14.1/Sun Apr 26 05:10:20 2009//Tocaml3110
-/README.win32/1.45.2.1/Sun Apr 26 05:10:20 2009//Tocaml3110
-/Upgrading/1.4/Sun Apr 26 05:10:20 2009//Tocaml3110
-/VERSION/1.26.2.7/Sun Apr 26 05:10:20 2009//Tocaml3110
-/_tags/1.7.4.1/Sun Apr 26 05:10:20 2009//Tocaml3110
-/configure/1.266.2.1/Sun Apr 26 05:10:20 2009//Tocaml3110
-/myocamlbuild.ml/1.23.2.2/Sun Apr 26 05:10:20 2009//Tocaml3110
-/myocamlbuild_config.mli/1.5/Sun Apr 26 05:10:20 2009//Tocaml3110
-Nocaml3110
+Nocaml3111rc0
+Objective Caml 3.11.1:
+----------------------
+
+Bug fixes:
+- PR#4095: ocamldebug: strange behaviour of control-C
+- PR#4403: ocamldebug: improved handling of packed modules
+- PR#4650: Str.regexp_case_fold mis-handling complemented character sets [^a]
+- PR#4660: Scanf.format_from_string: handling of double quote
+- PR#4666: Unix.exec* failure in multithread programs under MacOS X and FreeBSD
+- PR#4667: debugger out of sync with dynlink changes
+- PR#4678: random "out of memory" error with systhreads
+- PR#4690: issue with dynamic loading under MacOS 10.5
+- PR#4692: wrong error message with options -i and -pack passed to ocamlc
+- PR#4699: in otherlibs/dbm, fixed construction of dlldbm.so.
+- PR#4704: error in caml_modify_generational_global_root()
+- PR#4708: (ocamldoc) improved printing of infix identifiers such as "lor".
+- PR#4722: typo in configure script
+- PR#4729: documented the fact that PF_INET6 is not available on all platforms
+- PR#4730: incorrect typing involving abbreviation "type 'a t = 'a"
+- PR#4731: incorrect quoting of arguments passed to the assembler on x86-64
+- PR#4735: Unix.LargeFile.fstat cannot report size over 32bits on Win32
+- PR#4740: guard against possible processor error in
+           {Int32,Int64,Nativeint}.{div,rem}
+- PR#4745: type inference wrongly produced non-generalizable type variables.
+- PR#4749: better pipe size for win32unix
+- PR#4756: printf: no error reported for wrong format '%_s'
+- PR#4758: scanf: handling of \<newline> by format '%S'
+- PR#4766: incorrect simplification of some type abbreviations.
+- PR#4768: printf: %F does not respect width and precision specifications
+- PR#4769: Format.bprintf fails to flush
+- PR#4775: compiler crash on crazy types (temporary fix)
+- PR#4776: bad interaction between exceptions and classes
+- PR#4780: labltk build problem under Windows.
+- PR#4790: under Windows, map ERROR_NO_DATA Win32 error to EPIPE Unix error.
+- PR#4792: bug in Big_int.big_int_of_int64 on 32-bit platforms.
+- Module Parsing: improved computation of locations when an ocamlyacc rule
+                  starts with an empty nonterminal
+- Type-checker: fixed wrong variance computation for private types
+- x86-32 code generator, MSVC port: wrong "fld" instruction generated.
+- ocamlbuild: incorrectly using the compile-time value of $OCAMLLIB
+- Makefile problem when configured with -no-shared-libs
+- ocamldoc: use dynamic loading in native code
+
+Other changes:
+- Improved wording of various error messages
+  (contributed by Jonathan Davies, Citrix).
+- Support for 64-bit mode in Solaris/x86 (PR#4670).
+
 Objective Caml 3.11.0:
 ----------------------
 
 
 * First public release.
 
-$Id: Changes,v 1.183.2.8 2008-12-03 16:16:30 doligez Exp $
+$Id: Changes,v 1.183.2.13 2009-05-19 14:46:13 doligez Exp $
 #                                                                       #
 #########################################################################
 
-# $Id: Makefile,v 1.222.2.2 2008-10-23 15:29:11 ertai Exp $
+# $Id: Makefile,v 1.222.2.3 2009-05-19 14:46:13 doligez Exp $
 
 # The main Makefile
 
 	$(CAMLOPT) $(COMPFLAGS) -c $<
 
 partialclean::
-	rm -f utils/*.cm[iox] utils/*.[so] utils/*~
-	rm -f parsing/*.cm[iox] parsing/*.[so] parsing/*~
-	rm -f typing/*.cm[iox] typing/*.[so] typing/*~
-	rm -f bytecomp/*.cm[iox] bytecomp/*.[so] bytecomp/*~
-	rm -f asmcomp/*.cm[iox] asmcomp/*.[so] asmcomp/*~
-	rm -f driver/*.cm[iox] driver/*.[so] driver/*~
-	rm -f toplevel/*.cm[iox] toplevel/*.[so] toplevel/*~
-	rm -f tools/*.cm[iox] tools/*.[so] tools/*~
+	for d in utils parsing typing bytecomp asmcomp driver toplevel tools; \
+	  do rm -f $$d/*.cm[iox] $$d/*.annot $$d/*.[so] $$d/*~; done
 	rm -f *~
 
 depend: beforedepend
-3.11.0
+3.11.1+rc0
 
 # The version string is the first line of this file.
 # It must be in the format described in stdlib/sys.mli
 
-# $Id: VERSION,v 1.26.2.7 2008-12-03 16:16:30 doligez Exp $
+# $Id: VERSION,v 1.26.2.13 2009-05-19 14:46:13 doligez Exp $
 <ocamldoc/**>: -debug
 <ocamldoc/*.ml>: ocamldoc_sources
 <ocamldoc/*.ml*>: include_unix, include_str, include_dynlink
-"ocamldoc/odoc.byte": use_unix, use_str, use_dynlink
-"ocamldoc/odoc_opt.native": use_unix, use_str
+<ocamldoc/odoc.{byte,native}>: use_unix, use_str, use_dynlink
 
 <camlp4/**/*.ml*>: camlp4boot, -warn_Alez, warn_Ale
 <camlp4/Camlp4_{config,import}.ml*>: -camlp4boot

asmcomp/CVS/Entries

-/.cvsignore/1.2/Fri Jan 18 15:13:17 2002//Tocaml3110
-/asmgen.ml/1.22/Thu Jul 24 05:35:22 2008//Tocaml3110
-/asmgen.mli/1.8/Tue Nov  6 15:16:55 2007//Tocaml3110
-/asmlibrarian.ml/1.14/Sat Sep 24 16:45:56 2005//Tocaml3110
-/asmlibrarian.mli/1.6/Fri Apr 21 08:10:27 2000//Tocaml3110
-/asmlink.ml/1.78/Thu Jan 31 09:13:07 2008//Tocaml3110
-/asmlink.mli/1.12/Tue Nov  6 15:16:55 2007//Tocaml3110
-/asmpackager.ml/1.26/Thu Nov 15 16:09:57 2007//Tocaml3110
-/asmpackager.mli/1.2/Mon Aug  1 15:51:09 2005//Tocaml3110
-/clambda.ml/1.17/Mon Jan 29 12:10:50 2007//Tocaml3110
-/clambda.mli/1.17/Mon Jan 29 12:10:50 2007//Tocaml3110
-/closure.ml/1.55/Fri Aug  1 12:52:14 2008//Tocaml3110
-/closure.mli/1.5/Wed Nov 17 18:56:30 1999//Tocaml3110
-/cmm.ml/1.21/Mon Jan 29 12:10:50 2007//Tocaml3110
-/cmm.mli/1.21/Mon Jan 29 12:10:50 2007//Tocaml3110
-/cmmgen.ml/1.114/Tue Aug  5 13:35:20 2008//Tocaml3110
-/cmmgen.mli/1.16/Thu Jan 31 09:13:08 2008//Tocaml3110
-/codegen.ml/1.7/Fri Apr 21 08:10:29 2000//Tocaml3110
-/codegen.mli/1.4/Wed Nov 17 18:56:31 1999//Tocaml3110
-/coloring.ml/1.13/Thu Aug 12 13:34:42 2004//Tocaml3110
-/coloring.mli/1.4/Wed Nov 17 18:56:31 1999//Tocaml3110
-/comballoc.ml/1.4/Mon Jan 29 12:10:50 2007//Tocaml3110
-/comballoc.mli/1.2/Wed Nov 17 18:56:32 1999//Tocaml3110
-/compilenv.ml/1.24/Tue Nov  6 15:16:55 2007//Tocaml3110
-/compilenv.mli/1.17/Tue Nov  6 15:16:55 2007//Tocaml3110
-/debuginfo.ml/1.2/Mon Jan 29 12:10:50 2007//Tocaml3110
-/debuginfo.mli/1.2/Mon Jan 29 12:10:50 2007//Tocaml3110
-/emit.mli/1.5/Wed Nov 17 18:56:32 1999//Tocaml3110
-/emitaux.ml/1.12/Mon Jan 29 12:10:50 2007//Tocaml3110
-/emitaux.mli/1.12/Mon Jan 29 12:10:50 2007//Tocaml3110
-/interf.ml/1.15/Mon Jan 29 12:10:50 2007//Tocaml3110
-/interf.mli/1.4/Wed Nov 17 18:56:33 1999//Tocaml3110
-/linearize.ml/1.25/Mon Jan 29 12:10:50 2007//Tocaml3110
-/linearize.mli/1.14/Mon Jan 29 12:10:50 2007//Tocaml3110
-/liveness.ml/1.15/Mon Jan 29 12:10:50 2007//Tocaml3110
-/liveness.mli/1.5/Fri Apr 21 08:10:33 2000//Tocaml3110
-/mach.ml/1.18/Mon Jan 29 12:10:50 2007//Tocaml3110
-/mach.mli/1.18/Mon Jan 29 12:10:50 2007//Tocaml3110
-/printcmm.ml/1.25/Mon Jan 29 12:10:50 2007//Tocaml3110
-/printcmm.mli/1.6/Fri Apr 21 08:10:34 2000//Tocaml3110
-/printlinear.ml/1.13/Mon Jan 29 12:10:50 2007//Tocaml3110
-/printlinear.mli/1.5/Fri Apr 21 08:10:35 2000//Tocaml3110
-/printmach.ml/1.23/Mon Jan 29 12:10:50 2007//Tocaml3110
-/printmach.mli/1.6/Fri Apr 21 08:10:37 2000//Tocaml3110
-/proc.mli/1.16/Wed Nov 17 18:56:35 1999//Tocaml3110
-/reg.ml/1.10/Thu Jun 29 11:44:06 2000//Tocaml3110
-/reg.mli/1.7/Wed Nov 17 18:56:35 1999//Tocaml3110
-/reload.mli/1.6/Wed Nov 17 18:56:35 1999//Tocaml3110
-/reloadgen.ml/1.6/Mon Jan 29 12:10:50 2007//Tocaml3110
-/reloadgen.mli/1.4/Wed Nov 17 18:56:36 1999//Tocaml3110
-/schedgen.ml/1.12/Mon Jan 29 12:10:50 2007//Tocaml3110
-/schedgen.mli/1.6/Wed Nov 17 18:56:36 1999//Tocaml3110
-/scheduling.mli/1.3/Wed Nov 17 18:56:36 1999//Tocaml3110
-/selectgen.ml/1.32/Mon Jan 29 12:10:50 2007//Tocaml3110
-/selectgen.mli/1.8/Mon Jan 29 12:10:50 2007//Tocaml3110
-/selection.mli/1.6/Wed Nov 17 18:56:37 1999//Tocaml3110
-/spill.ml/1.19/Mon Jan 29 12:10:50 2007//Tocaml3110
-/spill.mli/1.4/Wed Nov 17 18:56:38 1999//Tocaml3110
-/split.ml/1.10/Mon Jan 29 12:10:50 2007//Tocaml3110
-/split.mli/1.4/Wed Nov 17 18:56:38 1999//Tocaml3110
-D
+/.cvsignore/1.2/Fri Jan 18 15:13:17 2002//Tocaml3111rc0
+/asmgen.ml/1.22/Thu Jul 24 05:35:22 2008//Tocaml3111rc0
+/asmgen.mli/1.8/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/asmlibrarian.ml/1.14/Sat Sep 24 16:45:56 2005//Tocaml3111rc0
+/asmlibrarian.mli/1.6/Fri Apr 21 08:10:27 2000//Tocaml3111rc0
+/asmlink.ml/1.78/Thu Jan 31 09:13:07 2008//Tocaml3111rc0
+/asmlink.mli/1.12/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/asmpackager.ml/1.26/Thu Nov 15 16:09:57 2007//Tocaml3111rc0
+/asmpackager.mli/1.2/Mon Aug  1 15:51:09 2005//Tocaml3111rc0
+/clambda.ml/1.17/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/clambda.mli/1.17/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/closure.ml/1.55/Fri Aug  1 12:52:14 2008//Tocaml3111rc0
+/closure.mli/1.5/Wed Nov 17 18:56:30 1999//Tocaml3111rc0
+/cmm.ml/1.21/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/cmm.mli/1.21/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/cmmgen.ml/1.114.2.1/Mon Jan 26 17:06:10 2009//Tocaml3111rc0
+/cmmgen.mli/1.16/Thu Jan 31 09:13:08 2008//Tocaml3111rc0
+/codegen.ml/1.7/Fri Apr 21 08:10:29 2000//Tocaml3111rc0
+/codegen.mli/1.4/Wed Nov 17 18:56:31 1999//Tocaml3111rc0
+/coloring.ml/1.13/Thu Aug 12 13:34:42 2004//Tocaml3111rc0
+/coloring.mli/1.4/Wed Nov 17 18:56:31 1999//Tocaml3111rc0
+/comballoc.ml/1.4/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/comballoc.mli/1.2/Wed Nov 17 18:56:32 1999//Tocaml3111rc0
+/compilenv.ml/1.24/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/compilenv.mli/1.17/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/debuginfo.ml/1.2/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/debuginfo.mli/1.2/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/emit.mli/1.5/Wed Nov 17 18:56:32 1999//Tocaml3111rc0
+/emitaux.ml/1.12.12.1/Mon Jan 26 17:06:10 2009//Tocaml3111rc0
+/emitaux.mli/1.12.12.1/Mon Jan 26 17:06:10 2009//Tocaml3111rc0
+/interf.ml/1.15/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/interf.mli/1.4/Wed Nov 17 18:56:33 1999//Tocaml3111rc0
+/linearize.ml/1.25/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/linearize.mli/1.14/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/liveness.ml/1.15/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/liveness.mli/1.5/Fri Apr 21 08:10:33 2000//Tocaml3111rc0
+/mach.ml/1.18/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/mach.mli/1.18/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/printcmm.ml/1.25/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/printcmm.mli/1.6/Fri Apr 21 08:10:34 2000//Tocaml3111rc0
+/printlinear.ml/1.13/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/printlinear.mli/1.5/Fri Apr 21 08:10:35 2000//Tocaml3111rc0
+/printmach.ml/1.23/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/printmach.mli/1.6/Fri Apr 21 08:10:37 2000//Tocaml3111rc0
+/proc.mli/1.16/Wed Nov 17 18:56:35 1999//Tocaml3111rc0
+/reg.ml/1.10/Thu Jun 29 11:44:06 2000//Tocaml3111rc0
+/reg.mli/1.7/Wed Nov 17 18:56:35 1999//Tocaml3111rc0
+/reload.mli/1.6/Wed Nov 17 18:56:35 1999//Tocaml3111rc0
+/reloadgen.ml/1.6/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/reloadgen.mli/1.4/Wed Nov 17 18:56:36 1999//Tocaml3111rc0
+/schedgen.ml/1.12/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/schedgen.mli/1.6/Wed Nov 17 18:56:36 1999//Tocaml3111rc0
+/scheduling.mli/1.3/Wed Nov 17 18:56:36 1999//Tocaml3111rc0
+/selectgen.ml/1.32/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/selectgen.mli/1.8/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/selection.mli/1.6/Wed Nov 17 18:56:37 1999//Tocaml3111rc0
+/spill.ml/1.19/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/spill.mli/1.4/Wed Nov 17 18:56:38 1999//Tocaml3111rc0
+/split.ml/1.10/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/split.mli/1.4/Wed Nov 17 18:56:38 1999//Tocaml3111rc0
+D/alpha////
+D/amd64////
+D/arm////
+D/hppa////
+D/i386////
+D/ia64////
+D/m68k////
+D/mips////
+D/power////
+D/sparc////
-Nocaml3110
+Nocaml3111rc0

asmcomp/alpha/CVS/Entries

-/arch.ml/1.10/Fri Nov 29 15:03:36 2002//Tocaml3110
-/emit.mlp/1.42/Sun Apr 16 23:28:14 2006//Tocaml3110
-/proc.ml/1.7/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.3/Wed Nov 17 18:56:40 1999//Tocaml3110
-/scheduling.ml/1.6/Wed Nov 17 18:56:40 1999//Tocaml3110
-/selection.ml/1.12/Tue Jul 24 08:01:25 2001//Tocaml3110
+/arch.ml/1.10/Fri Nov 29 15:03:36 2002//Tocaml3111rc0
+/emit.mlp/1.42/Sun Apr 16 23:28:14 2006//Tocaml3111rc0
+/proc.ml/1.7/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.3/Wed Nov 17 18:56:40 1999//Tocaml3111rc0
+/scheduling.ml/1.6/Wed Nov 17 18:56:40 1999//Tocaml3111rc0
+/selection.ml/1.12/Tue Jul 24 08:01:25 2001//Tocaml3111rc0
 D

asmcomp/alpha/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/amd64/CVS/Entries

-/arch.ml/1.3/Mon Jan  1 13:07:35 2007//Tocaml3110
-/emit.mlp/1.16.2.2/Sat Nov  8 16:08:09 2008//Tocaml3110
-/emit_nt.mlp/1.7/Fri Jan 11 16:13:11 2008//Tocaml3110
-/proc.ml/1.5/Tue Nov  6 15:16:55 2007//Tocaml3110
-/proc_nt.ml/1.4/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.6/Tue Nov  6 15:16:55 2007//Tocaml3110
-/scheduling.ml/1.1/Mon Jun 30 08:28:44 2003//Tocaml3110
-/selection.ml/1.7.4.1/Wed Oct 29 14:32:01 2008//Tocaml3110
+/arch.ml/1.3/Mon Jan  1 13:07:35 2007//Tocaml3111rc0
+/emit.mlp/1.16.2.4/Sat Mar 28 15:10:04 2009//Tocaml3111rc0
+/emit_nt.mlp/1.7/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
+/proc.ml/1.5.4.1/Sat Mar 28 15:52:13 2009//Tocaml3111rc0
+/proc_nt.ml/1.4/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.6/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/scheduling.ml/1.1/Mon Jun 30 08:28:44 2003//Tocaml3111rc0
+/selection.ml/1.7.4.1/Wed Oct 29 14:32:01 2008//Tocaml3111rc0
 D

asmcomp/amd64/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/amd64/emit.mlp

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: emit.mlp,v 1.16.2.2 2008-11-08 16:08:09 xleroy Exp $ *)
+(* $Id: emit.mlp,v 1.16.2.4 2009-03-28 15:10:04 xleroy Exp $ *)
 
 (* Emission of x86-64 (AMD 64) assembly code *)
 
   bound_error_call := 0;
   `	.text\n`;
   emit_align 16;
-  `	.globl	{emit_symbol fundecl.fun_name}\n`;
+  if macosx && is_generic_function fundecl.fun_name
+  then (* PR#4690 *)
+    `	.private_extern	{emit_symbol fundecl.fun_name}\n`
+  else
+    `	.globl	{emit_symbol fundecl.fun_name}\n`;
   `{emit_symbol fundecl.fun_name}:\n`;
   if !Clflags.gprofile then emit_profile();
   if frame_required() then begin
   let lbl_begin = Compilenv.make_symbol (Some "code_begin") in
   `	.text\n`;
   `	.globl	{emit_symbol lbl_begin}\n`;
-  `{emit_symbol lbl_begin}:\n`
+  `{emit_symbol lbl_begin}:\n`;
+  if macosx then `	nop\n` (* PR#4690 *)
 
 let end_assembly() =
   let lbl_end = Compilenv.make_symbol (Some "code_end") in
   `	.text\n`;
-  if macosx then `	NOP\n`; (* suppress "ld warning: atom sorting error" *)
+  if macosx then `	nop\n`; (* suppress "ld warning: atom sorting error" *)
   `	.globl	{emit_symbol lbl_end}\n`;
   `{emit_symbol lbl_end}:\n`;
   `	.data\n`;

asmcomp/amd64/proc.ml

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: proc.ml,v 1.5 2007-11-06 15:16:55 frisch Exp $ *)
+(* $Id: proc.ml,v 1.5.4.1 2009-03-28 15:52:13 xleroy Exp $ *)
 
 (* Description of the AMD64 processor *)
 
 (* Calling the assembler *)
 
 let assemble_file infile outfile =
-  Ccomp.command (Config.asm ^ " -o " ^ outfile ^ " " ^ infile)
-
+  Ccomp.command (Config.asm ^ " -o " ^
+                 Filename.quote outfile ^ " " ^ Filename.quote infile)

asmcomp/arm/CVS/Entries

-/arch.ml/1.9/Fri Nov 29 15:03:36 2002//Tocaml3110
-/emit.mlp/1.19/Fri Jan 11 16:13:11 2008//Tocaml3110
-/proc.ml/1.9/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.4/Wed Nov 17 18:56:41 1999//Tocaml3110
-/scheduling.ml/1.4/Wed Nov 17 18:56:41 1999//Tocaml3110
-/selection.ml/1.7/Fri Jan 11 16:13:11 2008//Tocaml3110
+/arch.ml/1.9/Fri Nov 29 15:03:36 2002//Tocaml3111rc0
+/emit.mlp/1.19/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
+/proc.ml/1.9/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.4/Wed Nov 17 18:56:41 1999//Tocaml3111rc0
+/scheduling.ml/1.4/Wed Nov 17 18:56:41 1999//Tocaml3111rc0
+/selection.ml/1.7/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
 D

asmcomp/arm/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/cmmgen.ml

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: cmmgen.ml,v 1.114 2008-08-05 13:35:20 xleroy Exp $ *)
+(* $Id: cmmgen.ml,v 1.114.2.1 2009-01-26 17:06:10 xleroy Exp $ *)
 
 (* Translation from closed lambda to C-- *)
 
   end)
 
 let default_apply = IntSet.add 2 (IntSet.add 3 IntSet.empty)
-  (* These apply funs are always present in the main program.
-     TODO: add more, and do the same for send and curry funs
-     (maybe up to 10-15?). *)
+  (* These apply funs are always present in the main program because
+     the run-time system needs them (cf. asmrun/<arch>.S) . *)
 
 let generic_functions shared units =
   let (apply,send,curry) =
 	 List.fold_right IntSet.add ui.Compilenv.ui_send_fun send,
 	 List.fold_right IntSet.add ui.Compilenv.ui_curry_fun curry)
       (IntSet.empty,IntSet.empty,IntSet.empty)
-      units
-  in
-  let apply =
-    if shared then IntSet.diff apply default_apply
-    else IntSet.union apply default_apply
-  in
+      units in
+  let apply = if shared then apply else IntSet.union apply default_apply in
   let accu = IntSet.fold (fun n accu -> apply_function n :: accu) apply [] in
   let accu = IntSet.fold (fun n accu -> send_function n :: accu) send accu in
   IntSet.fold (fun n accu -> curry_function n @ accu) curry accu

asmcomp/emitaux.ml

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: emitaux.ml,v 1.12 2007-01-29 12:10:50 xleroy Exp $ *)
+(* $Id: emitaux.ml,v 1.12.12.1 2009-01-26 17:06:10 xleroy Exp $ *)
 
 (* Common functions for emitting assembly code *)
 
   List.iter emit_frame !frame_descriptors;
   Hashtbl.iter emit_filename filenames;
   frame_descriptors := []
+
+(* Detection of functions that can be duplicated between a DLL and
+   the main program (PR#4690) *)
+
+let isprefix s1 s2 =
+  String.length s1 <= String.length s2
+  && String.sub s2 0 (String.length s1) = s1
+
+let is_generic_function name =
+  List.exists
+    (fun p -> isprefix p name)
+    ["caml_apply"; "caml_curry"; "caml_send"; "caml_tuplify"]
+

asmcomp/emitaux.mli

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: emitaux.mli,v 1.12 2007-01-29 12:10:50 xleroy Exp $ *)
+(* $Id: emitaux.mli,v 1.12.12.1 2009-01-26 17:06:10 xleroy Exp $ *)
 
 (* Common functions for emitting assembly code *)
 
     efa_string: string -> unit }
 
 val emit_frames: emit_frame_actions -> unit
+
+val is_generic_function: string -> bool

asmcomp/hppa/CVS/Entries

-/arch.ml/1.7/Fri Nov 29 15:03:36 2002//Tocaml3110
-/emit.mlp/1.20/Sun Apr 16 23:28:14 2006//Tocaml3110
-/proc.ml/1.8/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.4/Fri Jan 11 16:13:11 2008//Tocaml3110
-/scheduling.ml/1.4/Wed Nov 17 18:56:42 1999//Tocaml3110
-/selection.ml/1.6/Fri Jan 11 16:13:11 2008//Tocaml3110
+/arch.ml/1.7/Fri Nov 29 15:03:36 2002//Tocaml3111rc0
+/emit.mlp/1.20/Sun Apr 16 23:28:14 2006//Tocaml3111rc0
+/proc.ml/1.8/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.4/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
+/scheduling.ml/1.4/Wed Nov 17 18:56:42 1999//Tocaml3111rc0
+/selection.ml/1.6/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
 D

asmcomp/hppa/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/i386/CVS/Entries

-/arch.ml/1.13/Sun Apr 16 23:28:14 2006//Tocaml3110
-/emit.mlp/1.41.2.2/Sat Nov  8 16:08:09 2008//Tocaml3110
-/emit_nt.mlp/1.28/Fri Jan 11 16:13:11 2008//Tocaml3110
-/proc.ml/1.14/Tue Oct 30 12:37:16 2007//Tocaml3110
-/proc_nt.ml/1.8/Fri Jan 11 16:13:11 2008//Tocaml3110
-/reload.ml/1.6/Mon Jan 29 12:10:50 2007//Tocaml3110
-/scheduling.ml/1.3/Fri Feb  4 12:43:18 2000//Tocaml3110
-/selection.ml/1.15/Mon Jan 29 12:10:50 2007//Tocaml3110
+/arch.ml/1.13/Sun Apr 16 23:28:14 2006//Tocaml3111rc0
+/emit.mlp/1.41.2.4/Sat Mar 28 15:10:04 2009//Tocaml3111rc0
+/emit_nt.mlp/1.28.4.1/Sat Mar 21 16:15:47 2009//Tocaml3111rc0
+/proc.ml/1.14/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/proc_nt.ml/1.8/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
+/reload.ml/1.6/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
+/scheduling.ml/1.3/Fri Feb  4 12:43:18 2000//Tocaml3111rc0
+/selection.ml/1.15/Mon Jan 29 12:10:50 2007//Tocaml3111rc0
 D

asmcomp/i386/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/i386/emit.mlp

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: emit.mlp,v 1.41.2.2 2008-11-08 16:08:09 xleroy Exp $ *)
+(* $Id: emit.mlp,v 1.41.2.4 2009-03-28 15:10:04 xleroy Exp $ *)
 
 (* Emission of Intel 386 assembly code *)
 
   bound_error_call := 0;
   `	.text\n`;
   emit_align 16;
-  `	.globl	{emit_symbol fundecl.fun_name}\n`;
+  if macosx && is_generic_function fundecl.fun_name
+  then (* PR#4690 *)
+    `	.private_extern	{emit_symbol fundecl.fun_name}\n`
+  else
+    `	.globl	{emit_symbol fundecl.fun_name}\n`;
   `{emit_symbol fundecl.fun_name}:\n`;
   if !Clflags.gprofile then emit_profile();
   let n = frame_size() - 4 in
   let lbl_begin = Compilenv.make_symbol (Some "code_begin") in
   `	.text\n`;
   `	.globl	{emit_symbol lbl_begin}\n`;
-  `{emit_symbol lbl_begin}:\n`
+  `{emit_symbol lbl_begin}:\n`;
+  if macosx then `	nop\n` (* PR#4690 *)
 
 let end_assembly() =
   let lbl_end = Compilenv.make_symbol (Some "code_end") in
   `	.text\n`;
-  if macosx then `	NOP\n`; (* suppress "ld warning: atom sorting error" *)
+  if macosx then `	nop\n`; (* suppress "ld warning: atom sorting error" *)
   `	.globl	{emit_symbol lbl_end}\n`;
   `{emit_symbol lbl_end}:\n`;
   `	.data\n`;

asmcomp/i386/emit_nt.mlp

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: emit_nt.mlp,v 1.28 2008-01-11 16:13:11 doligez Exp $ *)
+(* $Id: emit_nt.mlp,v 1.28.4.1 2009-03-21 16:15:47 xleroy Exp $ *)
 
 (* Emission of Intel 386 assembly code, MASM syntax. *)
 
             if is_tos src then
               `	fstp	{emit_reg dst}\n`
             else if is_tos dst then
-              `	fld	{emit_reg dst}\n`
+              `	fld	{emit_reg src}\n`
             else begin
               `	fld	{emit_reg src}\n`;
               `	fstp	{emit_reg dst}\n`

asmcomp/ia64/CVS/Entries

-/arch.ml/1.5/Fri Nov 29 15:03:36 2002//Tocaml3110
-/emit.mlp/1.17/Tue Jul 13 12:18:53 2004//Tocaml3110
-/proc.ml/1.6/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.2/Sun Jul 16 02:57:31 2000//Tocaml3110
-/scheduling.ml/1.3/Sun Jul 16 02:57:31 2000//Tocaml3110
-/selection.ml/1.7/Mon May  3 12:27:07 2004//Tocaml3110
+/arch.ml/1.5/Fri Nov 29 15:03:36 2002//Tocaml3111rc0
+/emit.mlp/1.17/Tue Jul 13 12:18:53 2004//Tocaml3111rc0
+/proc.ml/1.6/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.2/Sun Jul 16 02:57:31 2000//Tocaml3111rc0
+/scheduling.ml/1.3/Sun Jul 16 02:57:31 2000//Tocaml3111rc0
+/selection.ml/1.7/Mon May  3 12:27:07 2004//Tocaml3111rc0
 D

asmcomp/ia64/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/m68k/CVS/Entries

-/README/1.1/Fri Feb  4 15:34:43 2000//Tocaml3110
+/README/1.1/Fri Feb  4 15:34:43 2000//Tocaml3111rc0
 D

asmcomp/m68k/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/mips/CVS/Entries

-/arch.ml/1.6/Fri Nov 29 15:03:36 2002//Tocaml3110
-/emit.mlp/1.18/Mon Jan  5 20:25:56 2004//Tocaml3110
-/proc.ml/1.7/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.3/Wed Nov 17 18:56:45 1999//Tocaml3110
-/scheduling.ml/1.2/Wed Nov 17 18:56:45 1999//Tocaml3110
-/selection.ml/1.4/Wed Nov 17 18:56:46 1999//Tocaml3110
+/arch.ml/1.6/Fri Nov 29 15:03:36 2002//Tocaml3111rc0
+/emit.mlp/1.18/Mon Jan  5 20:25:56 2004//Tocaml3111rc0
+/proc.ml/1.7/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.3/Wed Nov 17 18:56:45 1999//Tocaml3111rc0
+/scheduling.ml/1.2/Wed Nov 17 18:56:45 1999//Tocaml3111rc0
+/selection.ml/1.4/Wed Nov 17 18:56:46 1999//Tocaml3111rc0
 D

asmcomp/mips/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/power/CVS/Entries

-/arch.ml/1.12/Wed May 31 08:16:34 2006//Tocaml3110
-/emit.mlp/1.26/Fri Nov  9 15:06:57 2007//Tocaml3110
-/proc.ml/1.14/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.3/Wed Nov 17 18:56:46 1999//Tocaml3110
-/scheduling.ml/1.6/Sat Jun 19 16:13:33 2004//Tocaml3110
-/selection.ml/1.8/Fri Nov  9 15:06:57 2007//Tocaml3110
+/arch.ml/1.12/Wed May 31 08:16:34 2006//Tocaml3111rc0
+/emit.mlp/1.26.4.1/Mon Jan 26 17:06:10 2009//Tocaml3111rc0
+/proc.ml/1.14/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.3/Wed Nov 17 18:56:46 1999//Tocaml3111rc0
+/scheduling.ml/1.6/Sat Jun 19 16:13:33 2004//Tocaml3111rc0
+/selection.ml/1.8/Fri Nov  9 15:06:57 2007//Tocaml3111rc0
 D

asmcomp/power/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmcomp/power/emit.mlp

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: emit.mlp,v 1.26 2007-11-09 15:06:57 frisch Exp $ *)
+(* $Id: emit.mlp,v 1.26.4.1 2009-01-26 17:06:10 xleroy Exp $ *)
 
 (* Emission of PowerPC assembly code *)
 
   call_gc_label := 0;
   float_literals := [];
   int_literals := [];
+  if Config.system = "rhapsody" && is_generic_function fundecl.fun_name
+  then (* PR#4690 *)
+    `	.private_extern	{emit_symbol fundecl.fun_name}\n`
+  else
   `	.globl	{emit_symbol fundecl.fun_name}\n`;
   begin match Config.system with
   | "elf" | "bsd" ->

asmcomp/sparc/CVS/Entries

-/arch.ml/1.8/Fri Nov 29 15:03:08 2002//Tocaml3110
-/emit.mlp/1.24/Sun Apr 16 23:28:15 2006//Tocaml3110
-/proc.ml/1.8/Tue Oct 30 12:37:16 2007//Tocaml3110
-/reload.ml/1.3/Wed Nov 17 18:56:47 1999//Tocaml3110
-/scheduling.ml/1.5/Fri Nov 29 15:03:08 2002//Tocaml3110
-/selection.ml/1.8/Fri Nov 29 15:03:08 2002//Tocaml3110
+/arch.ml/1.8/Fri Nov 29 15:03:08 2002//Tocaml3111rc0
+/emit.mlp/1.24/Sun Apr 16 23:28:15 2006//Tocaml3111rc0
+/proc.ml/1.8/Tue Oct 30 12:37:16 2007//Tocaml3111rc0
+/reload.ml/1.3/Wed Nov 17 18:56:47 1999//Tocaml3111rc0
+/scheduling.ml/1.5/Fri Nov 29 15:03:08 2002//Tocaml3111rc0
+/selection.ml/1.8/Fri Nov 29 15:03:08 2002//Tocaml3111rc0
 D

asmcomp/sparc/CVS/Tag

-Nocaml3110
+Nocaml3111rc0

asmrun/CVS/Entries

-/.cvsignore/1.2/Thu Mar  1 14:35:37 2007//Tocaml3110
-/.depend/1.51.4.2/Mon Nov 24 16:30:40 2008//Tocaml3110
-/Makefile/1.59/Thu Nov 15 13:21:15 2007//Tocaml3110
-/Makefile.nt/1.28/Thu Nov 15 13:21:15 2007//Tocaml3110
-/alpha.S/1.29/Sat Jan  3 12:51:18 2004//Tocaml3110
-/amd64.S/1.12.2.1/Fri Nov  7 10:34:16 2008//Tocaml3110
-/amd64nt.asm/1.5/Thu Mar  1 10:26:51 2007//Tocaml3110
-/arm.S/1.16/Fri Feb 29 14:21:21 2008//Tocaml3110
-/backtrace.c/1.4/Fri Mar 14 13:47:13 2008//Tocaml3110
-/fail.c/1.40/Thu Sep 18 11:23:28 2008//Tocaml3110
-/hppa.S/1.26/Sun Apr 16 23:28:15 2006//Tocaml3110
-/i386.S/1.50/Fri Aug  1 08:04:57 2008//Tocaml3110
-/i386nt.asm/1.20/Mon Jan 29 12:10:52 2007//Tocaml3110
-/ia64.S/1.13/Sat Jan  3 12:51:19 2004//Tocaml3110
-/m68k.S/1.15/Sat Jan  3 12:51:19 2004//Tocaml3110
-/mips.s/1.12/Tue Jul 13 12:18:53 2004//Tocaml3110
-/natdynlink.c/1.5/Tue Apr 22 12:24:10 2008//Tocaml3110
-/natdynlink.h/1.2/Tue Nov  6 15:16:55 2007//Tocaml3110
-/power-aix.S/1.15/Sat Jan  3 12:51:19 2004//Tocaml3110
-/power-elf.S/1.18/Sat Jan  3 12:51:19 2004//Tocaml3110
-/power-rhapsody.S/1.15/Mon Jan 29 12:10:52 2007//Tocaml3110
-/roots.c/1.45/Mon Mar 10 19:56:39 2008//Tocaml3110
-/signals_asm.c/1.6/Fri Jan 11 16:13:11 2008//Tocaml3110
-/signals_osdep.h/1.11.4.1/Fri Nov  7 10:34:16 2008//Tocaml3110
-/sparc.S/1.26/Wed Oct  6 06:33:25 2004//Tocaml3110
-/stack.h/1.35/Tue Nov  6 15:16:55 2007//Tocaml3110
-/startup.c/1.36.2.1/Tue Nov 18 10:24:31 2008//Tocaml3110
+/.cvsignore/1.2/Thu Mar  1 14:35:37 2007//Tocaml3111rc0
+/.depend/1.51.4.2/Mon Nov 24 16:30:40 2008//Tocaml3111rc0
+/Makefile/1.59/Thu Nov 15 13:21:15 2007//Tocaml3111rc0
+/Makefile.nt/1.28/Thu Nov 15 13:21:15 2007//Tocaml3111rc0
+/alpha.S/1.29/Sat Jan  3 12:51:18 2004//Tocaml3111rc0
+/amd64.S/1.12.2.1/Fri Nov  7 10:34:16 2008//Tocaml3111rc0
+/amd64nt.asm/1.5/Thu Mar  1 10:26:51 2007//Tocaml3111rc0
+/arm.S/1.16/Fri Feb 29 14:21:21 2008//Tocaml3111rc0
+/backtrace.c/1.4/Fri Mar 14 13:47:13 2008//Tocaml3111rc0
+/fail.c/1.40/Thu Sep 18 11:23:28 2008//Tocaml3111rc0
+/hppa.S/1.26/Sun Apr 16 23:28:15 2006//Tocaml3111rc0
+/i386.S/1.50/Fri Aug  1 08:04:57 2008//Tocaml3111rc0
+/i386nt.asm/1.20/Mon Jan 29 12:10:52 2007//Tocaml3111rc0
+/ia64.S/1.13/Sat Jan  3 12:51:19 2004//Tocaml3111rc0
+/m68k.S/1.15/Sat Jan  3 12:51:19 2004//Tocaml3111rc0
+/mips.s/1.12/Tue Jul 13 12:18:53 2004//Tocaml3111rc0
+/natdynlink.c/1.5/Tue Apr 22 12:24:10 2008//Tocaml3111rc0
+/natdynlink.h/1.2/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/power-aix.S/1.15/Sat Jan  3 12:51:19 2004//Tocaml3111rc0
+/power-elf.S/1.18/Sat Jan  3 12:51:19 2004//Tocaml3111rc0
+/power-rhapsody.S/1.15/Mon Jan 29 12:10:52 2007//Tocaml3111rc0
+/roots.c/1.45/Mon Mar 10 19:56:39 2008//Tocaml3111rc0
+/signals_asm.c/1.6/Fri Jan 11 16:13:11 2008//Tocaml3111rc0
+/signals_osdep.h/1.11.4.2/Sat Mar 28 15:18:31 2009//Tocaml3111rc0
+/sparc.S/1.26/Wed Oct  6 06:33:25 2004//Tocaml3111rc0
+/stack.h/1.35/Tue Nov  6 15:16:55 2007//Tocaml3111rc0
+/startup.c/1.36.2.1/Tue Nov 18 10:24:31 2008//Tocaml3111rc0
 D
-Nocaml3110
+Nocaml3111rc0

asmrun/signals_osdep.h

 /*                                                                     */
 /***********************************************************************/
 
-/* $Id: signals_osdep.h,v 1.11.4.1 2008-11-07 10:34:16 xleroy Exp $ */
+/* $Id: signals_osdep.h,v 1.11.4.2 2009-03-28 15:18:31 xleroy Exp $ */
 
 /* Processor- and OS-dependent signal interface */
 
   #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(rsp))
   #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr)
 
+/****************** AMD64, Solaris x86 */
+
+#elif defined(TARGET_amd64) && defined (SYS_solaris)
+
+  #include <ucontext.h>
+
+  #define DECLARE_SIGNAL_HANDLER(name) \
+    static void name(int sig, siginfo_t * info, ucontext_t * context)
+
+  #define SET_SIGACT(sigact,name) \
+    sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \
+    sigact.sa_flags = SA_SIGINFO
+
+  typedef greg_t context_reg;
+  #define CONTEXT_PC (context->uc_mcontext.gregs[REG_RIP])
+  #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.gregs[REG_R14])
+  #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15])
+  #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr)
+
 /****************** I386, Linux */
 
 #elif defined(TARGET_i386) && defined(SYS_linux_elf)
   #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(eip))
   #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr)
 
+/****************** I386, Solaris x86 */
+
+#elif defined(TARGET_i386) && defined(SYS_solaris)
+
+  #define DECLARE_SIGNAL_HANDLER(name) \
+    static void name(int sig, siginfo_t * info, void * context)
+
+  #define SET_SIGACT(sigact,name) \
+    sigact.sa_sigaction = (name); \
+    sigact.sa_flags = SA_SIGINFO
+
+  #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr)
+
 /****************** MIPS, all OS */
 
 #elif defined(TARGET_mips)
-/.cvsignore/1.5/Fri Feb  9 15:09:55 2007//Tocaml3110
-/myocamlbuild.boot/1.13.4.1/Thu Oct 23 20:55:58 2008/-kb/Tocaml3110
-/ocamlc/1.376.2.7/Wed Dec  3 16:16:30 2008/-kb/Tocaml3110
-/ocamldep/1.17.2.5/Wed Dec  3 16:16:40 2008/-kb/Tocaml3110
-/ocamllex/1.307.2.5/Wed Dec  3 16:16:41 2008/-kb/Tocaml3110
+/.cvsignore/1.5/Fri Feb  9 15:09:55 2007//Tocaml3111rc0
+/myocamlbuild.boot/1.13.4.2/Thu Mar  5 14:33:37 2009/-kb/Tocaml3111rc0
+/ocamlc/1.376.2.9/Tue May 19 14:46:13 2009/-kb/Tocaml3111rc0
+/ocamldep/1.17.2.6/Tue May 19 14:46:20 2009/-kb/Tocaml3111rc0
+/ocamllex/1.307.2.6/Tue May 19 14:46:21 2009/-kb/Tocaml3111rc0
 D
-Nocaml3110
+Nocaml3111rc0

Binary file modified.

Binary file modified.

Binary file modified.

Binary file modified.

build/CVS/Entries

-/.cvsignore/1.1.2.1/Mon Nov 24 16:30:48 2008//Tocaml3110
-/boot-c-parts-windows.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3110
-/boot-c-parts.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3110
-/boot.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3110
-/buildbot/1.3.4.1/Mon Oct 27 13:45:49 2008//Tocaml3110
-/camlp4-bootstrap.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3110
-/camlp4-byte-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/camlp4-native-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/camlp4-targets.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3110
-/distclean.sh/1.7.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/fastworld.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/install.sh/1.11/Tue Aug  5 13:05:23 2008//Tocaml3110
-/mixed-boot.sh/1.1.2.5/Thu Oct 23 20:32:09 2008//Tocaml3110
-/mkconfig.sh/1.3/Tue Nov  6 15:16:56 2007//Tocaml3110
-/mkmyocamlbuild_config.sh/1.10/Fri Jan 11 16:13:16 2008//Tocaml3110
-/mkruntimedef.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3110
-/myocamlbuild.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3110
-/new-build-system/1.1/Wed Feb  7 09:40:59 2007//Tocaml3110
-/ocamlbuild-byte-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/ocamlbuild-native-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/ocamlbuildlib-native-only.sh/1.2.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
-/otherlibs-targets.sh/1.4/Thu Nov 29 10:32:38 2007//Tocaml3110
-/partial-install.sh/1.9/Fri Jan 11 16:13:16 2008//Tocaml3110
-/targets.sh/1.5/Fri Jan 11 16:13:16 2008//Tocaml3110
-/tolower.sed/1.1/Wed Feb  7 22:57:24 2007//Tocaml3110
-/world.all.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3110
-/world.byte.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3110
-/world.native.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3110
-/world.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3110
+/.cvsignore/1.1.2.1/Mon Nov 24 16:30:48 2008//Tocaml3111rc0
+/boot-c-parts-windows.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/boot-c-parts.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/boot.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/buildbot/1.3.4.1/Mon Oct 27 13:45:49 2008//Tocaml3111rc0
+/camlp4-bootstrap.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/camlp4-byte-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/camlp4-native-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/camlp4-targets.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/distclean.sh/1.7.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/fastworld.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/install.sh/1.11/Tue Aug  5 13:05:23 2008//Tocaml3111rc0
+/mixed-boot.sh/1.1.2.5/Thu Oct 23 20:32:09 2008//Tocaml3111rc0
+/mkconfig.sh/1.3/Tue Nov  6 15:16:56 2007//Tocaml3111rc0
+/mkmyocamlbuild_config.sh/1.10/Fri Jan 11 16:13:16 2008//Tocaml3111rc0
+/mkruntimedef.sh/1.2/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/myocamlbuild.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/new-build-system/1.1/Wed Feb  7 09:40:59 2007//Tocaml3111rc0
+/ocamlbuild-byte-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/ocamlbuild-native-only.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/ocamlbuildlib-native-only.sh/1.2.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
+/otherlibs-targets.sh/1.4/Thu Nov 29 10:32:38 2007//Tocaml3111rc0
+/partial-install.sh/1.9/Fri Jan 11 16:13:16 2008//Tocaml3111rc0
+/targets.sh/1.5/Fri Jan 11 16:13:16 2008//Tocaml3111rc0
+/tolower.sed/1.1/Wed Feb  7 22:57:24 2007//Tocaml3111rc0
+/world.all.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/world.byte.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/world.native.sh/1.3/Mon Oct  8 14:19:34 2007//Tocaml3111rc0
+/world.sh/1.3.4.1/Thu Oct 23 15:29:11 2008//Tocaml3111rc0
 D
-Nocaml3110
+Nocaml3111rc0

bytecomp/CVS/Entries

-/.cvsignore/1.1/Tue Aug 29 08:33:13 1995//Tocaml3110
-/bytegen.ml/1.72/Fri Oct  3 15:02:55 2008//Tocaml3110
-/bytegen.mli/1.6/Wed Nov 17 18:56:59 1999//Tocaml3110
-/bytelibrarian.ml/1.19/Thu May 11 15:50:53 2006//Tocaml3110
-/bytelibrarian.mli/1.6/Mon Mar  6 22:11:06 2000//Tocaml3110
-/bytelink.ml/1.95/Thu Nov 15 15:18:28 2007//Tocaml3110
-/bytelink.mli/1.12/Thu May 11 15:50:53 2006//Tocaml3110
-/bytepackager.ml/1.6/Fri Feb 23 13:44:51 2007//Tocaml3110
-/bytepackager.mli/1.1/Fri Feb  8 16:55:42 2002//Tocaml3110
-/bytesections.ml/1.3/Sun Feb 22 15:07:50 2004//Tocaml3110
-/bytesections.mli/1.3/Sun Feb 22 15:07:50 2004//Tocaml3110
-/cmo_format.mli/1.1/Thu May 11 15:50:53 2006//Tocaml3110
-/dll.ml/1.13/Thu Sep 28 21:36:38 2006//Tocaml3110
-/dll.mli/1.6/Thu Sep 28 21:36:38 2006//Tocaml3110
-/emitcode.ml/1.34/Thu Jul 24 05:35:22 2008//Tocaml3110
-/emitcode.mli/1.15/Thu May 11 15:50:53 2006//Tocaml3110
-/instruct.ml/1.22/Thu Aug 25 15:35:16 2005//Tocaml3110
-/instruct.mli/1.22/Tue Oct 25 15:56:45 2005//Tocaml3110
-/lambda.ml/1.48/Fri Aug  1 16:57:10 2008//Tocaml3110
-/lambda.mli/1.46/Fri Aug  1 16:57:10 2008//Tocaml3110
-/matching.ml/1.71/Fri Aug  1 16:57:10 2008//Tocaml3110
-/matching.mli/1.13/Fri Aug  1 16:57:10 2008//Tocaml3110
-/meta.ml/1.13/Fri Apr 16 13:46:20 2004//Tocaml3110
-/meta.mli/1.13/Fri Apr 16 13:46:27 2004//Tocaml3110
-/printinstr.ml/1.23/Thu Aug 25 15:35:16 2005//Tocaml3110
-/printinstr.mli/1.5/Mon Mar  6 22:11:08 2000//Tocaml3110
-/printlambda.ml/1.55/Fri Aug  1 16:57:10 2008//Tocaml3110
-/printlambda.mli/1.5/Mon Mar  6 22:11:10 2000//Tocaml3110
-/runtimedef.mli/1.4/Wed Nov 17 18:57:01 1999//Tocaml3110
-/simplif.ml/1.25/Wed Mar 19 10:26:56 2008//Tocaml3110
-/simplif.mli/1.3/Wed Nov 17 18:57:01 1999//Tocaml3110
-/switch.ml/1.10/Thu Nov 25 12:44:33 2004//Tocaml3110
-/switch.mli/1.5/Fri Sep 21 15:59:15 2001//Tocaml3110
-/symtable.ml/1.39/Thu May 11 15:50:53 2006//Tocaml3110
-/symtable.mli/1.15/Thu May 11 15:50:53 2006//Tocaml3110
-/translclass.ml/1.43.4.1/Wed Oct  8 13:07:13 2008//Tocaml3110
-/translclass.mli/1.12/Wed Apr  5 02:28:12 2006//Tocaml3110
-/translcore.ml/1.110/Wed Aug 27 10:23:21 2008//Tocaml3110
-/translcore.mli/1.19/Wed May 16 08:21:40 2007//Tocaml3110
-/translmod.ml/1.56/Thu Jul 24 05:35:22 2008//Tocaml3110
-/translmod.mli/1.14/Thu Jul 24 05:35:22 2008//Tocaml3110
-/translobj.ml/1.9.26.1/Wed Oct  8 13:07:13 2008//Tocaml3110
-/translobj.mli/1.6.26.1/Wed Oct  8 13:07:13 2008//Tocaml3110
-/typeopt.ml/1.13/Fri Feb 29 14:21:22 2008//Tocaml3110
-/typeopt.mli/1.4/Mon Feb 28 15:45:50 2000//Tocaml3110
+/.cvsignore/1.1/Tue Aug 29 08:33:13 1995//Tocaml3111rc0
+/bytegen.ml/1.72.2.1/Thu Apr  2 09:06:32 2009//Tocaml3111rc0
+/bytegen.mli/1.6/Wed Nov 17 18:56:59 1999//Tocaml3111rc0
+/bytelibrarian.ml/1.19/Thu May 11 15:50:53 2006//Tocaml3111rc0
+/bytelibrarian.mli/1.6/Mon Mar  6 22:11:06 2000//Tocaml3111rc0
+/bytelink.ml/1.95/Thu Nov 15 15:18:28 2007//Tocaml3111rc0
+/bytelink.mli/1.12/Thu May 11 15:50:53 2006//Tocaml3111rc0
+/bytepackager.ml/1.6.10.1/Thu Apr  2 09:06:32 2009//Tocaml3111rc0
+/bytepackager.mli/1.1/Fri Feb  8 16:55:42 2002//Tocaml3111rc0
+/bytesections.ml/1.3/Sun Feb 22 15:07:50 2004//Tocaml3111rc0
+/bytesections.mli/1.3/Sun Feb 22 15:07:50 2004//Tocaml3111rc0
+/cmo_format.mli/1.1/Thu May 11 15:50:53 2006//Tocaml3111rc0
+/dll.ml/1.13.14.1/Fri May  1 01:46:50 2009//Tocaml3111rc0
+/dll.mli/1.6/Thu Sep 28 21:36:38 2006//Tocaml3111rc0
+/emitcode.ml/1.34/Thu Jul 24 05:35:22 2008//Tocaml3111rc0
+/emitcode.mli/1.15/Thu May 11 15:50:53 2006//Tocaml3111rc0
+/instruct.ml/1.22.20.1/Thu Apr  2 09:06:32 2009//Tocaml3111rc0
+/instruct.mli/1.22.20.1/Thu Apr  2 09:06:32 2009//Tocaml3111rc0
+/lambda.ml/1.48/Fri Aug  1 16:57:10 2008//Tocaml3111rc0
+/lambda.mli/1.46/Fri Aug  1 16:57:10 2008//Tocaml3111rc0
+/matching.ml/1.71/Fri Aug  1 16:57:10 2008//Tocaml3111rc0
+/matching.mli/1.13/Fri Aug  1 16:57:10 2008//Tocaml3111rc0
+/meta.ml/1.13/Fri Apr 16 13:46:20 2004//Tocaml3111rc0
+/meta.mli/1.13/Fri Apr 16 13:46:27 2004//Tocaml3111rc0
+/printinstr.ml/1.23/Thu Aug 25 15:35:16 2005//Tocaml3111rc0
+/printinstr.mli/1.5/Mon Mar  6 22:11:08 2000//Tocaml3111rc0
+/printlambda.ml/1.55/Fri Aug  1 16:57:10 2008//Tocaml3111rc0
+/printlambda.mli/1.5/Mon Mar  6 22:11:10 2000//Tocaml3111rc0
+/runtimedef.mli/1.4/Wed Nov 17 18:57:01 1999//Tocaml3111rc0
+/simplif.ml/1.25/Wed Mar 19 10:26:56 2008//Tocaml3111rc0
+/simplif.mli/1.3/Wed Nov 17 18:57:01 1999//Tocaml3111rc0
+/switch.ml/1.10/Thu Nov 25 12:44:33 2004//Tocaml3111rc0
+/switch.mli/1.5/Fri Sep 21 15:59:15 2001//Tocaml3111rc0
+/symtable.ml/1.39/Thu May 11 15:50:53 2006//Tocaml3111rc0
+/symtable.mli/1.15/Thu May 11 15:50:53 2006//Tocaml3111rc0
+/translclass.ml/1.43.4.1/Wed Oct  8 13:07:13 2008//Tocaml3111rc0
+/translclass.mli/1.12/Wed Apr  5 02:28:12 2006//Tocaml3111rc0
+/translcore.ml/1.110/Wed Aug 27 10:23:21 2008//Tocaml3111rc0
+/translcore.mli/1.19/Wed May 16 08:21:40 2007//Tocaml3111rc0
+/translmod.ml/1.56/Thu Jul 24 05:35:22 2008//Tocaml3111rc0
+/translmod.mli/1.14/Thu Jul 24 05:35:22 2008//Tocaml3111rc0
+/translobj.ml/1.9.26.1/Wed Oct  8 13:07:13 2008//Tocaml3111rc0
+/translobj.mli/1.6.26.1/Wed Oct  8 13:07:13 2008//Tocaml3111rc0
+/typeopt.ml/1.13/Fri Feb 29 14:21:22 2008//Tocaml3111rc0
+/typeopt.mli/1.4/Mon Feb 28 15:45:50 2000//Tocaml3111rc0
 D
-Nocaml3110
+Nocaml3111rc0

bytecomp/bytegen.ml

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: bytegen.ml,v 1.72 2008-10-03 15:02:55 maranget Exp $ *)
+(* $Id: bytegen.ml,v 1.72.2.1 2009-04-02 09:06:32 xclerc Exp $ *)
 
 (*  bytegen.ml : translation of lambda terms to lists of instructions. *)
 
     ev_kind = kind;
     ev_info = info;
     ev_typenv = ev.ev_typenv;
+    ev_typsubst = ev.ev_typsubst;
     ev_compenv = ev.ev_compenv;
     ev_stacksize = ev.ev_stacksize;
     ev_repr = repr }
           ev_kind = kind;
           ev_info = info;
           ev_typenv = lev.lev_env;
+          ev_typsubst = Subst.identity;
           ev_compenv = env;
           ev_stacksize = sz;
           ev_repr =

bytecomp/bytepackager.ml

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: bytepackager.ml,v 1.6 2007-02-23 13:44:51 ertai Exp $ *)
+(* $Id: bytepackager.ml,v 1.6.10.1 2009-04-02 09:06:32 xclerc Exp $ *)
 
 (* "Package" a set of .cmo files into one .cmo file having the
    original compilation units as sub-modules. *)
 
 (* Record and relocate a debugging event *)
 
-let relocate_debug base ev =
-  ev.ev_pos <- base + ev.ev_pos;
-  events := ev :: !events
+let relocate_debug base prefix subst ev =
+  let ev' = { ev with ev_pos = base + ev.ev_pos;
+                      ev_module = prefix ^ "." ^ ev.ev_module;
+                      ev_typsubst = Subst.compose ev.ev_typsubst subst } in
+  events := ev' :: !events
 
 (* Read the unit information from a .cmo file. *)
 
    Accumulate relocs, debug info, etc.
    Return size of bytecode. *)
 
-let rename_append_bytecode oc mapping defined ofs objfile compunit =
+let rename_append_bytecode oc mapping defined ofs prefix subst objfile compunit =
   let ic = open_in_bin objfile in
   try
     Bytelink.check_consistency objfile compunit;
     Misc.copy_file_chunk ic oc compunit.cu_codesize;
     if !Clflags.debug && compunit.cu_debug > 0 then begin
       seek_in ic compunit.cu_debug;
-      List.iter (relocate_debug ofs) (input_value ic);
+      List.iter (relocate_debug ofs prefix subst) (input_value ic);
     end;
     close_in ic;
     compunit.cu_codesize
 (* Same, for a list of .cmo and .cmi files.
    Return total size of bytecode. *)
 
-let rec rename_append_bytecode_list oc mapping defined ofs = function
+let rec rename_append_bytecode_list oc mapping defined ofs prefix subst = function
     [] ->
       ofs
   | m :: rem ->
       match m.pm_kind with
       | PM_intf ->
-          rename_append_bytecode_list oc mapping defined ofs rem
+          rename_append_bytecode_list oc mapping defined ofs prefix subst rem
       | PM_impl compunit ->
           let size =
-            rename_append_bytecode oc mapping defined ofs 
+            rename_append_bytecode oc mapping defined ofs prefix subst
                                    m.pm_file compunit in
+          let id = Ident.create_persistent m.pm_name in
+          let root = Path.Pident (Ident.create_persistent prefix) in
           rename_append_bytecode_list
-            oc mapping (Ident.create_persistent m.pm_name :: defined)
-            (ofs + size) rem
+            oc mapping (id :: defined)
+            (ofs + size) prefix (Subst.add_module id (Path.Pdot (root, Ident.name id, Path.nopos)) subst) rem
 
 (* Generate the code that builds the tuple representing the package module *)
 
     let pos_depl = pos_out oc in
     output_binary_int oc 0;
     let pos_code = pos_out oc in
-    let ofs = rename_append_bytecode_list oc mapping [] 0 members in
+    let ofs = rename_append_bytecode_list oc mapping [] 0 targetname Subst.identity members in
     build_global_target oc targetname members mapping ofs coercion;
     let pos_debug = pos_out oc in
     if !Clflags.debug && !events <> [] then
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: dll.ml,v 1.13 2006-09-28 21:36:38 xleroy Exp $ *)
+(* $Id: dll.ml,v 1.13.14.1 2009-05-01 01:46:50 garrigue Exp $ *)
 
 (* Handling of dynamically-linked libraries *)
 
    Raise [Not_found] if not found. *)
 
 let find_primitive prim_name =
-  let rec find = function
+  let rec find seen = function
     [] ->
       raise Not_found
   | dll :: rem ->
       let addr = dll_sym dll prim_name in
-      if addr == Obj.magic () then find rem else addr in
-  find !opened_dlls
+      if addr == Obj.magic () then find (dll :: seen) rem else begin
+        if seen <> [] then opened_dlls := dll :: List.rev_append seen rem;
+        addr
+      end in
+  find [] !opened_dlls
 
 (* If linking in core (dynlink or toplevel), synchronize the VM
    table of primitive with the linker's table of primitive

bytecomp/instruct.ml

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: instruct.ml,v 1.22 2005-08-25 15:35:16 doligez Exp $ *)
+(* $Id: instruct.ml,v 1.22.20.1 2009-04-02 09:06:32 xclerc Exp $ *)
 
 open Lambda
 
     ev_kind: debug_event_kind;          (* Before/after event *)
     ev_info: debug_event_info;          (* Extra information *)
     ev_typenv: Env.summary;             (* Typing environment *)
+    ev_typsubst: Subst.t;               (* Substitution over types *)
     ev_compenv: compilation_env;        (* Compilation environment *)
     ev_stacksize: int;                  (* Size of stack frame *)
     ev_repr: debug_event_repr }         (* Position of the representative *)

bytecomp/instruct.mli

 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: instruct.mli,v 1.22 2005-10-25 15:56:45 doligez Exp $ *)
+(* $Id: instruct.mli,v 1.22.20.1 2009-04-02 09:06:32 xclerc Exp $ *)
 
 (* The type of the instructions of the abstract machine *)
 
     ev_kind: debug_event_kind;          (* Before/after event *)
     ev_info: debug_event_info;          (* Extra information *)
     ev_typenv: Env.summary;             (* Typing environment *)
+    ev_typsubst: Subst.t;               (* Substitution over types *)
     ev_compenv: compilation_env;        (* Compilation environment *)
     ev_stacksize: int;                  (* Size of stack frame *)
     ev_repr: debug_event_repr }         (* Position of the representative *)

byterun/CVS/Entries

-/.cvsignore/1.13/Fri May  4 14:05:13 2007//Tocaml3110
-/.depend/1.57.2.2/Mon Nov 24 16:30:48 2008//Tocaml3110
-/Makefile/1.64.2.1/Sat Nov  8 16:29:02 2008//Tocaml3110
-/Makefile.common/1.6/Wed Sep 10 05:51:11 2008//Tocaml3110
-/Makefile.nt/1.48.2.1/Wed Nov 26 13:26:53 2008//Tocaml3110
-/alloc.c/1.29/Fri Feb  9 13:31:15 2007//Tocaml3110
-/alloc.h/1.18/Thu Sep 22 14:21:50 2005//Tocaml3110
-/array.c/1.26/Mon Sep  8 09:43:28 2008//Tocaml3110
-/backtrace.c/1.25/Fri Mar 14 13:47:24 2008//Tocaml3110
-/backtrace.h/1.8/Fri Mar 14 13:47:24 2008//Tocaml3110
-/callback.c/1.24/Mon Sep 11 12:12:24 2006//Tocaml3110
-/callback.h/1.14/Mon Sep 11 12:12:24 2006//Tocaml3110
-/compact.c/1.26/Fri Feb 29 12:56:15 2008//Tocaml3110
-/compact.h/1.7/Wed Dec 31 14:20:35 2003//Tocaml3110
-/compare.c/1.39/Fri Jan 11 16:13:16 2008//Tocaml3110
-/compare.h/1.2/Wed Dec 31 14:20:35 2003//Tocaml3110
-/compatibility.h/1.17/Mon Jul 28 11:59:55 2008//Tocaml3110
-/config.h/1.42.4.1/Sun Nov  2 14:30:05 2008//Tocaml3110
-/custom.c/1.15/Thu Sep 22 14:21:50 2005//Tocaml3110
-/custom.h/1.13/Thu Sep 22 14:21:50 2005//Tocaml3110
-/debugger.c/1.31/Tue Jul 29 08:31:41 2008//Tocaml3110
-/debugger.h/1.10/Thu Sep 22 14:21:50 2005//Tocaml3110
-/dynlink.c/1.18/Tue Apr 22 12:24:10 2008//Tocaml3110
-/dynlink.h/1.8/Sun Feb 22 15:07:51 2004//Tocaml3110
-/exec.h/1.14/Tue Jun  1 12:36:34 2004//Tocaml3110
-/extern.c/1.64/Mon Aug  4 11:45:58 2008//Tocaml3110
-/fail.c/1.32/Thu Sep 18 11:23:28 2008//Tocaml3110
-/fail.h/1.27/Thu Sep 18 11:23:28 2008//Tocaml3110
-/finalise.c/1.23/Mon Jul 28 12:03:55 2008//Tocaml3110
-/finalise.h/1.5/Fri Jan  2 19:23:21 2004//Tocaml3110
-/fix_code.c/1.31/Wed May 26 11:10:51 2004//Tocaml3110
-/fix_code.h/1.17/Fri Jan  2 19:23:21 2004//Tocaml3110
-/floats.c/1.50/Sat Aug  2 11:02:28 2008//Tocaml3110
-/freelist.c/1.20.4.1/Tue Nov 18 10:24:42 2008//Tocaml3110
-/freelist.h/1.13.4.1/Tue Nov 18 10:24:43 2008//Tocaml3110
-/gc.h/1.15/Mon Jul 19 13:20:06 2004//Tocaml3110
-/gc_ctrl.c/1.53.4.2/Thu Nov 20 18:33:13 2008//Tocaml3110
-/gc_ctrl.h/1.16/Thu Sep 22 14:21:50 2005//Tocaml3110
-/globroots.c/1.11/Mon Jul 14 06:28:27 2008//Tocaml3110
-/globroots.h/1.5/Mon Mar 10 19:56:39 2008//Tocaml3110
-/hash.c/1.26/Fri Aug  1 14:10:36 2008//Tocaml3110
-/instrtrace.c/1.22/Thu Jan  3 09:37:09 2008//Tocaml3110
-/instrtrace.h/1.9/Thu Sep 22 14:21:50 2005//Tocaml3110
-/instruct.h/1.20/Wed May 26 11:10:51 2004//Tocaml3110
-/int64_emul.h/1.5/Thu Sep 22 14:21:50 2005//Tocaml3110
-/int64_format.h/1.2/Mon Dec 15 18:10:47 2003//Tocaml3110
-/int64_native.h/1.5/Thu Sep 22 14:21:50 2005//Tocaml3110
-/intern.c/1.61/Fri Jan 11 16:13:16 2008//Tocaml3110
-/interp.c/1.97/Fri Aug  1 11:52:31 2008//Tocaml3110
-/interp.h/1.13/Mon Apr 26 14:08:22 2004//Tocaml3110
-/intext.h/1.32/Thu Sep 22 14:21:50 2005//Tocaml3110
-/ints.c/1.51/Fri Jan 11 16:13:16 2008//Tocaml3110
-/io.c/1.77/Sun Feb 25 12:38:36 2007//Tocaml3110
-/io.h/1.32/Sat Sep 27 21:16:29 2008//Tocaml3110
-/lexing.c/1.27/Thu Jan  1 16:42:36 2004//Tocaml3110
-/main.c/1.37/Fri Feb 29 12:56:15 2008//Tocaml3110
-/major_gc.c/1.62.2.1/Wed Nov 12 12:53:07 2008//Tocaml3110
-/major_gc.h/1.23/Fri Jan 11 11:55:36 2008//Tocaml3110
-/md5.c/1.20/Sun Apr 16 23:28:21 2006//Tocaml3110
-/md5.h/1.13/Thu Sep 22 14:21:50 2005//Tocaml3110
-/memory.c/1.46.4.1/Sun Nov  2 14:30:05 2008//Tocaml3110
-/memory.h/1.59.4.1/Sun Nov  2 14:30:05 2008//Tocaml3110
-/meta.c/1.33/Thu Jan 31 09:13:19 2008//Tocaml3110
-/minor_gc.c/1.47/Mon Jul 28 12:03:55 2008//Tocaml3110
-/minor_gc.h/1.18/Fri May  4 14:05:13 2007//Tocaml3110
-/misc.c/1.29/Fri Feb 29 12:56:15 2008//Tocaml3110
-/misc.h/1.33/Fri Feb 29 12:56:15 2008//Tocaml3110
-/mlvalues.h/1.58/Fri Aug  1 14:10:36 2008//Tocaml3110
-/obj.c/1.42/Tue Jan 29 13:11:15 2008//Tocaml3110
-/osdeps.h/1.12/Tue Apr 22 12:24:10 2008//Tocaml3110
-/parsing.c/1.21/Wed Aug  6 09:38:25 2008//Tocaml3110
-/prims.h/1.10/Sun Feb 22 15:07:51 2004//Tocaml3110
-/printexc.c/1.17/Mon Jan 29 12:11:15 2007//Tocaml3110
-/printexc.h/1.5/Thu Jan  1 16:42:37 2004//Tocaml3110
-/reverse.h/1.12/Mon Dec 15 18:10:48 2003//Tocaml3110
-/roots.c/1.30/Mon Mar 10 19:56:39 2008//Tocaml3110
-/roots.h/1.19/Thu Sep 22 14:21:50 2005//Tocaml3110
-/signals.c/1.53/Fri Feb 23 09:29:45 2007//Tocaml3110
-/signals.h/1.27/Fri Feb 23 09:29:45 2007//Tocaml3110
-/signals_byt.c/1.1/Fri Feb 23 09:29:45 2007//Tocaml3110
-/signals_machdep.h/1.3/Fri Feb 23 09:43:14 2007//Tocaml3110
-/stacks.c/1.22/Thu Sep 22 14:21:50 2005//Tocaml3110
-/stacks.h/1.14/Thu Sep 22 14:21:50 2005//Tocaml3110
-/startup.c/1.70.2.1/Tue Nov 18 10:24:43 2008//Tocaml3110
-/startup.h/1.5/Sun Feb 22 15:07:51 2004//Tocaml3110
-/str.c/1.28/Tue Jan 30 09:52:08 2007//Tocaml3110
-/sys.c/1.83/Thu Mar  1 13:37:39 2007//Tocaml3110
-/sys.h/1.16/Sun Feb 25 12:38:36 2007//Tocaml3110
-/terminfo.c/1.23/Thu Jan  1 16:42:38 2004//Tocaml3110
-/ui.h/1.5/Mon Dec 15 18:10:49 2003//Tocaml3110
-/unix.c/1.35.2.1/Wed Dec  3 12:39:44 2008//Tocaml3110
-/weak.c/1.29/Wed Sep 17 14:55:30 2008//Tocaml3110
-/weak.h/1.7/Thu Jan  1 16:42:38 2004//Tocaml3110
-/win32.c/1.36/Tue Apr 22 12:24:10 2008//Tocaml3110
+/.cvsignore/1.13/Fri May  4 14:05:13 2007//Tocaml3111rc0
+/.depend/1.57.2.2/Mon Nov 24 16:30:48 2008//Tocaml3111rc0
+/Makefile/1.64.2.3/Wed May 13 05:00:48 2009//Tocaml3111rc0
+/Makefile.common/1.6/Wed Sep 10 05:51:11 2008//Tocaml3111rc0
+/Makefile.nt/1.48.2.1/Wed Nov 26 13:26:53 2008//Tocaml3111rc0
+/alloc.c/1.29/Fri Feb  9 13:31:15 2007//Tocaml3111rc0
+/alloc.h/1.18/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/array.c/1.26/Mon Sep  8 09:43:28 2008//Tocaml3111rc0
+/backtrace.c/1.25/Fri Mar 14 13:47:24 2008//Tocaml3111rc0
+/backtrace.h/1.8/Fri Mar 14 13:47:24 2008//Tocaml3111rc0
+/callback.c/1.24/Mon Sep 11 12:12:24 2006//Tocaml3111rc0
+/callback.h/1.14/Mon Sep 11 12:12:24 2006//Tocaml3111rc0
+/compact.c/1.26/Fri Feb 29 12:56:15 2008//Tocaml3111rc0
+/compact.h/1.7/Wed Dec 31 14:20:35 2003//Tocaml3111rc0
+/compare.c/1.39/Fri Jan 11 16:13:16 2008//Tocaml3111rc0
+/compare.h/1.2/Wed Dec 31 14:20:35 2003//Tocaml3111rc0
+/compatibility.h/1.17/Mon Jul 28 11:59:55 2008//Tocaml3111rc0
+/config.h/1.42.4.1/Sun Nov  2 14:30:05 2008//Tocaml3111rc0
+/custom.c/1.15/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/custom.h/1.13/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/debugger.c/1.31/Tue Jul 29 08:31:41 2008//Tocaml3111rc0
+/debugger.h/1.10/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/dynlink.c/1.18/Tue Apr 22 12:24:10 2008//Tocaml3111rc0
+/dynlink.h/1.8/Sun Feb 22 15:07:51 2004//Tocaml3111rc0
+/exec.h/1.14/Tue Jun  1 12:36:34 2004//Tocaml3111rc0
+/extern.c/1.64/Mon Aug  4 11:45:58 2008//Tocaml3111rc0
+/fail.c/1.32/Thu Sep 18 11:23:28 2008//Tocaml3111rc0
+/fail.h/1.27/Thu Sep 18 11:23:28 2008//Tocaml3111rc0
+/finalise.c/1.23.2.1/Mon May 18 09:37:46 2009//Tocaml3111rc0
+/finalise.h/1.5/Fri Jan  2 19:23:21 2004//Tocaml3111rc0
+/fix_code.c/1.31/Wed May 26 11:10:51 2004//Tocaml3111rc0
+/fix_code.h/1.17/Fri Jan  2 19:23:21 2004//Tocaml3111rc0
+/floats.c/1.50/Sat Aug  2 11:02:28 2008//Tocaml3111rc0
+/freelist.c/1.20.4.1/Tue Nov 18 10:24:42 2008//Tocaml3111rc0
+/freelist.h/1.13.4.1/Tue Nov 18 10:24:43 2008//Tocaml3111rc0
+/gc.h/1.15/Mon Jul 19 13:20:06 2004//Tocaml3111rc0
+/gc_ctrl.c/1.53.4.2/Thu Nov 20 18:33:13 2008//Tocaml3111rc0
+/gc_ctrl.h/1.16/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/globroots.c/1.11.2.1/Sat Mar 28 15:26:37 2009//Tocaml3111rc0
+/globroots.h/1.5/Mon Mar 10 19:56:39 2008//Tocaml3111rc0
+/hash.c/1.26/Fri Aug  1 14:10:36 2008//Tocaml3111rc0
+/instrtrace.c/1.22/Thu Jan  3 09:37:09 2008//Tocaml3111rc0
+/instrtrace.h/1.9/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/instruct.h/1.20/Wed May 26 11:10:51 2004//Tocaml3111rc0
+/int64_emul.h/1.5.18.1/Sat Mar 28 18:34:19 2009//Tocaml3111rc0
+/int64_format.h/1.2/Mon Dec 15 18:10:47 2003//Tocaml3111rc0
+/int64_native.h/1.5.18.1/Sat Mar 28 18:34:19 2009//Tocaml3111rc0
+/intern.c/1.61/Fri Jan 11 16:13:16 2008//Tocaml3111rc0
+/interp.c/1.97/Fri Aug  1 11:52:31 2008//Tocaml3111rc0
+/interp.h/1.13/Mon Apr 26 14:08:22 2004//Tocaml3111rc0
+/intext.h/1.32/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/ints.c/1.51.4.2/Sat Mar 28 18:43:08 2009//Tocaml3111rc0
+/io.c/1.77/Sun Feb 25 12:38:36 2007//Tocaml3111rc0
+/io.h/1.32/Sat Sep 27 21:16:29 2008//Tocaml3111rc0
+/lexing.c/1.27/Thu Jan  1 16:42:36 2004//Tocaml3111rc0
+/main.c/1.37/Fri Feb 29 12:56:15 2008//Tocaml3111rc0
+/major_gc.c/1.62.2.1/Wed Nov 12 12:53:07 2008//Tocaml3111rc0
+/major_gc.h/1.23/Fri Jan 11 11:55:36 2008//Tocaml3111rc0
+/md5.c/1.20/Sun Apr 16 23:28:21 2006//Tocaml3111rc0
+/md5.h/1.13/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/memory.c/1.46.4.1/Sun Nov  2 14:30:05 2008//Tocaml3111rc0
+/memory.h/1.59.4.1/Sun Nov  2 14:30:05 2008//Tocaml3111rc0
+/meta.c/1.33/Thu Jan 31 09:13:19 2008//Tocaml3111rc0
+/minor_gc.c/1.47/Mon Jul 28 12:03:55 2008//Tocaml3111rc0
+/minor_gc.h/1.18/Fri May  4 14:05:13 2007//Tocaml3111rc0
+/misc.c/1.29/Fri Feb 29 12:56:15 2008//Tocaml3111rc0
+/misc.h/1.33/Fri Feb 29 12:56:15 2008//Tocaml3111rc0
+/mlvalues.h/1.58/Fri Aug  1 14:10:36 2008//Tocaml3111rc0
+/obj.c/1.42/Tue Jan 29 13:11:15 2008//Tocaml3111rc0
+/osdeps.h/1.12/Tue Apr 22 12:24:10 2008//Tocaml3111rc0
+/parsing.c/1.21/Wed Aug  6 09:38:25 2008//Tocaml3111rc0
+/prims.h/1.10/Sun Feb 22 15:07:51 2004//Tocaml3111rc0
+/printexc.c/1.17/Mon Jan 29 12:11:15 2007//Tocaml3111rc0
+/printexc.h/1.5/Thu Jan  1 16:42:37 2004//Tocaml3111rc0
+/reverse.h/1.12/Mon Dec 15 18:10:48 2003//Tocaml3111rc0
+/roots.c/1.30/Mon Mar 10 19:56:39 2008//Tocaml3111rc0
+/roots.h/1.19/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/signals.c/1.53/Fri Feb 23 09:29:45 2007//Tocaml3111rc0
+/signals.h/1.27/Fri Feb 23 09:29:45 2007//Tocaml3111rc0
+/signals_byt.c/1.1/Fri Feb 23 09:29:45 2007//Tocaml3111rc0
+/signals_machdep.h/1.3/Fri Feb 23 09:43:14 2007//Tocaml3111rc0
+/stacks.c/1.22/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/stacks.h/1.14/Thu Sep 22 14:21:50 2005//Tocaml3111rc0
+/startup.c/1.70.2.1/Tue Nov 18 10:24:43 2008//Tocaml3111rc0
+/startup.h/1.5/Sun Feb 22 15:07:51 2004//Tocaml3111rc0
+/str.c/1.28/Tue Jan 30 09:52:08 2007//Tocaml3111rc0