summaryrefslogtreecommitdiff
path: root/otherlibs
Commit message (Collapse)AuthorAgeFilesLines
* Indexing submodule for bigarrayoctachron2016-04-022-59/+114
| | | | | | | | | The objective of this commit is to introduce a short notation for bringing in scope the bigarray index operators and only them. For that purpose, the bigarray index operators are regrouped in a single submodule. This submodule is also included inside the global bigarray module to preserve compatibility and ease of use of the bigarray module.
* Simplify the definition of custom .{} operatorsoctachron2016-04-012-0/+62
| | | | | | | | | | | | | | This commits modify the Bigarray syntax extension in order to facilitate the use of custom .{} operators. The compatibility with the existing Bigarray syntax has been preserved as much as possible. However, this commit will break code which use the Bigarray .{} syntax without opening the Bigarray module first! Like the previous commit, this commit modifies the parser to desugar bigarray1.{index} to ( .{} ) bigarray1 index. Following the bigarray syntax, the index operator used in the desugaring changes if the index is a n-tuple: 1-tuple => .{} 2-tuple => .{,} 3-tuple => .{,,} 4 and more tuples => .{,..,} The bigarray modules has been modified to use this new index operators. Note that this means that these index operators are not anymore accessible without opening the bigarray module.
* Simplify the use of custom .() and .[]octachron2016-04-011-0/+9
| | | | | | | | | | | | | This commit modifies the parser to use the newly defined .() and .[] operators. It also moves the definition of the standard .() and .[] operator for String/Bytes and Array to the pervasives module. Before this commit, expressions of the form array.(index) and string.(index) where desugared to Array.get[_unsafe] array index and Strinf.get[_unsafe] string index. The unsafe or unsafe version were chosen depending on the presence of the "-unsafe" compiler option. Such expression are now desugared to ( .() ) array index and ( .[] ) string index respectively. The same desugar operation is applied to array.(index) <- value which becomes ( .()<- ) array index value. In order to keep the standard semantic for the string and array index operations, these new index operators are defined in the pervasives module using new compiler primitives, e.g. let .() = "%array_opt_get". These new primitives are then mapped to safe or unsafe version depending on the the "-unsafe" compiler option. Consequently, these modifications should have no impact on existing code. With these modifications, defining custom .() and .[] operators should be easier, at the cost of losing access to the standard index operator for either array or string.
* otherlibs/Makefile.nt: delete.whitequark2016-03-172-17/+1
|
* otherlibs/win32unix/Makefile{,.nt,.shared}: merge.whitequark2016-03-173-83/+47
|
* otherlibs/str/Makefile{,.nt}: extract Makefile.shared.whitequark2016-03-173-31/+37
|
* otherlibs/num/Makefile{,.nt}: extract Makefile.shared.whitequark2016-03-173-32/+39
|
* otherlibs/bigarray/Makefile{,.nt}: merge.whitequark2016-03-173-19/+30
|
* otherlibs/Makefile{,.shared,.nt}: merge.whitequark2016-03-173-119/+94
|
* Fix otherlibs/graphics.Alain Frisch2016-03-151-2/+1
|
* Also enable more warnings in otherlibs/ and fix them.Alain Frisch2016-03-1515-106/+147
|
* Merge remote-tracking branch 'origin/4.03' into trunkFrançois Bobot2016-03-119-442/+392
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | travis.yml is kept from trunk Conflicts: .depend Changes Makefile VERSION boot/ocamlc boot/ocamldep boot/ocamllex parsing/parser.mly parsing/pprintast.ml stdlib/hashtbl.ml testsuite/tests/unwind/Makefile tools/check-typo
| * otherlibs/win32unix: factor Makefile.nt and Makefile non-.nt.Adrien Nader2016-03-053-91/+65
| |
| * update .depend and bootstrap compilers before releaseDamien Doligez2016-02-296-351/+327
| |
| * fix Windows makefileDamien Doligez2016-02-191-1/+1
| |
| * tweak tools/check-typo and break more overlong linesDamien Doligez2016-02-192-3/+6
| |
* | For discussion! Enable compilation using Visual C++ 2002 & 2003David Allsopp2016-03-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This bizarre patch results in a full test-suite pass for Visual Studio .NET 2002 & 2003. Without it, the following code segfaults (resulting in 6 failing tests): ```ocaml #load "unix.cma";; let (ifd, _) = Unix.pipe ();; Unix.in_channel_of_descr ifd;; ```
* | Fix compiler limitations in old MSVCDavid Allsopp2016-03-103-0/+26
| | | | | | | | | | | | Older Microsoft C compilers can't generate code for casting unsigned __int64 to double and the __pragma directive is not available for suppressing warnings.
* | Correct missing header #define's in old MSVCDavid Allsopp2016-03-101-0/+5
| |
* | Fix DEBUG_PRINT for older MS C CompilersDavid Allsopp2016-03-101-0/+18
| | | | | | | | | | | | | | | | | | Support was added for variadic macros in the RTM version of Visual Studio 2005 (CL Version 14), but there are variants of the version 14 compiler included in SDKs released before Visual Studio 2005 itself which do not support them. Fix the non-DEBUG version of win32unix to compile correctly and not display a warning for DEBUG_PRINT calls in `otherlibs/win32unix/select.c`.
* | fix Windows makefileDamien Doligez2016-02-191-1/+1
| |
* | tweak tools/check-typo and break more overlong linesDamien Doligez2016-02-192-3/+6
|/
* Update headers for the new license.Damien Doligez2016-02-18259-3110/+3624
| | | | Remains to be done: remove all headers in testsuite/tests.
* clean up whitespace and cut long linesDamien Doligez2016-02-1720-67/+85
|
* Fix typo in 0665172Mark Shinwell2016-02-111-1/+1
|
* Build stdlib, etc. with -O3 in Flambda modeMark Shinwell2016-02-114-4/+24
|
* Use new stat implementation for fstat on WindowsDavid Allsopp2016-02-101-31/+43
|
* Populate st_ino for Unix.stat/lstat on WindowsDavid Allsopp2016-02-101-32/+22
|
* Fix Unix module not working on Windows XPDavid Allsopp2016-02-101-1/+17
| | | | | Unix.symlink requires CreateSymbolicLink which prevents programs from running on Windows XP. Dynamically link the function instead.
* Add Unix.has_symlinkDavid Allsopp2016-02-108-2/+75
|
* Support Unix.symlink on WindowsDavid Allsopp2016-02-108-14/+95
|
* Support Unix.readlink on WindowsDavid Allsopp2016-02-105-41/+145
|
* Support Unix.lstat on WindowsDavid Allsopp2016-02-102-22/+149
|
* Support symbolic links in Win32 Unix.statDavid Allsopp2016-02-101-13/+172
|
* Use _stat64 instead of _stati64 on WindowsDavid Allsopp2016-02-101-9/+9
| | | | | | | | | | | The mingw64 headers create an inconsistency between the MSVC and MinGW ports - mingw64 automatically defines _USE_32BIT_TIME_T on 32-bit Windows, where the Microsoft CRT docs state that should be a user define. The effect is that the mingw64 32-bit port suffers from the year 2038 bug, where the MSVC 32-bit port does not. Given that OCaml uses a double for the time fields anyway and OCaml requires sufficiently modern compilers to be able to rely on a working _stat64 (64-bit time_t and 64-bit st_size), switch from the *i64 to the *64 variants.
* Protect install paths against spaces (on Windows)Christophe Troestler2016-02-103-21/+24
|
* remove ocamlbuild-specific filesGabriel Scherer2016-02-0117-54/+0
|
* Adapt emit_external_warnings and error_if_has_deep_native_repr_attributesNicolas Ojeda Bar2016-01-271-1/+2
|
* typoJeremie Dimino2016-01-271-1/+1
|
* Change function names, improve documentation.Runhang Li2016-01-272-19/+24
| | | | | | | | Change ``byte_size'' to ``size_in_bytes``, change ``kind_byte_size`` to ``kind_size_in_bytes``. Add detailed comment indicating size functions do not consider header of OCaml value.
* Add byte_size and kind_byte_size to BigarrayRunhang Li2016-01-272-0/+46
|
* Merge pull request #22 from bobot/feature/ephemeronsMark Shinwell2016-01-271-4/+5
|\ | | | | GPR#22: Add Ephemerons to OCaml
| * [Stdlib] Ephemeron: add the module in the stdlibFrançois Bobot2016-01-251-4/+5
| |
* | Minor corrections to clean targetsDavid Allsopp2016-01-251-0/+3
|/
* Allow compilation using bootstrapped FlexDLLDavid Allsopp2016-01-152-0/+4
| | | | | | | | | | | | | | | | | Extend the previous patch allowing make -f Makefile.nt flexdll install-flexdll not to require the install-flexdll stage. OCAML_FLEXLINK is utilised as required to allow compilation of the entire system using an in-tree compiled flexlink. The build process simply required the flexdll target to appear before world. opt.opt compiles a native code version of flexlink.exe as flexlink.opt. install always installs flexlink.exe if it was compiled along with any required .manifest files. It also installs the appropriate .o/.obj files to $(INSTALL_LIBDIR). At present, the bootstrapping is not extended to the Cygwin ports.
* Clflags stuff and Arg_helperMark Shinwell2016-01-141-1/+2
|
* merge with trunkMark Shinwell2016-01-128-690/+737
|\
| * Documentation: fix bigarray.mli documentationoctachron2015-12-281-3/+3
| | | | | | | | | | Fix the documentation layout by attaching the documentation comments to their respective type and not the last constructor of these types.
| * GC latency improvementsDamien Doligez2015-12-217-687/+734
| |
* | Fix MakefilesMark Shinwell2015-12-181-0/+1
|/