Commit Graph

13539 Commits (c3b4e9aa93255ddcc13c68e6c4ca7600ce85642d)

Author SHA1 Message Date
François Bobot c3b4e9aa93 Fix caml_backtrace_pos invariant in caml_restore_raw_backtrace
And simplify this function.

  Thx @let-def (Frédéric Bour)
2016-07-17 22:39:10 +02:00
François Bobot f75e000247 Update Changes 2016-07-17 22:39:10 +02:00
François Bobot 757f512831 Simplify the definition of Printexc.get_backtrace 2016-07-17 22:37:03 +02:00
François Bobot 131c0e23fd Precise where reliable backtrace can't be obtained
In fact currently even if you use `print_backtrace`,
        `get_backtrace` or `get_raw_backtrace` just at the start of an
        exception handler the backtrace can be wrong if an exception
        have been raised and catched in a `when` clause.
2016-07-17 22:37:03 +02:00
François Bobot 10f5095a15 Add `%reraise_raw_backtrace` primitive
It reraises an exception just after copying the given backtrace to the
  backtrace buffer. The C primitive `caml_restore_raw_backtrace` only does
  the copying part, the compiler adds the reraise.
2016-07-17 22:37:03 +02:00
François Bobot e24af07beb Add tests for wrong backtrace with reraise
The reference given are the current results not the ideal results.
    The tests show cases where the backtrace we want to use during
    reraise have been lost by intermediary raise.
