Commit Graph

10679 Commits (0b1575a6b02455d742cdb4e0780089f697a17492)

Author SHA1 Message Date
Gabriel Scherer 8591c2532e missing @since on List.sort_uniq
From: Simon Cruanes <simon.cruanes.2007@m4x.org>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15579 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-16 17:39:50 +00:00
Gabriel Scherer a699625e78 fix for ocamlbuild on cygwin cannot find ocamlfind
ocamlbuild should append .exe extension to filename when looking for
executables and Sys.cygiwn is set (not only Sys.win32).

From: algoriddle <szilvasy@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15577 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-16 17:37:25 +00:00
Jacques Garrigue dcb6a4dd7e tentative fix of PR#6651
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15576 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-12 11:59:23 +00:00
Jacques Garrigue 88fadf06bc add repro case for PR#51
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15575 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-12 09:14:14 +00:00
Jacques Garrigue 18ed39fb36 Fix PR#6650: Cty_constr not handled correctly by Subst
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15574 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-10 09:43:30 +00:00
Jacques Garrigue 5adbb67a45 PR#6648: show_module should indicate its elision (add Osig_ellipsis to outcometree)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15573 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-10 09:09:23 +00:00
Xavier Leroy ec1ba73399 Prudently revert the type of "Cconst_symbol" to typ_val instead of typ_int.
There seems to be issues with let-bound variables initialized with symbol
addresses and later updated.


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15572 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-07 18:11:51 +00:00
Luc Maranget 4fdd5dd354 Oups.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15571 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-07 15:29:48 +00:00
Luc Maranget 3bded3f977 Solve PR#6646, ie avoid introducing huge jump summaries
and unshared default clauses in the presence of many (>= 32) non-matched
constructors.




git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15570 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-07 14:13:53 +00:00
Xavier Leroy 0a1a5b0e28 Don't forget that allocations can run arbitrary Caml code (via signal handlers, etc). Hence, equations involving loads must be erased across allocations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15569 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-07 13:37:44 +00:00
Xavier Leroy ac02f56351 More precise typing at the C-- and Mach level:
- Register type "Addr" is split into
    . "Val" (well-formed OCaml values, appropriate as GC roots)
    . "Addr" (derived pointers within the heap, must not survive a GC)
- memory_chunk "Word" is split into
    . "Word_val" (OCaml value)
    . "Word_int" (native-sized integer, not a pointer into the heap)

Cmmgen was updated to use Word_val or Word_int as appropriate.

