Commit Graph

476 Commits (09929494383eaf743eccfb2043b525970bc34879)

Author SHA1 Message Date
Xavier Leroy 2932d1f4a0 PR#5734: improved Win32 implementation of Unix.gettimeofday
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12949 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-24 11:36:47 +00:00
Xavier Leroy 96ad2a7612 PR#5563: harden Unix.select against file descriptors above FD_SETSIZE
(Picked from r12947 in 4.00 branch)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12948 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-24 11:26:54 +00:00
Gabriel Scherer 3734fe0799 fix PR#5763: ocamlbuild does not give correct flags when running menhir
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12946 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-21 15:16:24 +00:00
Jacques Garrigue e086aa9a8d Fix PR#5758
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-19 06:57:17 +00:00
Damien Doligez 9d3c2b0920 PR#4019: better documentation of Str.matched_string
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-11 14:45:44 +00:00
Damien Doligez 526d44647b PR#5757: GC compaction bug (crash)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-10 10:25:18 +00:00
Wojciech Meyer 80d9a37d6d PR#5468: ocamlbuild should preserve order of parametric tags
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-10 02:41:09 +00:00
Xavier Leroy 9ac1d4937b PR#5707: in AMD64 port, exchange the roles of r10-r11 and r12-r13,
so that r10 and r11 are no longer used for parameter passing,
  and can therefore be destroyed by the dynamic loader without harm.
(Cherry-picked from version/4.00, commit 12907).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-08 16:53:39 +00:00
Alain Frisch 9d45c49928 Fix #5747 ('unused open' warning not given when compiling with -annot).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-03 17:03:49 +00:00
Wojciech Meyer eabfccd2a9 "PR#5597: add instruction trace option 't' to OCAMLRUNPARAM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-02 02:37:17 +00:00
Wojciech Meyer a50bae4545 PR#5652: update Changes file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12903 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-02 01:34:13 +00:00
Wojciech Meyer 4f968563b6 PR#5611: avoid clashes betwen .cmo files and output files during linking
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-01 13:10:10 +00:00
Xavier Leroy 7cb5ba33fc PR#5742: missing bound checks in Array.sub (picking r12891 from 4.00 branch)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12892 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-28 15:08:30 +00:00
Jacques Garrigue 0a11500cb1 fix PR#5738
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12878 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-25 09:54:29 +00:00
Fabrice Le Fessant 3fa58bda89 Fix PR#5735: %apply and %revapply not first class citizens
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12870 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-21 07:12:04 +00:00
Xavier Leroy 094041bdad PR#5731: take destroyed registers into account during scheduling.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12865 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-20 06:54:56 +00:00
Damien Doligez f88c9efcf1 PR#4994: ocaml-mode doesn't work with xemacs21
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12840 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-08 14:32:59 +00:00
Damien Doligez a9c1f42ad2 PR#5719: ocamlyacc generates code that is not warning 33-compliant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-06 14:19:40 +00:00
Damien Doligez f4ec71e64b PR#5712: doc of Format.printf and missing functions in StdLabels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-06 11:55:32 +00:00
Alain Frisch 412ee0f3e0 Support -absname in ocamldep + update man pages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12819 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-03 10:22:35 +00:00
Xavier Leroy d67f25572e PR#5700: crash with native-code stack backtraces under MacOS 10.8 x86-64
(owing to wrong stack alignment in caml_raise_exception)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-02 12:47:08 +00:00
Fabrice Le Fessant 83c5962ac8 Fix PR#5708 : catch Failure "int_of_string" in ocamldebug
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-31 13:19:01 +00:00
Alain Frisch f6f54d325d #4762: QUESTIONQUESTION is no longer a token.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 10:15:10 +00:00
Damien Doligez 0c3a7de507 merge changes from 4.00 branching to 4.00.0 (part 1)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-26 19:21:54 +00:00
Fabrice Le Fessant 229044d83a Fix PR#5698: remove harcoded limit of 200000 labels in emitaux.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 17:33:46 +00:00
Alain Frisch 504f620fc7 #5697: better location for warnings on statement expressions.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 08:57:52 +00:00
Fabrice Le Fessant 930864c9cc Fix PR#5695 (Redoing commit 12756 without unwanted changes)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:18:52 +00:00
Fabrice Le Fessant 808d083b9f Revert commit r12756 containing unwanted changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:15:55 +00:00
Fabrice Le Fessant 5e74e6f0cc Fix PR#5695
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:12:43 +00:00
Xavier Clerc e17f1f82f2 PR#5214: ocamlfind plugin invokes 'cut' utility
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12713 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-16 08:53:51 +00:00
Fabrice Le Fessant 776c46fce8 Fix problem of size of bin-annot files
- Reset most of the fields of Env.t when saving bin-annot files
- Move debugger/envaux.ml to typing/, and add a function to 
    recover environements from bin-annot files.
