Commit Graph

15380 Commits (77adbb0ae6dcb96376b2951a154c24b3e03a5b91)

Author SHA1 Message Date
Sébastien Hinderer 77adbb0ae6 Integrate the build of ocamltest to the main build system
This commit ensures ocamltest.byte and ocamltest.opt get built along with
the other tools.
2017-09-18 17:40:14 +02:00
Sébastien Hinderer beb4146387 Tell git to ignore the _ocamltest directories created by ocamltest 2017-09-18 17:40:14 +02:00
Sébastien Hinderer 635b5edcc1 ocamltest: the test driver for the OCaml compiler
This commit contains:

- The initial version of the tool itself, in the ocamltest directory
- The required additions to the main .gitignore and .merlin files.

The integration of ocamltest in OCaml's main build system and its use
in the testsuite are not part of this commit.

Credits go to David Allsopp for
- Extending the computation of ocamlsrcdir to the Windows case
- Making ocamltest compile when flexlink
is being bootstrapped.
2017-09-18 17:40:14 +02:00
Sébastien Hinderer b08deacf18 configure should define the CPP build variable
The CPP variable tells the build system how to invoke the C preprocessor.

Before this commit, this variable was defined by the Windows Makefiles
but not by the Makefile generated by configure. This commit fixes this.

