Commit Graph

943 Commits (ec8203077a47324195d33d65189402e69a2e66dc)

Author SHA1 Message Date
Jacques Garrigue 9229b15aaa Fix PR#6980 and remove unused Ctype.iterative_generalization 2015-11-30 13:49:30 +09:00
Gabriel Scherer 9d7ea1a9f2 Merge pull request #313 from chambart/quadratic_behavior_in_CSE
Prevent quadratic cases in CSE
2015-11-29 22:37:33 +01:00
Gabriel Scherer df69745553 user-defined indexing operators: revert Changes 2015-11-29 21:01:31 +01:00
Gabriel Scherer 894d76d2f1 manual: Changes entry 2015-11-29 08:50:01 +01:00
Pierre Chambart 547ae2e2a2 Update Changes 2015-11-28 21:57:14 +01:00
Gabriel Scherer 312d977037 testsuite for formatting of hexadecimal floats 2015-11-28 19:14:08 +01:00
Vincent Laporte abb35cbdb1 ocamlbuild: use ocamlfind to discover camlp4 path
and default to `+camlp4`
2015-11-27 22:04:58 +01:00
Jeremie Dimino 4ffefb4183 update Changes 2015-11-27 18:23:48 +00:00
Xavier Leroy 906558a155 PR#7038: out of memory condition in caml_io_mutex_lock
Check the return code of st_mutex_create so that, in particular, out-of-memory conditions cause an exception.
2015-11-27 15:33:15 +01:00
Xavier Leroy bf87415c1c PR#7024: in documentation of Str regular expressions, clarify what "end of line" means for "^" and "$" regexps. 2015-11-26 15:08:34 +01:00
Damien Doligez 2512b48307 arg: add changelog entry and test 2015-11-25 22:22:24 +01:00
Sergei Lebedev 9dc2b25a0e PR#4518: change location format for reporting errors in ocamldoc 2015-11-24 00:47:31 +03:00
Alain Frisch 4788ab33d6 Merge pull request #283 from mlasson/trunk
Fix memory leaks in intern.c when OOM is raised
2015-11-23 13:25:34 +01:00
Gabriel Scherer 264bc665de minor Changes: renaming whitequark 2015-11-23 10:43:03 +01:00
iguer 2b25384df5 simple sharing in maps: update Changes 2015-11-22 18:36:37 +01:00
Gabriel Scherer 5db98d0074 Merge pull request #298 from lijunsong/trunk
PR#6935:ocamldebug:load_printer raise uncaught exception when passing directory
2015-11-22 17:23:04 +01:00
lijunsong 99a552926e Add an entry in Changes. 2015-11-22 07:41:45 -08:00
Marc Lasson 448d365d32 Update changelog & remove useless vertical spaces 2015-11-20 17:51:43 +01:00
Damien Doligez 274be1bdc2 remove duplicate entry for GPR#171 in Changes 2015-11-20 15:51:05 +01:00
Xavier Leroy 93735adf47 z port: dedication. 2015-11-19 17:01:06 +01:00
Xavier Leroy 32def141e5 z port: update Changes 2015-11-19 08:26:59 -05:00
Xavier Leroy 0c5e862a3e GPR#268: Hexadecimal notation for floating-point numbers
Merge of branch 'hex-float'.

- Add support in byterun/floats.c for conversions between floats and strings in hex notation. We cannot rely on the C standard library here because Microsoft consistently fails at supporting hex notation as standardized in C99. Instead, the conversions are implemented from scratch.
- Add support in the lexer so that hex float literals are recognized in OCaml sources.
- Add support in formats. The ISO C99 format letters for hex floats are %a and %A, but %a is already taken. I chose %h and %H, which are rejected today as bad formats (hence no backward incompatibility) and don't mean anything in C either (h is a modifier, not a format letter).
- Add support in printf. All the trimmings are there in the implementation of %h and %H, including sign modifier and fixed precision.
- Benoit Vaugon contributed support in scanf.

Resolved conflicts:
	boot/ocamlc
	boot/ocamldep
	boot/ocamllex
	parsing/lexer.mll
2015-11-19 10:37:20 +01:00
Xavier Leroy 2641daf1fe PR#6910 and GPR#224: extend marshaling to support data encodings beyond 4 Gb
- Update Changelog
- #define inline in config/m-nt.h to support MSVC (to be tested).
2015-11-19 09:59:40 +01:00
Xavier Leroy 6cd8656249 PR#7024 and GPR#295: CSE confuses +0.0 and -0.0
The fix consists in representing float literals by their bit patterns (int64) in the Mach and Linear intermediate languages.

