Commit Graph

13059 Commits (e26cd12701942ceac942f6fc76df5ceff10536af)

Author SHA1 Message Date
Mark Shinwell e26cd12701 Fix for GPR#167 2016-04-14 16:29:57 +01:00
Damien Doligez 380a091e7c PR#6601: replace strcpy with caml_strdup in sample code 2016-04-14 16:59:57 +02:00
Damien Doligez 18c629a096 PR#7217: Unix.symlink does not raise on Mingw64. 2016-04-13 17:13:36 +02:00
alainfrisch c1ead896a2 Pass -slash to ocamldep so that dependencies generated from a Windows system are closer to those generated from a Unix system. 2016-04-13 17:04:15 +02:00
Alain Frisch 7924ec5707 Merge pull request #336 from alainfrisch/unbox_ref
Better unboxing strategy
2016-04-12 16:37:57 +02:00
Alain Frisch de530188cb Merge pull request #535 from dra27/fix-507
Fix bootstrapped FlexDLL build
2016-04-12 16:35:46 +02:00
Pierre Chambart 7ffc739c4d Remove some Flambda specificities to translcore
This prevents some type annotations to be propagated to the middle-end,
but this is not really important as those only concern constants which
already provide all the usefull information about their shape.
2016-04-12 14:51:17 +02:00
Pierre Chambart e69ef4a294 Disable letrec evaluation order test 2016-04-12 14:51:16 +02:00
alainfrisch 34ba646f0d More compact printer and fix test. 2016-04-12 14:51:15 +02:00
alainfrisch 5d2419d1de Changelog. 2016-04-12 14:51:14 +02:00
Pierre Chambart 8dff92fd4b Activate all float unboxing tests on flambda 2016-04-12 14:50:02 +02:00
Pierre Chambart 4092639507 Array assignement primitive specialisation using the approximation 2016-04-12 14:50:01 +02:00
Pierre Chambart aa7118f331 Improve approximations using block kind 2016-04-12 14:50:00 +02:00
Pierre Chambart b751de0f06 Test some mutable record field unboxing with flambda. 2016-04-12 14:49:58 +02:00
Pierre Chambart 55f3fb4e2c Activate the test for float reference unboxing on flambda 2016-04-12 14:49:57 +02:00
Pierre Chambart 35a41b2c42 Fix bind_tuples test for flambda
The intermediate floats for the last comparison are lifted, hence allocated
2016-04-12 14:49:56 +02:00
Pierre Chambart 15705f695e Translcore propagates more block type information 2016-04-12 14:49:55 +02:00
Pierre Chambart 3ad95a3a59 Also record type information for int 2016-04-12 14:49:54 +02:00
Pierre Chambart 211e6f54fb Use the mutable_flag instead of let_kind for clambda let 2016-04-12 14:49:53 +02:00
Pierre Chambart f7dcbf21e7 Annotate Let_mutable with the kind of value 2016-04-12 14:49:52 +02:00
Pierre Chambart f4665bee42 Annotate each field of a block separately 2016-04-12 14:49:51 +02:00
alainfrisch 83ae23568c Renaming block_kind -> value_kind. 2016-04-12 14:49:50 +02:00
alainfrisch 56a4e94378 Disable new tests when flambda is enabled. 2016-04-12 14:49:49 +02:00
alainfrisch 932d806937 Fix for ocamlnat. 2016-04-12 14:49:48 +02:00
alainfrisch 9fc3d42529 Add test for better unboxing strategy. 2016-04-12 14:49:47 +02:00
alainfrisch d8d6abd681 Simplify printlambda: do not show Pgenblock annotation. 2016-04-12 14:49:46 +02:00
alainfrisch 4dab0b8924 Doc. 2016-04-12 14:49:45 +02:00
alainfrisch 258a335791 When deciding whether to unbox a let binding, if one knows statically that the type of the bound expression is an unboxed number, relax the criterion: unbox if this benefits to at least one branch of the bound expression (instead of checking all branches). 2016-04-12 14:49:44 +02:00
alainfrisch 9b7e5868f2 Detect all let-bindings to unboxable floats. 2016-04-12 14:49:43 +02:00
alainfrisch 4bf9ad6a3c Keep the approx on all Llet nodes, not only variables. 2016-04-12 14:49:42 +02:00
alainfrisch c996f5f18d Keep track of mutable variables obtained by eliminating local references holding aun unboxable number type. Then force unboxing of such variables to avoid repeated boxing every time the reference is assigned. 2016-04-12 14:49:40 +02:00
Jacques Garrigue de724f051c Extra example of potential unsoundness for PR#7214 2016-04-08 17:18:17 +09:00
Jacques Garrigue 8667b66853 Fix PR#7214 2016-04-08 16:00:04 +09:00
Jacques Garrigue eb5dd3ee34 Fix error handling in Ctype.unify_gadt 2016-04-08 15:53:23 +09:00
David Allsopp cd729b2510 Fix faults arising from merging Makefile{,.nt}
Bootstrapping FlexDLL broken for lex and tools.
2016-04-06 19:30:56 +01:00
Jeremie Dimino 275dcad6fa Make Thread.wait_signal return a rev_converted signal number 2016-04-05 13:55:33 +01:00
Damien Doligez 06d429055c Merge GPR#474 into trunk:
Minor tidying of middle-end
2016-04-04 16:12:19 +02:00
David Allsopp d8e802431b Use configured ARCH_UINT64_TYPE, not C99 types 2016-04-04 16:09:01 +02:00
Spiros Eliopoulos 33cf3f1412 add documentation to pp_flush_formatter
Courtesy of @drup, with minor edits.
2016-04-04 08:51:48 -04:00
Spiros Eliopoulos 11cbedf115 expose function to flush formatter's internal queue
Previous to this commit the Format API did not allow the user to flush a
formatter's internal queue without also flushing the formatter's output
stream. This was a problem for custom formatters that may have been used
in conjunction with kfprintf or ikfprintf. When the continuation was
called, the formatter's queue of operations may not have been flushed.
The only way that the user could force a queue flush was to call
pp_print_flush, forcing the user to introduce a blocking call before it
was necessary, regardless of other buffer state within the system.