2016-07-17 22:37:03 +02:00
Mark Shinwell ebbe205dde Add filename to system frametable for amd64 (#663) 2016-07-17 14:41:49 +02:00
Fabrice Le Fessant fe96ec6a77 Merge pull request #668 from lefessan/2016-07-06-cplugins-and-fPIC
Add cplugins and add a configure option `-fPIC`
2016-07-17 10:33:58 +02:00
Damien Doligez f7620cd973 fix incorrect assertion in GC 2016-07-15 16:00:44 +02:00
Gabriel Scherer 005ba9ac56 minor .mailmap change 2016-07-14 13:49:35 -04:00
Gabriel Scherer b8b9e0cbe6 Merge pull request #690 from Octachron/manual_verb_fix
Manual: build fix
2016-07-14 12:25:36 -04:00
octachron a1ddeacb26 Testsuite, ocamldoc: test display of inline record
This commit adds a new tests focused on the handling of inline records
by the latex generator. For now, it checks that the inline records
labels and types are at least printed within the latex file and not
replaced by `{...}`.
2016-07-14 17:58:26 +02:00
octachron 0f2ee320a5 Ocamldoc: test inline record within exceptions
Beware: hese tests are incomplete, due to the incomplete handling
of inline record within exception inside Ocamldoc.
2016-07-14 17:15:03 +02:00
octachron 69a65a0034 Ocamldoc: display inline record within exceptions
This commit adds a very basic handling of inline record within
exceptions for signature items. Previously, a signature like

sig
  exception E of {lbl:int}
end

would crash OCamldoc due to an assertion failure.
With this commit, the previous signature should be correctly
displayed by ocamldoc as

sig
  exception E of {lbl:int}
end

Beware, that the same exception as structure item would still
crash ocamldoc at the time of this commit.
2016-07-14 17:14:16 +02:00
Gabriel Scherer 62223b38ee Merge pull request #691 from Octachron/manual_extended_readme
Manual: extended readme
2016-07-14 08:29:44 -04:00
Fabrice Le Fessant 1083909842 Merge pull request #688 from lefessan/2016-07-13-reconfigure
Add a target `make reconfigure` to restart configure with the same arguments
2016-07-14 13:29:38 +02:00
octachron ee24c7646d Manual: extended readme 2016-07-14 00:06:19 +02:00
octachron dd38a2e7e7 Manual: fix quotes in intf-c.etex 2016-07-13 22:57:12 +02:00
Fabrice Le Fessant 99b4d7bac9 Add a target `make reconfigure` to restart configure with the same options 2016-07-13 16:02:51 +02:00
Fabrice Le Fessant 6a83bdd593 Add cplugins and option -fPIC to ./configure 2016-07-13 14:00:31 +02:00
Fabrice Le Fessant 18cd8a6c01 Merge pull request #647 from lefessan/2016-06-29-compilation-hooks
Add hooks on some compilation phases
2016-07-12 20:14:50 +02:00
Fabrice Le Fessant 1e7b1d9f17 Merge pull request #656 from lefessan/2016-07-04-caml-includes
Install all include files, and access internals with CAML_INTERNALS
2016-07-12 18:50:22 +02:00
alainfrisch d9f43d733e Wrap hook exceptions and have them printed with the standard mechanism instead of stopping the process. 2016-07-12 18:10:08 +02:00
Fabrice Le Fessant bfc36003aa Add hooks on some compilation phases 2016-07-12 17:59:58 +02:00
Fabrice Le Fessant 63a3924f47 Install all include files, and access internals with CAML_INTERNALS 2016-07-12 17:53:24 +02:00
Alain Frisch 40bee9b972 Merge pull request #680 from alainfrisch/ocaml_immediate
Recognize [@@ocaml.immediate] in addition to [@@immediate]
2016-07-12 16:45:42 +02:00
Jeremie Dimino 703d786d17 Collect standard formatters in expect tests
So that the output of #-directives is captured
2016-07-12 14:55:08 +01:00
Pierre Chambart 1ae28b98cf Merge pull request #516 from chambart/improve_texp_record_representation
Improve Texp_record constructor representation
2016-07-12 13:29:31 +02:00
Simon Cruanes 9e21876a28 PR#7147: add colors to errors generated by ppx rewriters
The default error printer now adds the maybe colored "Error" prefixed
itself.

None of the convenience functions (`Location.errorf`,
`Location.error_of_printer`, ...) insert the "Error" prefix
anymore. To handle the formatting correctly, a phantom prefix is added
using `Format.pp_print_as`.

Updated the testsuite.
2016-07-11 16:37:32 +01:00
Pierre Chambart 316756fc56 Update Texp_record documentation 2016-07-11 17:26:17 +02:00
Pierre Chambart 7629e30c25 Remove unused functions from Misc 2016-07-11 17:01:59 +02:00
Pierre Chambart 32cbe38ab5 Update Changes 2016-07-11 16:54:59 +02:00
Pierre Chambart b8e9604fd8 Record evaluation order is always the same
The expressions defining a record are evaluated from the last field in
the type definition to the first one.
2016-07-11 16:51:20 +02:00
Pierre Chambart 24f947e95d Change Texp_record into an inline record 2016-07-11 16:51:20 +02:00
Pierre Chambart c2e66f0097 Switch declaration and definition order in Tepx_record fields 2016-07-11 16:51:20 +02:00
Pierre Chambart 6f010f987c Merge record label descriptions and definition into a single array 2016-07-11 16:51:20 +02:00
Pierre Chambart ef9109709b Test the propagation of updated record type information 2016-07-11 16:50:36 +02:00
Pierre Chambart 05d0663e9d Use the type information to annotate updated record allocation 2016-07-11 16:50:36 +02:00
Pierre Chambart 338da55d31 Clean translcore record case using the change in Texp_record 2016-07-11 16:50:36 +02:00
Pierre Chambart ee49c968d8 Test cases for record update evaluation order when using the objdup method 2016-07-11 16:50:36 +02:00
Pierre Chambart 640b680050 Add test of for record evaluation order 2016-07-11 16:50:36 +02:00
Pierre Chambart 0cf5f5409f Emit type error as soon as we know that a label is missing 2016-07-11 16:50:36 +02:00
Pierre Chambart 415f5d804e Factorisation in the Pexp_record case of Typecore 2016-07-11 16:50:36 +02:00
Pierre Chambart 3f00684169 Change Texp_record contents to ease the use
It also allows to recover the type of kept fields in a
{ record with field = expr } expression
2016-07-11 16:50:36 +02:00
alainfrisch 140552168b Typo. 2016-07-11 15:49:16 +02:00
alainfrisch ae8e0dc352 One more use for String.split_on_char. 2016-07-11 15:23:31 +02:00
alainfrisch 7343901e91 Remove dead code. 2016-07-11 15:16:09 +02:00
alainfrisch 19d513466e Misc.Stdlib.String.split -> String.split_on_char. 2016-07-11 15:01:32 +02:00
alainfrisch 1204048897 Typo. 2016-07-11 14:57:03 +02:00
alainfrisch 15e83644b5 Misc.split -> String.split_on_char. 2016-07-11 14:55:40 +02:00