A regression test was added to the test suite.
2015-11-19 09:25:02 +01:00
Thomas Refis ce793e16ef update Changes 2015-11-16 11:06:09 +01:00
Xavier Leroy e7f339e6bd Improve speed of classify_float
As suggested in the discussion of GPR#272:
- Do not go through fpclassify()  (speedup: 2 to 3)
- Add 64-bit variant of the code  (additional speedup: 10%-20%)
2015-11-15 16:43:46 +01:00
Xavier Leroy 50648ed2b7 PR#4023 and GPR#68: add Unix.sleepf and improve Unix.sleep
Unix.sleepf provides sleep with sub-second resolution.
Unix.sleep is implemented on top of Unix.sleepf.
If a handled signal causes the sleep to return early with an EINTR
error, catch it and restart the sleep for the remaining time.
2015-11-15 15:34:45 +01:00
Jacques Garrigue eb0de16ee0 Fix PR#4166, PR#6959: force linking when calling external C primitives 2015-11-13 13:59:14 +09:00
Xavier Leroy dc043a7b62 PR#6945 and GPR#227: protect Sys and Unix functions against string arguments containing the null character '\000'
Implementation notes:
- Based on c-cube's GPR#227 code, but many Unix functions were missing.
- For Unix.bind and Unix.connect to a PF_UNIX address, tolerate
  file names whose first character is '\000': in Linux, these have
  a meaning as "abstract socket addresses", and in other operating
  systems, the resulting empty path name causes a EINVAL error
  (tested under MacOS X).
- Very lightly tested.
- win32unix remains to be fixed.
2015-11-11 17:07:44 +01:00
Xavier Leroy 23ed29da6b Merge branch 'trunk' of ssh://github.com/ocaml/ocaml into trunk 2015-11-11 11:40:47 +01:00
Xavier Leroy ed0a785f02 PR#7039: Unix.getsockname returns garbage for unnamed PF_UNIX sockets.
Fix implemented: return ADDR_UNIX "" in this case (the file name is the empty string).
2015-11-11 11:39:10 +01:00
Xavier Leroy b09f3ff9b1 Merge pull request #280 from mshinwell/parallel-make-fixes
Fix stdlib dependencies for .p.cmx
2015-11-11 10:29:59 +01:00
Gabriel Scherer 1fb2a8166c update Changes for GPR#279 2015-11-05 16:52:03 +01:00
François Bobot 26b8189fe8 Update Changes 2015-11-05 13:09:27 +01:00
Leo White 44306923a8 Merge pull request #261 from lpw25/fix-pr6998
Fix PR6998
2015-11-05 11:35:55 +00:00
Jeremie Dimino 5ed4d5bb4b add missing author in Changes 2015-11-05 10:41:13 +00:00
Jeremie Dimino 6676784f63 PR#6806: Allow type annotations before the "->" in "fun <args> -> <expr>"
Patch by Valentin Gatien-Baron
2015-11-05 10:41:13 +00:00
Jeremie Dimino 26657d5736 PR#6806: Syntactic sugar for type annotations on record fields
Add the following syntactic sugars, in both expressions and patterns:
- { f : typ = x } to mean { f = (x : typ) }
- { f : typ     } to mean { f = (f : typ) }

In expressions, the type annotation can also be a coercion. For
instance: { f :> typ } to mean { f = (f :> typ) }.

Patch by Valentin Gatien-Baron
2015-11-05 10:41:13 +00:00
Jacques Garrigue f32db119ce Fix PR#7036: Module alias and package type equality 2015-11-05 14:20:50 +09:00
Mark Shinwell 211791a409 Changes 2015-11-04 11:09:48 +00:00
Leo White e714e25a01 Take the P out of my name 2015-11-04 11:01:34 +00:00
Leo White c0ea8bf779 Add Changes entry 2015-11-04 11:01:34 +00:00
alainfrisch 6e0352187b Changelog. 2015-11-03 21:05:07 +01:00
Jérémie Dimino 8fee9d45e1 Merge pull request #277 from diml/more-unboxed-on-externals
Switch a few externals to [@@unboxed]
2015-11-03 17:59:21 +00:00
Jeremie Dimino 770c0531c8 Update Changes 2015-11-03 17:22:05 +00:00
Gabriel Scherer 9e190ed926 update Changes for GPR #276 2015-11-03 14:31:25 +01:00
Mark Shinwell bbd0ac54ab Changes entries for GPR#270 and GPR#271 2015-11-02 14:51:03 +00:00
Gabriel Scherer 6ca3ce56ee Changes elaboration 2015-10-31 16:58:17 +01:00
Gabriel Scherer b2e81d7800 Merge pull request #267 from yallop/faster-ifprintf
A more efficient implementation of ifprintf
2015-10-31 16:54:40 +01:00
Jeremy Yallop afccdb3609 Changelog entry for PR7034. 2015-10-31 12:27:01 +00:00
Xavier Leroy 4bd9adbdc7 PR#7030: libasmrun_shared.so fails to build on SPARC Solaris 2015-10-27 18:16:08 +01:00
Gabriel Scherer 54e039901e GPR#42: Add simpler functor type syntax
(Leo White)

