summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-06-09PR#6418: fix format regression on "@{<..%d..%s..>" (Benoît Vaugon)Gabriel Scherer
To be able to compile this patch, you should temporarily apply the following patch to bootstrap the format type change: > diff -Naur old/typing/typecore.ml new/typing/typecore.ml > --- old/typing/typecore.ml 2014-06-06 03:37:03.240926150 +0200 > +++ new/typing/typecore.ml 2014-06-06 03:37:24.696926699 +0200 > @@ -2956,7 +2956,7 @@ > | Theta rest -> > mk_constr "Theta" [ mk_fmt rest ] > | Formatting (fmting, rest) -> > - mk_constr "Formatting" [ mk_formatting fmting; mk_fmt rest ] > + mk_constr "Formatting_lit" [ mk_formatting fmting; mk_fmt rest ] > | Reader rest -> > mk_constr "Reader" [ mk_fmt rest ] > | Scan_char_set (width_opt, char_set, rest) -> Bootstrap process: make core apply the patch above make core make promote-cross make partialclean revert the patch above, apply the commit make partialclean make core make coreboot git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14973 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09Fix PR#6417: sprintf broken when local module named Pervasives is in scopeGabriel Scherer
(Backport from Jacques' commit 4.02@14921) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09Makefile factorizationGabriel Scherer
reducing world's sequentialization consistently improves parallel build times git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14971 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09bootstrapGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14970 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-06stop doing chmod -w on utils/config.ml (PR 6319)Mark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14967 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05Fix for PR#6441 (Stefan Holdermans)Gabriel Scherer
During closure conversion, the right-hand side of a functional binding in a recursive binding group is now always closed as a named expression rather than an anonymous expression. As a result, direct recursive calls do not need to retrieve their target from a closure environment. This does not only result in more efficient code being generated, but also avoids a potential blocker for successful tail-call detection during pseudo-instruction selection. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14966 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05Reflecting commit 14963 on version/4.02:Xavier Leroy
PR#2719: wrong scheduling of bound checks within a try...with Invalid_argument -> _ ... git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05still debugging the ci-build script (take 3)Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05still debugging the ci-build scriptDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14961 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05debugging the ci-build scriptDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05Reflecting commit 14958 on version/4.02:Xavier Leroy
Missing dependencies on the pack, causing parallel make to fail. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14959 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04fix PR#6431 (patch by Benoît Vaugon)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14954 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04PR#5547: ocamlbuild reverts to using -no-ocamlfind by defaultGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14952 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04Reflecting commit 14950 on version/4.02:Xavier Leroy
PR#6283: increase alignment to work around a linking error. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-03Fix regression introduced by commit 14809. (Cherry pick commit 14946 from ↵Alain Frisch
version/4.02.) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14947 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02ci-build: go to the right directory before parsing command-line optionsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02Reflecting commit r14943 on version/4.02:Xavier Leroy
PR#6082: on x86-32, enforce 16-byte stack alignment for compatibility with recent GCC and Clang. Win32/MSVC keeps 4-byte stack alignment. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14944 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02tools/ci-build: add possibility of changing directory on unix-like architecturesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02add option -patch1 to ci-build scriptDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30merge from 4.02 (rev 14931): update instructions for 32-bit builds on Mac OS ↵Mark Shinwell
X (PR 6196) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14932 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30merge from 4.02 (rev. 14929): add configure detection of mkstemp, remove old ↵Mark Shinwell
HAVE_MKSTEMP conditional, rename HAVE_MKSTEMP -> HAS_MKSTEMP git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30merge from 4.02: rev. 14858, Adding #ppx toplevel directive (patch by Peter ↵Mark Shinwell
Zotov, github #54). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14928 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30PR 6439 part 2: use sysconf instead of the deprecated getpagesize functionMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30PR 6439 part 1: fix mistake in backtrace.cMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-25copy attributions from 4.02 branch and add a header for the next versionDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-25Reflecting commit 14916 on version/4.02:Xavier Leroy
PR#6442: prevent re-sharing of "+0.0" and "-0.0". git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14917 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-23fix gc-roots test case for no-naked-pointersMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14913 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22Fix ocamldoc test to follow new interface; add object type testMaxence Guesdon
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14910 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22PR#6274: allow doc comments on object typesMaxence Guesdon
(thanks to Thomas Refis) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22Changes: PR#6425Maxence Guesdon
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22PR#6425: fix generation of man pages, handling variant constructors and ↵Maxence Guesdon
record fields git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14902 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-21format+gadts: make format types "relational" to fix %(...%) typingGabriel Scherer
See the long comment in pervasives.ml for an explanation of the change. The short summary is that we need to prove more elaborate properties between the format types involved in the typing of %(...%), and that proving things by writing GADT functions in OCaml reveals that Coq's Ltac is a miracle of usability. Proofs on OCaml GADTs are runtime functions that do have a runtime semantics: it is legitimate to hope that those proof computations are as simple as possible, but the current implementation was optimized for feasability, not simplicity. François Bobot has some interesting suggestions to simplify the reasoning part (with more equality reasoning where I used transitivity and symmetry of the relation profusely), which may make the code simpler in the future (and possibly more efficient: the hope is that only %(...%) users will pay a proof-related cost). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-18PR#5371: a partial patch by Edwin Török to fix the FreeBSD failureGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-16update .dependGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-16Liveness & Deadcode: fix i386-specific issue with move instructions accessingXavier Leroy
the x87 FP stack, which must not be eliminated. CSEgen: harden against the same x87-specific issue + against reuse of values in fixed hardware registers that were destroyed by a prior operation. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14877 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-15fix PR#6415: format had forgotten about 'b' boxesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14874 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14replay trunk@13911: better behavior of printf on nan/infinity floatsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14871 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14replay trunk@14523: warn on non-principal format6 coercionsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14869 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14Use a nominal datatype for CamlinternalFormat.format6Gabriel Scherer
This should make the type-checking of formats simpler and more robust: instead of trying to find a pair as previously, we can now use the path of the format6 type directly. A nice side-effect of the change is that the internal definition of formats (as a pair) is not printed in error messages anymore. Because format6 is in fact defined in the CamlinternalFormatBasics submodule of Pervasives, and has an alias at the toplevel of Pervasives, error messages still expand the definition: > Error: This expression has type > ('a, 'b, 'c, 'd, 'd, 'a) format6 = > ('a, 'b, 'c, 'd, 'd, 'a) CamlinternalFormatBasics.format6 > but an expression was expected of type ... Passing the option `-short-paths` does avoid this expansion and returns exactly the same error message as 4.01: > Error: This expression has type ('a, 'b, 'c, 'd, 'd, 'a) format6 > but an expression was expected of type ... (To get this error message without -short-paths, one would need to define format6 directly in Pervasives; but this type is mutually recursive with several GADT types that we don't want to add in the Pervasives namespace unqualified. This is why I'll keep the alias for now.) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14868 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14install the dev version of utop in travisJérémie Dimino
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14865 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14apply patch for PR#6420: Bad error message for non-exhaustive matching on ↵Jacques Garrigue
extensible types git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14859 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-13merge github.com/ocaml/ocaml/pull/56.diff, from Anil, part 1: fix support ↵Mark Shinwell
for PowerPC/BSD backtraces git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14854 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12change version number after branching 4.02Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12ci-build: fix wrong variable nameDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14851 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12PR#6361 continued: don't count 1 for Forward_tag, because in this case a GC ↵Xavier Leroy
can change the hash value. Instead, avoid looping on Forward_tag cycles by another mean. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14850 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12bootstrap with -no-naked-pointers againGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12changes ChangesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14848 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12temporarily disable principality warning test in coercion.mlGabriel Scherer
Contrarily to the previous commit, this change is *not* completely benine: it corresponds to the fact that Jacques' trunk@14523 (a principality warning on formats in some situation) has not yet been replayed on the format-gadts branch -- I mainly focused on backward compatiblity. The plan is to replay this change really soon, *after* converting format6 to a nominal datatype -- this will much simplify the re-implementation of the warning in the type-checker. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14847 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12fix testsuite/tests/typing-warnings/coercions.ml.referenceGabriel Scherer
The change is benine: currently, error messages about format6 also give its definition as a product of an inner format and a string: the message changes, but the semantics is the same. Ultimately, we want the error message *not* to change (we don't want the internal implementation of formats to be exposed to the innocent user), and that will be achieved by converting format6 to a nominal type instead of a structural pair. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14846 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12fix Tests.ml{,.principal}.referenceGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14845 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02