summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-12-13update ChangesGabriel Scherer
From: Gabriel Scherer <gabriel.scherer@gmail.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13PR6712: Ignore (-traverse) common VCS directories in ocamlbuild.Gabriel Scherer
From: Peter Zotov <whitequark@whitequark.org> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15668 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Update manpageGabriel Scherer
From: Hugo Heuzard <hugo.heuzard@gmail.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15667 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Allow Android builds with systhreads support.Gabriel Scherer
From: Peter Zotov <whitequark@whitequark.org> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15666 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Since r10c, Android NDK includes sys/ucontext.h.Gabriel Scherer
From: Peter Zotov <whitequark@whitequark.org> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15665 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13remove unnecessary Obj.magic (Grégoire Henry)Gabriel Scherer
From: Gabriel Scherer <gabriel.scherer@gmail.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15664 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13update Changes for custom index operatorsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15663 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Simplify the definition of custom .{} operatorsGabriel Scherer
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. From: octachron <octa@polychoron.fr> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15662 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Simplify the use of custom .() and .[]Gabriel Scherer
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. From: octachron <octa@polychoron.fr> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15661 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13Add a special syntax for index operatorsGabriel Scherer
This commit introduces a new syntax for index operators. Six core parenthesis operator are added: .(), .[], .{}, .{,}, .{,,}, .{,..,}. The .{,}/.{,,}/.{,,,} operators are defined for compatibility with the Bigarray syntax extension. Each core index operator is available in a access/assignement versions. For instance, .() is declined in * .() : index operator * .()<- : indexed assignment operator The general syntax for these index operators as implemented in the parser is index_operator::= index_operator_core [<-] From: octachron <octa@polychoron.fr> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15660 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13harden testsuite/makefile/Makefile.dlambda wrt identifiers with quotesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15659 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13ocamldebug: fix printing of variables of lazy typeGabriel Scherer
"print a" in ocamldebug when a is a forced lazy value segfaults on all OCaml versions I tested it on. This comes from the fact that the debugcomm.ml re-implementation of the Obj module (talking over the debugging socket) implements Obj.tag without special-casing integers (that is, testing is_block first), and always assumes its input is a block. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15658 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13rewrite cycle-detection in genprintval.ml to use O instead of ObjGabriel Scherer
(see previous commit) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15657 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13rewrite the printing of Lazy values in toplevel/genprintval.mlGabriel Scherer
The code previously used Lazy.is_val to know whether the value was already-evaluated (and, in this case, Lazy.force to extract this value and print it more precisely). But it lies inside a functor that is instantiated over different implementations of Obj, while Lazy.{is_val,force} force the use of the Obj module of the standard library. This could cause segfaults when this code is called from the debugger, which instantiates it with a different Obj module talking over a socket. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15656 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13'Did you mean' for instance variablesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15655 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13'Did you mean' for unbound method namesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15654 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13typecore.ml: minor refactoringGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15653 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13simplify spellchecking of labels in typecore.ml:Gabriel Scherer
By computing the list of valid names at Wrong_name raising point, we can remove the logic to reconstruct the set of valid names to draw suggestion from after the fact: - no spellchecking-related code in the NameChoice functor - seamlessly extends to fields of inline records (were not spellchecked before) I made the type of the "wrong name" in the Wrong_name exception more precise, from Longident.t to string. The rationale is that: - we only raise this exception when the longident happens to be a (Lident str) - the list of valid names is a list of field or variant names; those are strings rather than idents git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13'Did you mean' for variables missing on one side of an or-patternGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13simplify the spellcheck functionsGabriel Scherer
- expose the core spellchecking functionality in Misc rather than Typetexp - remove the too high-order (yet insufficiently parametric) Typetexp.spellcheck from the public interface - rewrite the spellchecking functions for variants and fields in Typecore from the Misc functions rather than reusing Typetexp.spellcheck git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15650 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-12apply GPR123: fix stupid bug in opttoploopDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-12Start tidying up the runtime:Damien Doligez
- document most of the "size" and "length" parameters and global variables, specifying bytes or words. Change some of them from bytes to words. - start getting rid of "char *" and use sensible types instead. - other small changes git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15647 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-10#6688: fix comment.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15646 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-10#6688: allow val declarations as structure items.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15645 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-09fix typo in help textDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15644 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-08Fix PR#6680Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15640 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-08fix PR#6690Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15637 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06update ChangesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15636 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06toplevel: be explicit about what path are used forGabriel Scherer
From: Pierre Chambart <pierre.chambart@ocamlpro.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15635 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06toplevel: generic printers are only allowed with 'new' printer style.Gabriel Scherer
From: Pierre Chambart <pierre.chambart@ocamlpro.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15634 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06toplevel: extends #install_printer to accept parameterised printersGabriel Scherer
From: Pierre Chambart <pierre.chambart@ocamlpro.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15633 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-06toplevel: allows the extension of 'genprintval.ml' with parameterised printer.Gabriel Scherer
From: Pierre Chambart <pierre.chambart@ocamlpro.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15632 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-03Avoid an index-out-of-bound fatal error when the primitive name is empty.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15621 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-02Merge Mem32/Mem64.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15620 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-01Import the abstract_intel_emit branch (merge emit.mlp and emit_nt.mlp by ↵Alain Frisch
going through an AST of the assembly language). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-01Sync with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15618 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-01Adapt comment to curried calling convention.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15617 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-28Support for the byte directive under solaris 32-bit.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15616 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-28Fix for mingw/msvc ports.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15615 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27Adapt 32-bit emit.mlp to curried style.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15614 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27Use curried style for X86_dsl. Will adapt 32-bit emit.mlp later.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15613 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27Rename Intel_* to X86_*.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27Be explicit about the operand ordering.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27Sync with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15610 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-25intel_*: change copyright dates and some cosmetic changesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15609 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-25correct PR#6674Luc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-25Use specialized marshal module in threads.cma.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-23PR#6640: add 'precious' as a builtin-useful tagGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-23testsuite/lib-hashtbl: use LICENSE rather than /usr/share/dict/words to ↵Gabriel Scherer
avoid excessive test time git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15604 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-23update ChangesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15603 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02