- Move tools/typedtreeIter.ml to typing/
- Move the code of typing/typedtreeMap.ml from cmt_format.ml



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-12 11:02:18 +00:00
Damien Doligez 5b7fbfba8a PR#5137: caml-types-explore does not work
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 17:51:04 +00:00
Damien Doligez 9d10503a1d PR#5218: use $(MAKE) instead of "make" in Makefiles
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12694 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 15:29:19 +00:00
Damien Doligez 1330131d70 PR#5677: do not use "value" as identifier (genprintval.ml)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 15:03:11 +00:00
Damien Doligez 9c3b2b4784 PR#5279: executable name is not initialized properly in caml_startup_code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 12:58:12 +00:00
Gabriel Scherer 9c275a2e7a PR#5312: remove the Windows @responsefile feature, that conflicted
with '-w @...' command-line warning specifications [breaking change]

This change has relatively wide consequences as it modifies the windows
OCaml runtime: when the runtime computed the argument vector "argv"
passed to the program, it automatically expanded arguments of the form
@foo into the content of the filename "foo" (parsed as a sequence of
command-line arguments). This means that this "feature" was
automatically enabled for all user programs written in OCaml and
linking to the usual runtime.

This conflicted with the more recent feature of the OCaml *compiler*
(which is affected, as an OCaml program), that allows to pass warning
specifications of the form "-w @...", for example -w @ae. On windows,
it would try to replace it by the content of the file "ae", leading to
an error.

Given the warning specifications are widely used in OCaml programs
(causing silly Windows portability problems), and the @reponsefile is
anecdotical at best (at poll [1] on the Caml-list revealed no user
using this feature), it was decided to remove @responsefile
altogether.

[1] see mailing-list thread "[community poll for PR#5312] Do some
OCaml Windows users still use the @responsefile feature?"

This change affects all OCaml programs compiled under Windows. Users
previously relying on the @responsefile feature should now explicitely
expand Sys.argv themselves; use Arg.parse_argv to rerun Arg
command-line handlers on user-provided string arrays.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 11:33:00 +00:00
Gabriel Scherer bc139ae14e PR#5644: Stream.count broken when used with Sapp or Slazy nodes
There is a bug in the way concatenating operations work when combined
with `Sgen`-defined stream (Stream.from, Stream.of_string): the
concatenation functions reset the `count` field to 0, which disturbs
the Sgen producer.

