Commit Graph

9848 Commits (d1b1fbee667b5ce1c3b466d438418d4e9ff45e81)

Author SHA1 Message Date
Damien Doligez d1b1fbee66 still debugging the ci-build script (take 3)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 09:57:20 +00:00
Damien Doligez 499092e0ba still debugging the ci-build script
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14961 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 09:37:57 +00:00
Damien Doligez 837ed62b9e debugging the ci-build script
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 09:19:17 +00:00
Xavier Leroy 3946f47972 Reflecting commit 14958 on version/4.02:
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-05 08:33:24 +00:00
Gabriel Scherer d6bfdc7002 fix PR#6431 (patch by Benoît Vaugon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14954 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04 20:19:53 +00:00
Gabriel Scherer 3fa347743e PR#5547: ocamlbuild reverts to using -no-ocamlfind by default
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14952 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04 20:01:16 +00:00
Xavier Leroy cf008f2be3 Reflecting commit 14950 on version/4.02:
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-04 15:15:58 +00:00
Alain Frisch 894af5c4be Fix regression introduced by commit 14809. (Cherry pick commit 14946 from version/4.02.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14947 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-03 09:05:04 +00:00
Damien Doligez 43701240df ci-build: go to the right directory before parsing command-line options
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 20:52:44 +00:00
Xavier Leroy dbea9ee230 Reflecting commit r14943 on version/4.02:
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-02 17:11:40 +00:00
Damien Doligez 2c67f4f755 tools/ci-build: add possibility of changing directory on unix-like architectures
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 11:30:11 +00:00
Damien Doligez 45473851e8 add option -patch1 to ci-build script
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 11:27:24 +00:00
Mark Shinwell 9c2b32b139 merge from 4.02 (rev 14931): update instructions for 32-bit builds on Mac OS X (PR 6196)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14932 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 13:05:01 +00:00
Mark Shinwell ec96727497 merge from 4.02 (rev. 14929): add configure detection of mkstemp, remove old 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-30 12:49:24 +00:00
Mark Shinwell 60d0af57c4 merge from 4.02: rev. 14858, Adding #ppx toplevel directive (patch by Peter Zotov, github #54).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14928 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 12:10:06 +00:00
Mark Shinwell 2dec313ed1 PR 6439 part 2: use sysconf instead of the deprecated getpagesize function
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 10:26:30 +00:00
Mark Shinwell dd3a286bbe PR 6439 part 1: fix mistake in backtrace.c
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 09:52:05 +00:00
Damien Doligez 456ba0c57b copy attributions from 4.02 branch and add a header for the next version
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-25 18:49:15 +00:00
Xavier Leroy 53886a08e2 Reflecting commit 14916 on version/4.02:
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-25 16:46:23 +00:00
Mark Shinwell 5791532c5d fix gc-roots test case for no-naked-pointers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14913 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-23 12:11:49 +00:00
Maxence Guesdon 577ea36b88 Fix ocamldoc test to follow new interface; add object type test
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14910 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 13:39:11 +00:00
Maxence Guesdon 1a3b58be2b PR#6274: allow doc comments on object types
(thanks to Thomas Refis)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 13:38:29 +00:00
Maxence Guesdon a61f33b87f Changes: PR#6425
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 09:03:46 +00:00
Maxence Guesdon 1fbea2fe86 PR#6425: fix generation of man pages, handling variant constructors and record fields
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14902 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 08:35:56 +00:00
Gabriel Scherer e0b000527b format+gadts: make format types "relational" to fix %(...%) typing
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-21 13:23:13 +00:00
Gabriel Scherer 34fb0d4345 PR#5371: a partial patch by Edwin Török to fix the FreeBSD failure
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-18 16:08:38 +00:00
Gabriel Scherer a5e4f0631c update .depend
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-16 17:32:47 +00:00
Xavier Leroy 657ba73021 Liveness & Deadcode: fix i386-specific issue with move instructions accessing
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-16 14:37:22 +00:00
Gabriel Scherer 6d25df3c9b fix PR#6415: format had forgotten about 'b' boxes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14874 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-15 07:37:15 +00:00
Gabriel Scherer a9aea4306c replay trunk@13911: better behavior of printf on nan/infinity floats
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14871 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14 16:01:10 +00:00
Gabriel Scherer 74b20bef58 replay trunk@14523: warn on non-principal format6 coercions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14869 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14 15:07:17 +00:00
Gabriel Scherer 3ffa399b37 Use a nominal datatype for CamlinternalFormat.format6
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-14 15:07:13 +00:00
Jérémie Dimino fb8aecbf24 install the dev version of utop in travis
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14865 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14 10:46:07 +00:00
Jacques Garrigue 14c7fc4a0c apply patch for PR#6420: Bad error message for non-exhaustive matching on extensible types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14859 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-14 04:05:21 +00:00
Mark Shinwell 286af5b06a merge github.com/ocaml/ocaml/pull/56.diff, from Anil, part 1: fix support for PowerPC/BSD backtraces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14854 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-13 13:14:12 +00:00
Damien Doligez 80f91b100b change version number after branching 4.02
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14853 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 19:04:06 +00:00
Damien Doligez c82c004286 ci-build: fix wrong variable name
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14851 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 18:56:14 +00:00
Xavier Leroy d12328e7b5 PR#6361 continued: don't count 1 for Forward_tag, because in this case a GC 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-12 16:42:05 +00:00
Gabriel Scherer 2a8d358887 bootstrap with -no-naked-pointers again
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:51 +00:00
Gabriel Scherer ab873b81ca changes Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14848 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:49 +00:00
Gabriel Scherer ac23816f4a temporarily disable principality warning test in coercion.ml
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-12 15:38:47 +00:00
Gabriel Scherer af49756df3 fix testsuite/tests/typing-warnings/coercions.ml.reference
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-12 15:38:45 +00:00
Gabriel Scherer 78315ea89c fix Tests.ml{,.principal}.reference
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14845 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:43 +00:00
Gabriel Scherer e0b1dab7be fix some testsuite Makefiles
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14844 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:41 +00:00
Gabriel Scherer b14c618354 final bootstrap (make partialclean core coreboot)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14843 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:39 +00:00
Gabriel Scherer 0e1584665e fix a regression in Format formatting printing routines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14842 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:37 +00:00
Gabriel Scherer eccf1e2975 formats: enable the legacy mode by default
Given that there still remains a small incompatibility (typing of
%(..%)), I decided to keep the legacy mode enabled for now. This means
that any failure related to format can be traced to this
incompatiblity (or unknown regressions), which will simplify the
monitoring and handling of changes considerably. As soon as the %(..%)
typing is generalized, we can turn the legacy mode off (or maybe
simply add warnings for ignored formats).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:35 +00:00
Gabriel Scherer f0e39fee7d For %{..%}, restore Pierre's semantics
(printf {%foo%} bar) will print the string representation of the
format type of both `foo` and `bar`, instead of printing `bar`
(for this purpose one can just use %s). `bar` content is ignored, but
the typer should check that its type is compatible with the one of
`foo`.

This semantics allows to use (printf %{..%}) for testing/debugging the
use of %(...%): put in the brackets what you believe to be the format
type you want to use, and as argument the format you wish to pass, and
you'll get type-checking confidence and the "canonical" representation
of the format string which you can use in the %(...%) -- note that
using the canonical format type is not mandatory.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14840 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:33 +00:00
Gabriel Scherer 02c5fb47ca testsuite Makefile fix
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14839 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:31 +00:00
Gabriel Scherer cba1c6b66f boostrap (same steps as the last one)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14838 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:29 +00:00