Commit Graph

773 Commits (852efd270e61bbb2c6fce2563f432d00bc15cc4a)

Author SHA1 Message Date
Mark Shinwell 852efd270e Merge with trunk; remake dependencies 2015-12-22 16:28:35 +00:00
Hugo Heuzard 1720d9f42d fix pr7103
the following type error

"Type a is not compatible with type 'a"

should contain the constraint on 'a.

"Type a is not compatible with type 'a = < .. >"
"Type a is not compatible with type 'a = [> `b]"
2015-12-21 13:24:59 +00:00
Pierre Chambart 42f56dc069 Add tests for the inline attribute on functors 2015-12-18 20:02:13 +00:00
Pierre Chambart fc5acece95 Rename type build_kind and sourcefile arguments to source_provenance 2015-12-18 13:54:47 +00:00
Pierre Chambart 8afcaeeac0 Fix testsuite 2015-12-18 13:35:44 +00:00
octachron 160045a33e Test suite: check ocamldoc generated tex files
Basic safety net for ocaml manual
2015-12-17 23:46:03 +01:00
maranget 57e031d86d PR#7031 Oups, bug in merged code: union changed into intersection. 2015-12-15 16:39:00 +01:00
David Allsopp cf5daba9fc Normalised line endings in Git repository
Some files were added with CRLF line-endings rather than normalised LF
line-endings which interferes with the .gitattributes file change made
in d8b7a4f48e

Only alteration is line-endings (i.e. git diff --ignore-space-at-eol
returns no differences)
2015-12-14 17:45:28 +00:00
Luc Maranget e2309b424a PR#7031 Handle module variables in patterns. 2015-12-14 15:58:12 +01:00
Luc Maranget c54df509c0 PR#7031, Change file + Tests + error message 2015-12-14 15:58:11 +01:00
Jacques Garrigue 7bcfced414 Fix PR#7082 2015-12-14 12:49:51 +09:00
Jacques Garrigue 655f2f3108 Merge branch 'trunk' of github.com:ocaml/ocaml into trunk 2015-12-12 23:20:56 +09:00
Jacques Garrigue 482ecaa185 add more warning tests around PR#7085 2015-12-12 23:20:32 +09:00
Gabriel Scherer d071da2880 Revert GPR#305 (exception patterns under or-patterns) from trunk
This week we merged several changes from Thomas Refis, to allow the
use of exception patterns under or-patterns, to write code such as

  match foo x with
    | None | exception Not_found -> ...
    | Some -> ...

Unfortunately, I failed to properly assess the impact of this change,
and in particular to make sure that Luc Maranget had properly reviewed
this code -- any change to the pattern-matching machinery should be
reviewed by Luc.

The problem that I had not foreseen and that he would have immediately
realized is that, while adapting the pattern-matching *compiler* is
relatively easy (Thomas inserted a transformation at the right place
to separate exception patterns from the others and handle them
separately, using the staticraise construct used by the
pattern-matching compiler to avoid duplicating the
right-hand-side branch), adapting the pattern-matching warnings
machinery is both more subtle and easier to overlook (it may fail
silently and nobody notices, unlike wrong code production). This part
of the compiler is subtle and best understood by Luc, but he does not
have the time to do a proper review of those changes in the timeframe
for the 4.03 feature freeze (mid-December).

I believe the right move in this case, implemented in the present
commit, is to revert the change from trunk (this is not a feature that
we must *imperatively* have in 4.03), do a proper job of understanding
the changes, and integrate the change when we are confident it is
ready. I hope to do this in 2016, together with Luc Maranget and
Thomas Refis -- hopefully this would allow Thomas and I to be more
confident when changing the pattern-matching machinery in the future.

Revert "Merge pull request #343 from trefis/pr7083"
This reverts commit 22681b8d2a, reversing
changes made to a24e4edf0a.

Revert "Merge pull request #341 from trefis/or-exception"
This reverts commit f8f68bd329, reversing
changes made to 1534fe8082.

Revert "Merge pull request #305 from trefis/or-exception"
This reverts commit cfeda89396, reversing
changes made to 77cf36cf82.
2015-12-12 11:20:21 +01:00
Jacques Garrigue 1919465538 order of warnings back again 2015-12-12 18:44:13 +09:00
Jacques Garrigue e0aec3391c Fix PR#7085 2015-12-12 18:06:47 +09:00
Thomas Refis de7176b02f PR7083: fix assertion failure when polymorphic variants and exception cases are part of the same match .. with 2015-12-11 10:31:33 +00:00
alainfrisch 8602717098 Add test. 2015-12-09 18:36:18 +01:00
Drup f76792ec04 Add a test for attributes. 2015-12-09 14:26:06 +01:00
Drup c1e91bdeee Add a test for extensions. 2015-12-09 14:26:06 +01:00
Thomas Refis 48e3ff28a5 PR#6422: add tests regarding exceptions under or-patterns 2015-12-09 11:20:19 +00:00
Xavier Leroy 77cf36cf82 Merge pull request #331 from ocaml/win32-sockets
Windows sockets in asynchronous mode
2015-12-09 11:51:36 +01:00
alainfrisch e888e099e2 Revert commits related to #330.
1. Revert "Switch to -custom for bytecode tests."
This reverts commit 6b7f81caf5.