Add support for simple functor types of the form:

    S -> T

equivalent to:

    functor (_ : S) -> T

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16546 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 16:24:47 +00:00
Gabriel Scherer 8afbaa5747 New representation for queues, avoiding Obj.magic
(Jérémie Dimino)

- use inline-records to avoid using Obj.magic while keeping
  indirections to the minumum
- change the representation from a cyclic list to a simply-linked
  list. The drawback is one more word per queue, but it makes the
  implementation clearer

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16545 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 13:39:07 +00:00
Gabriel Scherer 2d9ff61b02 Improve the code generation for if equivalent to seqand or sequor
(Pierre Chambart)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16544 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 13:39:05 +00:00
Gabriel Scherer 1ee366e423 Changes: rename 'octachron' into Florian Angeletti
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16541 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 12:06:36 +00:00
Xavier Leroy 6054bcb3dd GPR#164: more efficient (branchless) implementation of Pervasives.compare
specialized at type 'float'.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16539 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-25 10:21:13 +00:00
Mark Shinwell ca39ac766e GPR#262: Multiple GC roots per compilation unit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 15:16:22 +00:00
Jacques Garrigue a335b18a45 merge branches/gadt-warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16532 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 08:33:44 +00:00
Mark Shinwell e27e699fca GPR#173: Attributes to control inlining
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 08:18:08 +00:00
Alain Frisch 4984cd0f8f PR#7022, GPR#259: unbox float and boxed ints earlier, avoid second pass.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-20 15:11:11 +00:00
Damien Doligez 587e2d9cbb remove duplicate entry in Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-19 15:50:12 +00:00
Damien Doligez 659615c7b1 fix PR#7003 and a few other bugs caused by misuse of Int_val
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16525 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-19 15:47:33 +00:00
Damien Doligez be79451d83 PR#7008: Fatal error in ocamlc with empty compilation unit name
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16523 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-19 13:01:28 +00:00
Gabriel Scherer 67fcfe0104 GPR#258: add missing Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16521 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 14:21:21 +00:00
Gabriel Scherer 41a8aa5771 PR#7012: hint when using [ 'A | 'B ] instead of [ B ]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 13:46:02 +00:00
Gabriel Scherer c23132d6fc Revert "PR#7012: hint when using [ 'A | 'B ] instead of [ B ]"
(Sent the wrong patch version)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16518 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 13:46:00 +00:00
Gabriel Scherer 88fe01cc5b PR#7012: hint when using [ 'A | 'B ] instead of [ B ]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-17 13:42:00 +00:00
Jacques Garrigue 211888ed03 Fix PR#6907: always mark all loops...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 15:00:46 +00:00
Jacques Garrigue 8ff158b81c Fix PR#6954: subtleties of expansion...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16509 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 14:03:04 +00:00
Jacques Garrigue bea2f16ec8 Fix PR#7016: occur check must handle existing recursive types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 10:25:08 +00:00
Alain Frisch 6335c01389 Typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16503 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-15 13:29:35 +00:00
Alain Frisch a21eaeaa40 GPR#254: @ocaml.arg_on_literal_pattern attribute on constructors
to warn when the argument is matches against a constant pattern.
This attributes is applied on predefined exception constructors
which take an purely informational (with no stability guarantee)
message.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16502 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-15 12:30:10 +00:00
Alain Frisch aaeda7763b #4800: better compilation of tuple assignment (joint work Gabriel Scherer / Alain Frisch).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16501 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-15 12:07:08 +00:00
Alain Frisch 1c6229235b #7018: fix missing identifier renaming during inlining.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16499 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-14 20:05:38 +00:00
Xavier Leroy 307f55ade9 PR#7013: spurious wake-up in the Event module.
Tentative fix, to be tested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16490 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-11 08:55:26 +00:00
Jacques Garrigue 0a4f57d5b7 Fix PR#7012
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16489 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-10 07:22:35 +00:00
Gabriel Scherer 3fcdc06ae8 add missing LIB and INCLUDE variables from MS environment export in README
(Philip Daian)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16487 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:42:00 +00:00
Gabriel Scherer e27c4df33b Fix cross-compilation with ocamldoc enabled.
(Peter 'whitequark' Zotov)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:58 +00:00
Gabriel Scherer bedb4e3ac1 Build system: fix a few hardcoded ar commands.
(Daniel Bünzli)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16485 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:57 +00:00
Gabriel Scherer 961622faad Changes entry for comment translation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16484 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:55 +00:00
Gabriel Scherer 917a9c1c51 safe Stream changelog entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16473 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:36 +00:00
Gabriel Scherer e60b6f423e fleshing out the CONTRIBUTING document
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16468 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 20:41:28 +00:00
Damien Doligez 3397e7ff16 GPR#243: Faster test suite
(Xavier Leroy)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16466 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-09 15:45:37 +00:00
Jérémie Dimino fa457b3b6a Update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16462 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 11:12:38 +00:00
Alain Frisch 12f6a53937 GPR#250: Check for negative start element in Array.sub.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-05 09:02:05 +00:00
Jacques Garrigue cf303fcc8b Fix PR#6992
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-18 13:46:56 +00:00
Jacques Garrigue f5bf4bdce1 Fix PR#6993: allow recursive types when doing unification on GADT indices
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16426 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-18 09:55:18 +00:00
Damien Doligez b860d63145 whitespace cleanup, cut long lines, add some missing headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-11 11:58:31 +00:00
Alain Frisch cf9002cfd8 PR#6979: better code generation in x86-32 backend for copying floats to the stack (Marc Lasson, review by Xavier Leroy).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16414 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-10 09:47:37 +00:00
Jacques Garrigue ceb8ceca82 Fix PR#6985
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16413 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-10 02:34:04 +00:00
Jacques Garrigue a0f6145be5 Fix PR#6944
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16412 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-09 09:17:02 +00:00
Jacques Garrigue 8873757fb1 partial fix of PR#5780
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16411 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-09 08:51:02 +00:00
Jacques Garrigue 65435149d2 Fix PR#6982
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-09-09 06:37:16 +00:00
Jérémie Dimino 6d334073f6 Update changelog for GPR#167
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16395 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 16:18:56 +00:00
Xavier Leroy d55c7c8e9a GPR#226: select higher levels of optimization for GCC and Clang when
compiling the run-time system and C stub code.