Exposing the internal queue flushing operation solves this problem.

Names may be changed to protect aesthetic sensibilities.
2016-04-04 08:51:48 -04:00
Gabriel Scherer 6aa17e0159 ./configure: set natdynlink=false on -no-native-compiler
In PR#7172, Daniel Bünzli remarks that even if an user does only "make
world install" only, intentionally not installing the native code
compiler, the configuration variables exposed through
$(ocamlc -where)/Makefile.config will be misleading as they indicate
the configuration-time prediction that this installation has a native
compiler and support native dynlink.

The -no-native-compiler switch allows to avoid this issue by
intentionally indicating at configure-time that no native compiler
shall be built. However, its current implementation forgot to also
explicitly disable native dynlinking. Changing this fixes the
Makefile.config information and has no impact on the compiler build
process (a build with ARCH=none will never hit the {all,install}opt of
dynlink/Makefile that inspect NATDYNLINK).

On regression risk: it is easy to check in ./configure that this
change only affects configuration when the -no-native-compiler option
is passed, which did not exist before (late in) 4.03+dev.
2016-04-04 08:44:00 -04:00
Gabriel Scherer ad7cd47ea8 GPR#387, MPR#7172: document ./configure -no-native-compiler 2016-04-04 08:43:58 -04:00
Mark Shinwell 884d30dcb0 Flambda manual chapter 2016-04-01 12:52:51 +01:00
Mark Shinwell fef9257fd1 Fix spelling mistake in comment 2016-03-31 15:40:51 +01:00
Pierre Chambart 2923d4d294 Make Cmmgen understand constant bools 2016-03-31 15:32:33 +02:00
alainfrisch 7542c34f1d Correctly print declarations of the (::) constructor. 2016-03-30 14:58:15 +02:00
alainfrisch 5e68ddd093 #7200: print [>] correctly in Pprintast. 2016-03-30 14:45:44 +02:00
alainfrisch 1cb39a2ba2 #7200: in Pprintast, avoid turning ~-1 into -1 which would be parsed as an int literal. 2016-03-30 14:34:12 +02:00
Mark Shinwell ee367399a2 Attend to final Flambda CR comments for 4.03 release 2016-03-30 11:29:34 +02:00
Alain Frisch dde64243bf Merge pull request #527 from hhugo/patch-1
Typo in gc_ctrl.c
2016-03-29 09:31:19 +02:00