This commit also fixes a few makefiles: to compute dependencies for C files,
they incorrectly called $(CPP) -MM instead of $(CC) -MM.
2017-09-18 17:40:14 +02:00
Damien Doligez 47a6e48918 Temporary fix for output-obj test:
1. fix silent failure mode
2. disable the test
2017-09-18 15:02:31 +02:00
Leonid Rozenberg efdbb82787 Change factor estimation equation
Currently, the equation is rendered as (1/1 + f)<sup>d</sup>.
I'm not certain if this will correctly render in HTML (apologies, but I don't have the capacity to check at the moment), but hopefully this PR will suffice.
2017-09-18 14:41:15 +02:00
Damien Doligez 535390f8f0 Fix output-complete-obj for MSVC:
- bug in ccomp.ml
- bug in test Makefile
- disable testing bytecode on MSVC: AFAICT this never worked.
2017-09-17 16:46:08 +02:00
Leo White 712505d3eb Merge pull request #1348 from sliquister/with-type-underscore-t
support syntax "S with type _ t = int"
2017-09-17 13:02:20 +01:00
Leo White 438159bec1 Merge pull request #1347 from Octachron/qualified_indexop
Qualified extended indexing operators
2017-09-17 12:57:29 +01:00
Damien Doligez 6ea56dec42 There is a bug in cygwin (or in bash?):
When your process was launched by a non-interactive ssh, the 2>> redirection
doesn't work (it doesn't truncate the file, but it writes from the
beginning instead of appending).
2017-09-17 00:04:41 +02:00
octachron 28e53d1305 Add support for qualified indexing operators
aka `x.Module.Path.!(y)` and friends
2017-09-16 23:05:35 +02:00
Damien Doligez f4d3c14452 add missing configuration for flat-float-array to m-nt.h 2017-09-16 19:22:37 +02:00
Damien Doligez 5ca7ee882e fix windows-incompatibility bug in tests/ppx-context/Makefile 2017-09-16 19:15:48 +02:00
Valentin Gatien-Baron ab56246f5d support syntax "S with type _ t = int" 2017-09-16 09:24:39 -04:00
Damien Doligez 6a85360cd3 work around a gmake bug and tidy up the Makefile 2017-09-16 12:03:24 +02:00
Jacques Garrigue 5a04984f1b Fix GPR#1204 (#1329)
To avoid recursive polymorphic variant name, set `row_name` in `Env.components_of_module` rather than in `Ctype.expand_abbrev`.
2017-09-16 18:51:32 +09:00
David Allsopp 229ff30b46 Inria Jenkins CI fix - isatty test (#1341)
* Fix isatty test on Jenkins CI

* Temporarily disable isatty_tty on non-Windows

* fix a Makefile bug that breaks the isatty test
2017-09-16 09:43:02 +02:00
Leo White e1fd8d5d3a Merge pull request #1332 from bobot/fix_output_complete_obj
[OCamlc] fixes output-complete-object
2017-09-16 06:54:58 +01:00
François Bobot 626a297ec3 [Tests] add gitignore for output_obj files 2017-09-15 21:34:34 +02:00
François Bobot 1343658f5d [OCamlc] use OUTPUTOBJ and move CAML_INTERNAL
in the generated file instead of in the command line
2017-09-15 21:28:59 +02:00
Damien Doligez ebcebb9379 fix oversight in PR#1294 2017-09-15 19:55:29 +02:00
camlspotter 89355a41b6 added -threads and -vmthreads option information to the ppx context (#1336) 2017-09-15 18:14:14 +01:00
Damien Doligez e8d0abbcb0 switch to safe-string by default (related to MPR#7113) (#1252)
* switch to safe-string by default
2017-09-15 18:53:39 +02:00
Florian Angeletti 201ee17fe0 Extended indexing operators (#1064)
* Extended indexing operators

This commit adds extended indexing operators to the parser.
For instance,

```
let (.%()) p (x,y) = p.( x ).( y )
;; p.%(0,0)

```
Extended indexing operators name starts with a leading
dot "." followed by an operator symbol, except "." or "<"
and a sequence of any operators and must be closes with a
couple of enclosing parentheses ( i.e. "()", "[]", "{}" )
and then an optional assignment operator "<-":

  * '.' dotsymbolchar symbolchar* '(' ')' ['<-']
  * '.' dotsymbolchar symbolchar* '[' ']' ['<-']
  * '.' dotsymbolchar symbolchar* '{' '}' ['<-']

Similarly, expressions of the form

* expr_1 '.' dotsymbolchar symbolchar* '(' expr_2 ')'
* expr_1 '.' dotsymbolchar symbolchar* '[' expr_2 ']'
* expr_1 '.' dotsymbolchar symbolchar* '{' expr_2 '}'

and

* expr_1 '.' dotsymbolchar symbolchar* '(' expr_2 ')' '<-' expr_3
* expr_1 '.' dotsymbolchar symbolchar* '[' expr_2 ']' '<-' expr_3
* expr_1 '.' dotsymbolchar symbolchar* '{' expr_2 '}' '<-' expr_3

are desugared to

* ('.' dotsymbolchar symbolchar* '(' ')' ) expr_1 expr_2
* ('.' dotsymbolchar symbolchar* '[' ']' ) expr_1 expr_2
* ('.' dotsymbolchar symbolchar* '{' '}' ) expr_1 expr_2

and

* ('.' dotsymbolchar symbolchar* '(' ')' '<-' ) expr_1 expr_2 expr_3
* ('.' dotsymbolchar symbolchar* '[' ']' ) expr_1 expr_2 expr_3
* ('.' dotsymbolchar symbolchar* '{' '}' '<-' ) expr_1 expr_2 expr_3
2017-09-15 18:47:05 +02:00
Leo White 20668002bb Turn off warning 40 by default (#1333)
* Turn off warning 40 by default
2017-09-15 18:41:49 +02:00
Damien Doligez c11d94cd1b add bootstrap compilers 2017-09-15 18:24:36 +02:00
Damien Doligez f086eda9c0 add -no-flat-float-array configure option 2017-09-15 18:24:36 +02:00
Damien Doligez cd3dbe79be add `floatarray` type and primitives to prepare for -no-flat-float-array option
NOTE: you need to bootstrap after this commit
2017-09-15 18:24:36 +02:00
Xavier Clerc c374e29253 Flambda: print warning once (#1324) 2017-09-15 16:46:24 +01:00
yallop 9f626af109 Fix for bytecode size computation with generic arrays (#1325)
* Treat genarray creation as nonrec in bytecode size computations.
* Add tests for generic array creation in let rec bindings.
* Bring the Pgenarray clauses together in code size computations.
2017-09-15 17:40:47 +02:00
Leo White 2f06379948 Merge pull request #1339 from lpw25/less-warning-59
Don't warn on mutation of 0 size blocks (MPR#7616)
2017-09-15 16:35:46 +01:00
Sébastien Hinderer 14c65bcffc Let Travis send email notifications for build statuses (#1312) 2017-09-15 14:33:38 +01:00
Leo White 734ed6e0e5 Add Changes entry 2017-09-15 13:08:32 +01:00
Leo White e6c41fef51 Don't warn on mutation of 0 size blocks 2017-09-15 13:06:09 +01:00
David Allsopp 6fb2960d56 Reimplement Unix.isatty on Windows (#1321) 2017-09-15 11:14:19 +01:00
Mark Shinwell b65096678b Register availability analysis (#856) 2017-09-15 11:08:14 +01:00
Leo White bdc48966d6 Merge pull request #1337 from lpw25/restore-tbox
Restore accidently removed Format functions
2017-09-15 10:07:37 +01:00
Mark Shinwell a7f2ac6d28 Revert "GPR#1326: Fix backtraces in gdb (etc.) on AArch64 and ARM"
This reverts commit 1501bc9bb0.
2017-09-15 09:57:57 +01:00
Leo White 5cb27d8ebb Merge pull request #792 from sliquister/generalize-destr-subst2
Fixing the limitations on destructive substitutions
2017-09-15 09:29:29 +01:00
Leo White 0d4b1a3497 Restore accidently removed Format functions 2017-09-15 09:02:59 +01:00
Valentin Gatien-Baron e87113c782 detect invalid deep substitutions involving recursive modules 2017-09-14 13:38:18 -04:00
Xavier Leroy 1501bc9bb0 GPR#1326: Fix backtraces in gdb (etc.) on AArch64 and ARM
Enable use of CFI directives in AArch64 and ARM runtime
systems' assembly code (asmrun/arm64.S).  Add CFI directives to enable
unwinding through [caml_c_call] and [caml_call_gc] with correct termination
of unwinding at [main].

Squashed commit of the following:

commit 30ac16bae997e874cb76aeff0de3ea2a52dce10b
Merge: d846cc2 6d99896
Author: Xavier Leroy <xavier.leroy@inria.fr>
Date:   Thu Sep 14 19:11:11 2017 +0200

    PR#1326: Merge branch 'arm64-caml_c_call' of https://github.com/mshinwell/ocaml into mshinwell-arm64-caml_c_call

commit 6d998963014b6dde509832288fe6c59f7087ecc2
Author: Mark Shinwell <mshinwell@gmail.com>
Date:   Thu Sep 14 10:17:03 2017 +0100

    Changes

commit 83f5358b3c9ec271c9ff481695a9ef396db90935
Author: Mark Shinwell <mshinwell@gmail.com>
Date:   Wed Sep 13 16:31:41 2017 +0100

    More fixes

commit f3f5824f4939f6c2d58d26731ac42d8f2af71d72
Author: Mark Shinwell <mshinwell@gmail.com>
Date:   Wed Sep 13 13:18:51 2017 +0100

    Changes

commit 178e60cdb473726d40bba96a281232244d3bd258
Author: Mark Shinwell <mshinwell@gmail.com>
Date:   Wed Sep 13 13:17:59 2017 +0100

    tabs -> spaces

commit d201e2fb37fe6b2aca35c1b92c3269d786885620
Author: Mark Shinwell <mshinwell@gmail.com>
Date:   Wed Sep 13 12:58:54 2017 +0100

    CFI AArch64
2017-09-14 19:12:30 +02:00
Valentin Gatien-Baron 8ec77c9571 test of substitutions + recursive modules 2017-09-14 12:07:21 -04:00
François Bobot e614ec5964 [Tests] try to fix output-obj tests on windows 2017-09-14 17:17:51 +02:00
François Bobot 8f2172a5c9 [Changes] adds change note for GPR#1332 2017-09-14 17:17:23 +02:00
Xavier Leroy d846cc25bf Merge pull request #1309 from dra27/pervasives-cloexec
In caml_sys_open, set close-on-exec flag on Windows and use O_CLOEXEC on Unix
2017-09-14 17:14:59 +02:00
Valentin Gatien-Baron b16b0ed387 minor refactoring + comment 2017-09-14 11:13:57 -04:00
Leo White e458e45e0c Merge pull request #1308 from lpw25/impure-inactive
Only treat pure patterns as inactive
2017-09-14 13:26:48 +01:00
Leo White 2798245738 Merge pull request #1314 from xclerc/ocaml-bool-padding
Padding for boolean formatting
2017-09-14 13:26:00 +01:00
François Bobot 2c682c432a [Tests] output_obj unhardcord linking options 2017-09-14 10:33:29 +02:00