2. Revert "Fix Changelog."
This reverts commit d94488d7b5.

3.Revert "Fix testsuite: use binary channels."
This reverts commit 840f7ca506.

4. Revert "Fix testsuite: do not require a globally installed ocamlrun."
This reverts commit 0388ef46d9.

5. Revert "Merge branch 'trunk' of https://github.com/bvaugon/ocaml into bvaugon-trunk"
This reverts commit 1ff6db10bf, reversing
changes made to 89d116c514.
2015-12-08 14:44:29 +01:00
Jacques Garrigue 78a7a55609 PR#6542: solve new performance problems du to path compression and copy
of types for the delayed icheck for unused cases
2015-12-08 19:45:42 +09:00
Simon Cruanes 6c5665393e fix 0007026
- remove write barrier for constant poly variants
- add tests
2015-12-06 19:24:31 +01:00
Gabriel Scherer c6b5a28d77 Merge pull request #320 from gasche/revert-user-defined-indexing-operators
Revert user defined indexing operators
2015-12-06 17:56:40 +01:00
Xavier Leroy 45343f6a39 PR#6989: in Str library, make sure that all \(...\) groups are binding and can be consulted with Str.matched_group.
There used to be a limitation to 32 binding groups, which is now lifted by dynamically allocating the groups data if it is too big.

Also:
- Modernize strstubs.c to use the Caml namespace
- Fixed a potential bug with backreferences \\n referring to a nonexistent group.
2015-12-06 12:43:02 +01:00
Alain Frisch 6b7f81caf5 Switch to -custom for bytecode tests. 2015-12-04 18:29:44 +01:00
alainfrisch f443b1b617 Merge branch 'trunk' of ssh://github.com/ocaml/ocaml into trunk 2015-12-04 16:51:52 +01:00
alainfrisch 840f7ca506 Fix testsuite: use binary channels. 2015-12-04 16:46:52 +01:00
alainfrisch 0388ef46d9 Fix testsuite: do not require a globally installed ocamlrun. 2015-12-04 16:46:36 +01:00
alainfrisch 1ff6db10bf Merge branch 'trunk' of https://github.com/bvaugon/ocaml into bvaugon-trunk 2015-12-04 16:31:59 +01:00
Damien Doligez 660dd6784f fix min_int test 2015-12-04 15:48:05 +01:00
Alain Frisch 1fa12312a1 Merge pull request #329 from bschommer/array-functions
Add array functions: for_all, exists, mem, memq.
2015-12-04 15:47:33 +01:00
Bernhard Schommer 83dcf62ebf Removed for_all2, exists2 and find again. 2015-12-04 15:41:48 +01:00
Xavier Leroy 58943faf32 Branch win32-sockets: add regression tests for PR#4466 and PR#5325 2015-12-04 13:58:12 +01:00
alainfrisch 7ce026e815 Disable a test that does not work on 32-bit. 2015-12-04 13:55:35 +01:00
Bernhard Schommer a631e0858c More tests for array functions.
The testsuite now covers more corner cases and includes also test
for float arrays and matrices.
2015-12-04 12:27:13 +01:00
Xavier Leroy b6442d5957 Branch win32-sockets: missing includes in byterun/unix.c + add test.
The "socketsbuf.ml" test checks that buffered I/O channels over sockets work properly.  (Regression test for PR#5578.)
2015-12-04 12:01:10 +01:00
Bernhard Schommer 7a082785be Fixed typos and changed exists2 and for_all2.
Now exist2 and for_all2 only raise the invalid_arg excpetion when
the end of one array is reached.
Also some new tests in the testsuite.
2015-12-04 11:15:40 +01:00
Bernhard Schommer dcc1421e1e Added exists2, for_all2, mem, memq and find.
The functions are implemented as their pendants in the List module.
2015-12-04 10:10:36 +01:00
Benoit Vaugon 5e3964da86 Fix "weak hash of serialised closures" from mantis #0005942. 2015-12-04 00:51:44 +01:00
Bernhard Schommer 35c25fb353 Added tests for Array.exists and Array.for_all
For each function there are two sets of tests, one on an empty and one on
an full set of elements. They use some simple predicates to test whether
for_all and exists work as expected.
2015-12-04 00:41:29 +01:00
Hugo Heuzard 1e1a1d6ead Tests for constants with modifiers
add some tests

more tests
2015-12-03 17:20:49 +01:00
alainfrisch 1c9e418b92 #6939: add non-regression test. 2015-12-03 16:42:57 +01:00
alainfrisch 9879d54989 #6865: restore previous behavior for 'let _ = expr' in the toplevel, i.e. it prints the result of 'expr'. 2015-12-03 09:26:36 +01:00
alainfrisch a46d7f7f16 Accept change. 2015-12-02 23:53:17 +01:00
alainfrisch 46c871768f Accept changes. 2015-12-02 23:49:34 +01:00
alainfrisch 2a36df0eb2 'cp' instead of 'ln' (required for Windows, harmless for Unix). 2015-12-02 16:05:52 +01:00
Alain Frisch 4d7a8ce62d Fix EOL convention. 2015-12-02 14:42:11 +01:00