While the fix in the Scons case is easy (instead of 0, set
the count to `original_count - 1`), fixing the Sapp case is more
delicate (we can't predict the size of the prepended stream). Our
technique is to change the stored left-hand-side to not the stream
data only, but the whole stream, count included.
Once we detect the prepended stream was completely consumed, we can
then restore the count to its previous value, so that Sgen's function
can be provided correct count information. This required a change in
the internal `get_data` implementation.

Slazy-constructed streams have the exact same issue: we don't know
their count before forcin them. Again, `get_data` is changed to
dynamically update the count at forcing time.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 09:58:38 +00:00
Damien Doligez d04453c5de PR#5597: register names for instrtrace primitives in embedded bytecode
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 15:38:19 +00:00
Xavier Clerc fa0e0b6ba7 PR#5647: Cannot use install_printer in debugger
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12672 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 12:40:43 +00:00
Xavier Clerc 61ff6edc27 PR#5655: ocamlbuild doesn't pass cflags when building C stubs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12670 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 10:07:26 +00:00
Xavier Clerc da7078d07b PR#5637: invalid printing of anonymous type parameters (camlp4 revised syntax)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12668 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 09:43:49 +00:00
Xavier Clerc c922570d0f PR#5651: printer for abstract data type (camlp4 revised syntax)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12666 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 09:07:43 +00:00
Gabriel Scherer b667a00686 PR#5628: Add Topdirs.remove_directory (and directive #remove_directory) to remove a directory from the load path
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12660 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-07 11:40:33 +00:00
Xavier Leroy 1c7f208fbb PR#5671: initialization of compare_ext field in caml_final_custom_operations()
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12659 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-06 16:45:33 +00:00
Damien Doligez ec0422aa33 PR#5661: fixes for the test suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-27 12:58:21 +00:00
Damien Doligez 6973c3b9da PR#5255: natdynlink detection on powerpc, hurd, sparc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12647 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-26 16:01:05 +00:00
Fabrice Le Fessant b8238a8b61 PR#5662 : typo in md5.c when clearing sensitive data in context
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12642 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-25 15:59:04 +00:00
Damien Doligez f439a4441b follow up of commit 12633 (PR#5131)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12635 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 16:27:34 +00:00
Damien Doligez fe137eedb5 PR#5233: finaliser on weak array gives dangling pointers (crash)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12627 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 14:30:11 +00:00
Xavier Leroy 28c206ad37 PR#5643: issues with .cfi and .loc directives generated by ocamlopt -g
(Picking commit 12610 from version/4.00)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-17 08:17:43 +00:00
Jacques Garrigue d15380d566 update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 23:46:41 +00:00
Alain Frisch 60d0694e9f #5634: parstree rewriters (merge with ast_rewriter branch).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 08:00:27 +00:00
Xavier Leroy 81ca9d7223 PR#5636: issue with pthread_atfork in glibc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12586 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-08 11:36:35 +00:00
Jacques Garrigue aa9ff663b1 Fix PR#4838, PR#4511
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12535 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 08:05:48 +00:00
Jacques Garrigue 6219455e62 Fix PR#5224
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 05:12:44 +00:00
Jacques Garrigue a430934c06 Fix PR#5291
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 04:47:14 +00:00
Xavier Clerc 8889c93af2 Move of the message related to PR#5620, due to backport to 4.00.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12494 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 07:39:13 +00:00
Xavier Leroy 66f05c8e7f Fix for PR#5578 left on trunk but removed from 4.00 because of PR#5578.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12481 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-24 16:41:34 +00:00
Xavier Clerc 397d0040de update related to commit 12473 (fixing PR#5620)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-23 08:23:52 +00:00
Fabrice Le Fessant fef288bd38 Fix PR#5305 : prevent ocamlbuild from complaining about links to _build/
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12452 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 08:37:48 +00:00
Fabrice Le Fessant 621dd2dd5f Fix PR#5555
Add Hashtbl.reset to resize the bucket table to its initial size.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 08:36:25 +00:00
Xavier Leroy ceabedc058 PR#5603: wrong .file directives generated by ocamlopt -g
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12449 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-12 09:51:45 +00:00
Xavier Leroy 4b9cbab50a PR#5610: new unmarshaler didn't freshen object IDs.
Assorted cleanups and additional comments in byterun/intern.c.
More tests in lib/marshal.
Updated Changes file.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12442 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-08 13:49:35 +00:00
Xavier Leroy ad6a2252ff Remove the 'dispose' functions from Bigarray.
(Partial revert of commit 12327, keeping the other good bits.)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-06 08:23:16 +00:00
Wojciech Meyer bfe3edfd71 PR#5599: Update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12421 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-02 19:48:12 +00:00
Pierre Weis 826c4225b5 Adding a word for treatment of %@. Mispelling corrections.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-01 22:11:25 +00:00
Wojciech Meyer bfc2d7ec34 PR#5531: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12401 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-26 00:11:57 +00:00
Wojciech Meyer 43197698fa PR#5318: Update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-25 00:02:02 +00:00
Xavier Leroy b2166e33f5 - Hashtbl:
. Added optional "random" parameter to Hashtbl.create to randomize
      collision patterns and improve security (PR#5572, CVE-2012-0839)
    . Added "randomize" function and "R" parameter to OCAMLRUNPARAM
      to turn randomization on by default (PR#5572, CVE-2012-0839)
- Filename: on-demand (lazy) initialization of the PRNG used by "temp_file".



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-19 13:17:40 +00:00
Xavier Leroy 2330a3b30f PR#3571: in Bigarrays, call msync() before unmapping to commit changes
PR#5463: Bigarray.*.map_file fail if empty array is requested
Bigarray: added "release" functions that free memory and file mappings
just like GC finalization does eventually, but does it immediately.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12327 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-09 10:23:50 +00:00
Xavier Leroy 0d2e9941eb PR#5295: OS threads: problem with caml_c_thread_unregister()
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12325 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-08 17:12:46 +00:00
Xavier Leroy 72ae789dc6 PR#5543: in Bigarray.map_file, try to avoid using lseek() when growing file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12317 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-04 12:12:02 +00:00
Damien Doligez 22e3b040d4 PR#5310: Ratio.create_ratio/create_normalized_ratio have misleading names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-31 22:15:34 +00:00
Damien Doligez 4191b43bc9 PR#5311: better message for warning 23
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-31 20:55:13 +00:00
Jacques Garrigue 40e2854e21 Fix PR#5560
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12286 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-28 00:35:41 +00:00
Alain Frisch 77b7ef9714 #5397: Filename.temp_dir_name should be mutable.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12274 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-26 17:17:35 +00:00
Xavier Leroy af3cafad25 Splitting off the win32caml/ subdirectory (the simplistic Win32 UI for the toplevel). It now lives at https://forge.ocamlcore.org/projects/ocamltopwin/
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12268 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-24 10:37:53 +00:00
Xavier Leroy 90fde3e40e Updated documentation of Random.self_init and Random.float.
Faster implementation of Random.float: to get a 53-bit random mantissa, combining two calls to Random.bits is enough, three was overkill.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12262 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-23 09:58:22 +00:00
Alain Frisch 454a45c2b5 Update Changes for #5551.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-21 11:40:02 +00:00
Xavier Leroy 44b6164bb0 Improve self-initialization of the Random module, using /dev/urandom
when available.  The changes in byterun/win32.c are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 16:12:09 +00:00
Xavier Leroy 5914913c1c PR#4892: non-strict behavior in Array.set
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12238 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 09:27:13 +00:00
Xavier Leroy 4e5eb94ed9 PR#5215: Marshalling of closures now supported if the closures come from dynamically-loaded code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12229 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-13 14:50:41 +00:00
Damien Doligez 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Xavier Leroy a1b1a068f8 PR#5516: in Bigarray C stubs, use C99 / GCC flexible array types if possible
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-27 17:46:05 +00:00
Xavier Leroy 79eab1a6e2 PR#5513: protect against min_int / -1 crashing on x86
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-24 10:13:02 +00:00
Xavier Leroy b5dbeb6611 PR#5511: in Bigarray.reshape, unwarranted limitation on new array dimensions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12180 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:53:49 +00:00
Xavier Leroy 2eecf2d4c0 PR#5487: addition of CFI directives and a few filename/linenumber info to generated amd64 and i386 assembly files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:41:02 +00:00
Wojciech Meyer df19aff00d Reverting "PR#5504: Add Changes entry". For time being - sorry.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12175 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-20 21:36:16 +00:00
Xavier Leroy 6d57d49f5e Optimize away compile-time beta-redexes, as found sometimes in generated code, by Coq's extraction in particular
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12174 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-20 17:45:10 +00:00
Wojciech Meyer afbd4d496c PR#5394: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12173 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 18:35:32 +00:00
Wojciech Meyer 11f4f96928 PR#5504: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 17:30:03 +00:00
Wojciech Meyer cd40fae3e3 PR#5510: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 17:04:42 +00:00
Xavier Leroy e545071c8a Reverting commits 12108 and 12109 concerning PR#4072. I feel the cure (making ocamlc's evaluation order inconsistent with the ZAM push-enter model) is worse than the illness.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 17:21:42 +00:00
Xavier Leroy b07b3032c0 - PR#5509: misclassification of statically-allocated empty array that
falls exactly at beginning of an otherwise unused data page.
- i386/emit_nt.mlp: add zero word at end of data segment, like in other ports.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 16:56:29 +00:00
Fabrice Le Fessant e73cade9b2 Fix PR#5297: compiler does not check %primitive's existence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 09:45:30 +00:00
Fabrice Le Fessant 62b0e4fb10 Fix Changes for last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 09:43:58 +00:00
Xavier Leroy 339bcbb2c6 PR#5064, PR#5485: try to ensure that 4K words of stack are available
before calling into C functions, raising a Stack_overflow exception
otherwise.  This reduces (but does not eliminate) the risk of
segmentation faults due to stack overflow in C code.
Implemented for i386, amd64 and power, under Linux and MacOSX.
Plus: remove some more stuff related to obsoleted platforms (IA64, SunOS 4).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-17 10:12:09 +00:00
Xavier Clerc 79507d54bb PR#5503: error when ocamlbuild is passed an absolute path as build directory
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12154 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-15 09:10:52 +00:00
Damien Doligez e7f5b858c2 More renaming to OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-10 16:15:24 +00:00
Benedikt Meurer 05627e0de4 Merge the new ARM backend into trunk (PR#5433).
Initial merge of the new ARM backend (commit ec5b444c7f) from my development
repository at https://github.com/bmeurer/ocaml-arm/tree/ec5b444c7f .

Compared to the old ARM backend, this one does the following:
- Support for both software and hardware floating-point (VFPv3).
- Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C
  code.
- Supports dynamic linking and large memory models (PR#5049).
- Optional support for position-independent code via a command line option
  -fPIC. This is disabled by default and not required for natdynlink.
- Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for
  Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.).
- Supports both AAPCS (armel) as well as extended VFP calling conventions
  (armhf).
- Supports several special ARM instructions to reduce code size and latency.
- Uses standard ARM EABI runtime functions instead of relying on GCC internals.
- Supports exception backtraces.
- Supports profiling using gprof.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 10:15:24 +00:00
Damien Doligez 94f9c9fa83 cut long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12115 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-03 16:01:21 +00:00
Jacques Garrigue eced476cce Fix PR#5498
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-03 05:58:57 +00:00
Fabrice Le Fessant 3a15ca4ea1 Update Changes for last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12109 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-01 09:31:26 +00:00
Fabrice Le Fessant 2bfba69b77 Backported '%apply' and '%revapply' from 3.12.1+dev to 3.13+dev
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 14:49:39 +00:00
Alain Frisch 8acbeff60b Update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12043 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 10:42:40 +00:00
Xavier Clerc 48d5f48d6d PR#5199: tests are run only for bytecode if either native support is missing,
or a non-empty value is set to "BYTECODE_ONLY" Makefile variable.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12041 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 09:51:16 +00:00
Fabrice Le Fessant 869feeb007 Fix PR#5461
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12033 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 21:57:54 +00:00
Fabrice Le Fessant 28c7bcd42d Fix PR#5475
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12032 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 21:47:36 +00:00
Fabrice Le Fessant 6f9f5cdfdb Fix PR#5479
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 20:32:33 +00:00
Alain Frisch 55688836f4 PR#4688: (Windows) special floating-point values aren't converted to strings correctly.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12030 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 10:23:51 +00:00
Alain Frisch f814bc1fcd #5478: Update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12029 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 09:13:37 +00:00
Xavier Leroy ee95e9fd91 More efficient implementation of {Set,Map}.{filter,partition}
Optimize Set.join just like Map.join was recently.
Added some tests for Set and Map.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12026 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 09:03:16 +00:00
Xavier Leroy 546bccd742 I messed up the distinction between "Bug fixes" and "Feature wishes". Repairing.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-14 09:48:01 +00:00
Xavier Leroy e9123cd60f PR#5327, PR#5329: improvements in Unix.select emulation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-14 09:40:49 +00:00
Fabrice Le Fessant faa64b3053 Fix bug #5476: native code compilation of let rec on float arrays
Applied the two patches of Gabriel Scherer to (1) fix the bug with
float array in let-rec, and (2) add a test-suite for let-rec



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12021 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-13 17:46:21 +00:00
Jacques Garrigue db50558e33 fix PR#5469
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12005 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-10 03:01:50 +00:00
Fabrice Le Fessant d02419cef7 Fix bug #3888 (String.map and Scanf.unescaped)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-08 15:38:38 +00:00
Fabrice Le Fessant 4c4a9fc507 Fix of #5467: no extern C in header files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-07 20:55:28 +00:00
Damien Doligez 2c04ae521e PR#4549: make Filename.dirname/basename POSIX compliant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11999 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-06 14:24:58 +00:00
Damien Doligez 6b4bb576df PR#352: new option to make ocaml read stdin as a script
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11980 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-30 16:28:16 +00:00
Damien Doligez 0c7984afc6 PR#5453: configure doesn't find X11 under Ubuntu/MultiarchSpec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-29 20:42:11 +00:00
Wojciech Meyer 3542301ef7 PR#5454: Update Change log. Correct order of one of the bug fixes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-29 03:13:40 +00:00
Damien Doligez 6e7e555206 formatting and annotation of incompatible changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11967 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 13:24:26 +00:00
Xavier Leroy c3ead2a680 PR#5325 ("remove" solution).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11966 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 10:38:55 +00:00
Alain Frisch 7f7dc416fd Reverting the let.expr syntax (no consensus on the proposal). Sorry for the noise.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-27 09:08:34 +00:00
Wojciech Meyer ddc66298a3 PR#5313: Add Change log entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 19:11:30 +00:00
Jonathan Protzenko b47d5b20f2 Fix #5437: when registering an option with Arg, if the option has an empty doc string, do not include it when printing the usage.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 14:04:18 +00:00
Xavier Leroy bc02593570 PR#5345: optimize checkbound for constant indices.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 09:36:45 +00:00
Jacques Garrigue 16d937aa40 fix PR#5436
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 07:30:18 +00:00
Damien Doligez 19e2bca8ea correct syntax highlighting in emacs (continued)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 15:39:12 +00:00
Xavier Leroy c8f32a4a50 Module Array: faster implementations of "blit", "copy", "sub",
"append" and "concat" (PR#2395, PR#2787, PR#4591)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11913 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 10:36:35 +00:00
Alain Frisch d79455bc76 New syntax for 'custom let bindings': let.simple_expr pat = expr in expr
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 08:58:56 +00:00
Alain Frisch 16c26c6de3 let-like operators.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11894 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 11:22:32 +00:00
Xavier Leroy a40d0432b2 PR#4880: added appropriate event to "assert" so that it shows up properly in stack backtraces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:42:36 +00:00
Alain Frisch c1f154ea70 New option to force the compilers to show absolute paths in error messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:35:43 +00:00
Xavier Leroy b51df176a8 PR#5416: better implementation of set/clear_close_on_exec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 08:59:09 +00:00
Xavier Leroy ca0c236919 PR#4869: rare collisions between assembly labels for code and data
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-18 10:00:56 +00:00
Xavier Leroy 3e42214295 Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
So long and thanks for all the fish.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11882 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-17 11:12:50 +00:00
Xavier Leroy 9178181eae The "DBM" library (interface with Unix DBM key-value stores) is no
longer part of this distribution.  It now lives its own life at
https://forge.ocamlcore.org/projects/camldbm/.  Bye bye, DBM.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11881 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-17 10:45:23 +00:00
Alain Frisch 0b002c286a Update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11313 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-14 10:40:58 +00:00
Jacques Garrigue 6306860e1f fix PR#5343
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11297 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-10 02:51:09 +00:00
Damien Doligez 8b700ead50 better reporting of wrong version for .cmi files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11292 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-29 15:55:49 +00:00
Xavier Leroy 854afdd4e9 Reverted most of previous change re: local labels in AMD64/MacOSX.
The wretched MacOSX "ld -shared" (under 10.6 at least) balks on
subtracting two local labels, while it deigns subtracting two
nonlocal labels.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-15 09:44:07 +00:00
Xavier Leroy fc82a408a3 AMD64/MacOSX code generator: make local asm labels really local. (L100 instead of .L100)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11221 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-15 08:55:43 +00:00
Xavier Clerc 5aa55e0fc8 PR#5330: thread tag with '.top' and '.inferred.mli' targets
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-08-08 09:39:10 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +00:00
Jacques Garrigue 173c44001c finish fixing PR#5322
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11158 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 01:44:00 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Jacques Garrigue b7b719f6f0 fix bug reported by Polux Moon on 2011-07-26
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11151 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 08:48:22 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00