Application #1: fail at compile-time if a derived pointer within the heap
survives a GC point (cf. PR#6484).

Application #2: CSE can do a better job across allocation points
(keep factoring expressions of type Int, Val, Float, but not Addr).


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15568 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-06 08:54:14 +00:00
Xavier Leroy 26ee828e18 Experiment: slightly more precise types for C-- variables and Mach registers.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15567 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-06 08:18:31 +00:00
Damien Doligez 94dfb61c09 fix a bug where the .annot files were truncated because of a missing "close"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15565 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-29 21:18:14 +00:00
Damien Doligez abcd4e8f90 PR#6628: Configure script rejects legitimate arguments
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15562 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-29 16:29:18 +00:00
Jérémie Dimino 98e0051f5c PR#6619: update documentation of Printexc.set_uncaught_exception_handler
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15560 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-20 13:15:33 +00:00
Jacques Garrigue 792c92d1a0 Fix PR#6615: inconsistent printing and parsing of inline records
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15559 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-17 01:48:12 +00:00
Damien Doligez 031cffd155 merge branch 4.02 from release 4.02.0 to release 4.02.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-15 13:34:58 +00:00
Alain Frisch e3ad818fb5 Reintegrate-merge constructors_with_record5 branch.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:51:30 +00:00
Alain Frisch ba1f91352e Sync.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15555 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:40:09 +00:00
Alain Frisch 5a8fd350ca Minimal support for inlined records for the texi backend.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15554 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:35:31 +00:00
Alain Frisch c5ef8ad49d Minimal support for inlined records for the man backend.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:34:22 +00:00
Alain Frisch 6513ec9dd8 Minimal support for inlined records (displayed as {...}) for the latex backend.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15552 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:32:14 +00:00
Alain Frisch ba91d29558 Some minimal support for inline records in the html backend.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15551 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:27:42 +00:00
Alain Frisch bd618eef58 Plumbing into ocamldoc. Annotations are still not collected in inlined records, and all backends fail on inline records.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15550 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:03:41 +00:00
Alain Frisch 65d07466f9 Bug fix.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15549 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 14:19:05 +00:00
Alain Frisch 2ef9c9f592 Accept changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 13:18:06 +00:00
Alain Frisch ebe39fb4e8 Empty ident is not allowed.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 13:17:22 +00:00
Alain Frisch a8fc270033 Name of exceptions can no longer be duplicated.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15543 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 12:46:22 +00:00
Alain Frisch 1f8861d87e Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15539 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 10:32:45 +00:00
Alain Frisch 303b24e093 Sync with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 10:18:33 +00:00
Alain Frisch d5e19a5d5c Error message.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15537 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 08:24:40 +00:00
Alain Frisch 99c29b3b67 Adapt test.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 08:23:20 +00:00
Alain Frisch f6440b2760 Adapt test.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15535 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 08:21:50 +00:00
Xavier Leroy a4e637ea62 Reflecting commit 15498 on version/4.02:
PR#6588 part 2: for ARMv4 and ARMv5, make sure architectural constraints
  on the "smull" instruction are respected.  (Patch by Mark Shinwell.)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-13 09:07:29 +00:00
Xavier Leroy c0b1ae096e Reflecting commit 15497 on version/4.02:
PR#6588 part 1: wrong "parallel move" code generated for CSE of operators
  that have multiple results.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-13 09:06:01 +00:00
Alain Frisch 56782ae7bc #6609: export Toploop.phrase.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-13 07:17:10 +00:00
Alain Frisch 42af6a461a Drop support for self-recursive reference to inlined record types. Improve error message.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 15:19:05 +00:00
Alain Frisch 026062c4e2 Remove support for record types in the printer (will be printed without the ! if they ever appear in error messages).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:52:23 +00:00
Alain Frisch bae09b365d Remove syntax for inlined record types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15525 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:50:46 +00:00
Alain Frisch 88fd20f565 Stop keeping manifest types on inlined records; always use free variables (ordering doesn't matter); re-enable GADT constructors.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:47:03 +00:00
Alain Frisch aa77009fea Fix.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15523 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:29:36 +00:00
Alain Frisch eeac41ea2c Rename allow_recarg to recarg.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15522 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:23:15 +00:00
Alain Frisch a615c35a3f Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15521 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:20:46 +00:00
Alain Frisch d23c8cf3f8 Better errors.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 14:19:05 +00:00
Alain Frisch ff44d01acf allow_recarg is now interpreted in a strict way for Pexp_ident expression (if true, the variable must be bound to a record argument).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15518 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 13:46:11 +00:00
Alain Frisch 942264e5ea Be more liberal for the pattern under a constructor with an inlined argument: allow aliases and or patterns (only reject explicitly the constraint pattern).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 13:27:23 +00:00
Alain Frisch 0562da3a45 Commit a variant of the patch from Jacques, avoiding the need for a specific val_kind.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 13:14:46 +00:00
Alain Frisch e91e461906 Guess what? There is a new branch to experiment with inline records. Now, we are going to apply syntactic restriction to make sure inline record types don't escape.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record5@15515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-10 12:47:35 +00:00
Alain Frisch d45ab052be Undo previous commit.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15514 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-09 17:08:31 +00:00
Alain Frisch 2fa0068ece Simple, but very effective optimization.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-09 16:31:41 +00:00