Commit Graph

293 Commits (1fb4007ece64b1d59e16d7a84639fce1dd69ed45)

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