Also: select "gnu99" mode (= ISO C99 + GNU extensions).

Also: gcc/clang warnings are errors when in development mode.
(Turned off for release builds.)

Also: clean up and modernize the autoconf tests in config/auto-aux

(Merge of branch 'cc-optim'.)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16379 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 14:47:46 +00:00
Xavier Leroy ced9a95098 Mention the new PPC 64 bits code generator (follow-up to r16374).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 14:40:21 +00:00
Gabriel Scherer a01ff57130 Added .dylib and .so as extensions for ocamlmklib
(Edgar Aroutiounian, Peter Zotov)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16373 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-22 21:54:14 +00:00
Mark Shinwell c4e3173807 Fix GPR#233: Make CamlinternalMod.init_mod robust to optimization
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16364 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-21 14:37:11 +00:00
Gabriel Scherer d020ae12af Handle custom block with finalizers in deserialization. Fix PR#3612
(Pierre Chambart)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-16 21:23:49 +00:00
Gabriel Scherer ceb5e0baa8 Move bytecode debug info from the OCaml heap to static allocations
There is currently a GC bug in the bytecode debug-info handling, due
to the fact that
  void read_main_debug_info(struct debug_info *di)
is passed a internal pointer in the middle of a custom block inside
the OCaml heap. I could only observe the bug when such custom blocks
are allocated on the minor heap -- which does not happen with the
current implementation, but becomes possible after GPR#92 for example
(which let custom blocks with finalizer be allocated in the
minor heap).

This commit fixes this issue by moving debug_info chunks from the
OCaml heap to the C land, stored in a dynamic table. They are
allocated when caml_add_debug_info is called, and removed when
caml_remove_debug_info is called.

(Another approach would be to keep the debug_info inside the OCaml
heap, but make sure that there are no dangling internal pointers. See
GPR#228 for an attack of this by Mark Shinwell.)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16356 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-16 20:56:12 +00:00