Commit Graph

305 Commits (715ea44322710dfb69537770b5cefb6e63ee9cad)

Author SHA1 Message Date
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