summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-05-12Enable warning 27 in tools/ and fix occurrences. It's good to mark in ↵Alain Frisch
depend and untypeast parts which are explicitly ignored. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12update Changes for -no-naked-pointersMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12Jacques forgot a crucial detailMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14792 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12no-naked-pointers patchMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14791 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11Fix PR#6410: Error message for an attempt to use a functor as a module is ↵Jacques Garrigue
confusing git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14790 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11comment out Ctype.local_non_recursive_abbrevJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14789 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11fix man pages: should be open!Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14788 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11commit o_and_opens.diffJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14787 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10fix testsuiteGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14786 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10update ChangesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10Reformulation of the user-facing slot-access APIGabriel Scherer
- The internal [backtrace_slot] type is not exposed anymore, instead accessors function return orthogonal information (is_raise, location). This is both more extensible and more user-friendly. - The [raw_backtrace_slot] is exposed separately as a low-level type that most users should never use. The unsafety of marshalling is documented. Instead of defining [raw_backtrace = raw_backtrace_slot array], I kept [raw_backtrace] an abstract type with [length] and [get] functions for random-access. This should allow us to change the implementation in the future to be more robust wrt. marshalling (boxing the trace in a Custom block, or even possibly the raw slots at access time). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10bootstrapGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14783 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10improve backtrace testsuiteGabriel Scherer
Test the behavior of the deprecated primitive [caml_get_exception_backtrace], and minimal tests for hashing/comparison of raw backtrace slots. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10expose Printexc.format_backtrace_slot to facilitate testingGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14781 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10reinstate the deprecated primitive caml_get_exception_backtraceGabriel Scherer
Jacques-Henri initially removed the primitive, which is deprecated since 4.01, but I suspect there still are uses in the wild. I guess we should wait for a few more versions. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14780 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10factor the pointers-into-ints cleverness through pair of macrosGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14779 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10cleanup cmp_ev_infoGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14778 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10typosGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14777 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10Printexc: OCaml-friendly access to individual backtrace slotsGabriel Scherer
(Patch by Jacques-Henri Jourdan) There are several changes: - `raw_backtrace` is no longer an abstract type, but rather an `raw_backtrace_slot array`, where `raw_backtrace_slot` is a new abstract type. `raw_backtrace_slot` elements are hashable and comparable. At runtime, values of this type contain either a bytecode pointer or a frame_descr pointer. In order to prevent the GC from walking through this pointer, the low-order bit is set to 1 when stored in the array. - The old `loc_info` type is know public, renamed into `backtrace_slot`: type backtrace_slot = | Known_location of bool (* is_raise *) * string (* filename *) * int (* line number *) * int (* start char *) * int (* end char *) | Unknown_location of bool (*is_raise*) - new primitive : val convert_raw_backtrace_slot: raw_backtrace_slot -> backtrace_slot Rather than returning an option, it raises Failure when it is not possible to get the debugging information. It seems more idiomatic, especially because the exceptional case cannot appear only for a part of the executable. - the caml_convert_raw_backtrace primitive is removed; it is more difficult to implement in the C side because of the new exception interface described above. - In the bytecode runtime, the events are no longer deserialized once for each conversion, but once and for all at the first conversion, and stored in a global array (*outside* the OCaml heap), sorted by program counter value. I believe this information should not take much memory in practice (it uses the same order of magnitude memory as the bytecode executable). It also makes location lookup much more efficient, as a dichomoty is used instead of linear search as previously. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14776 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09indentationJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14775 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09disable Clflags.transparent_modules when narrowing unbound identifier errorJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14774 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09add Changes note for the patch in rev 14772Mark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09fixed bug in native caml_raise_with_string, and synced code in ↵Mark Shinwell
byterun/fail.c for that function git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14772 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09small re-ordering of declarations, to match commentsFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14771 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09Add reset functions to make modules reentrant when used through compiler-libsFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09Fix PR#6405: unsound interaction of -rectypes and GADTsJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-08[minor] Makefile: fix the hard-bootstrap recipeGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-08fix .depend for parallel makeGabriel Scherer
Damien introduced a dependency from asmcomp/ to typing/env.ml, which breaks parallel build. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14767 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-08cycle detection in the toplevel printer (Leo White, ↵Mark Shinwell
https://github.com/ocaml/ocaml/pull/23/) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14766 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-08fixes to Travis CI script from AnilMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14765 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-08Follow-up to r14763: use caml_stat_free instead of plain free.Xavier Leroy
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07Eradicate one more sprintf().Xavier Leroy
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07Protocol to allow ppx processors to report warnings to the compiler ↵Alain Frisch
(reported as warning 22). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14762 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07fix various thingsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07add small precision about -warn-errorDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14760 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07Expose a Typemod.type_interface (currently an alias of ↵Alain Frisch
Typemod.transl_signature) by symmetry with type_implementation. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07Minor tweak to raw dump of parsetree/typedtree.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07Fix PR#6394: Assertion failed in Typecore.expand_pathJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07#6399: protocol (based on a built-in ocaml.error extension node) to let ppx ↵Alain Frisch
tools send located errors to be reported by the compiler (patch by Peter Zotov). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07re-commit Leo's weak-dependencies pull requestJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-06PR#6397: fix infix (+=) operators after open types mergeGabriel Scherer
(Patch by Leo White) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14754 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-06ocaml.warnerror built-in attribute.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14753 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-06Revise behavior of ocaml.warning attribute: when used as a floating ↵Alain Frisch
attribute (in a signature or structure), the scope is restricted to the current signature/structure instead of being global. Also support the new floating attributes in classes, with the same behavior. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14752 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-06When the payload of the ocaml.deprecated attribute is a string, report it as ↵Alain Frisch
part of the warning message. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14751 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-06Recognize both prefixed and unprefixed built-in attributes (e.g. ↵Alain Frisch
ocaml.deprecated or deprecated). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14750 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05Accept a fully empty pattern matching. This can be generated by Camlp4 ↵Alain Frisch
using its revised syntax, and this seems to be used in the wild. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14749 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05Remove FIRST_UNIMPLEMENTED_OP from interp.cFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14748 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05Whitespace.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05Changelog.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05Indent + comment.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14744 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02