summaryrefslogtreecommitdiffstats
path: root/bytecomp
AgeCommit message (Collapse)Author
2014-03-10Fix two makeblocks incorrectly marked as Immutable. The lazy-related one is ↵Alain Frisch
concretely problematic in presence of stronger constant propagation. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-10Fix PR#6307Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-17Quick fix of PR#6325Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14434 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-07Fix bug (structure-level attributes and ocamlopt).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14433 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-06PR#6322 Corrected.Luc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-10Merge module-alias branch (cf. PR#6063)Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-20Add -trans-mod option for transparent module dependencies.Jacques Garrigue
Without that option, dependencies are strict, both for typing and linking. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-13Cleanup.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14287 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-23Change the representation of exception slots: instead of being represented ↵Alain Frisch
as 'string ref', they are now blocks of size 2, with tag = Object_tag, the first field being the pointer to the string, and second one being a unique id, generated from the same sequence as for object values. Special case for predefined exceptions, represented with a negative id. The unique id generator is moved from camlinternalOO to the C runtime system. Also fix some bugs. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14239 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-18#6203: change representation of exception values created with a constant ↵Alain Frisch
constructor: the value is now equal to the exception slot. This avoids some allocation when the constructor is called and an extra indirection on matching against the constructor. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14235 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14Cleanup.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14Support for raise variants in ocamlopt. Only amd64 for now.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14226 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14Rename raise_nostack -> raise_notrace. Expose it in Pervasives.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14Recognize reraises in handlers.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14#6203, #5935: variants of raise. 'reraise' is currently only inserted by the ↵Alain Frisch
compiler when an handler does not catch the exception. The default 'raise' always start with a fresh backtrace. There is also 'raise_nostack' which does not trigger the stack trace recording. Bytecode only for now. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14223 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-05fix multiple binding of same identifier in apply_coercion, broke core_extendedJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14215 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-04make path normalization safer; now Core not only compiles but worksJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14212 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-03more exception paths requiring normalizationJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-02fix exn_rebind: camlp4 compiles againJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14207 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30passes the testsuite!Jacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30Merge trunk at revision 14200. Now everything works except private typesJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14201 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30mostly works, but:Jacques Garrigue
* a strange bug in open * spurious bindings in the lambda code git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14200 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30do not alias functor parameters + some problems with coercions not fixed yetJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14198 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-29module translation + bad functor exampleJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14197 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-29Support module aliases.Jacques Garrigue
Namely, you can write "module L = List" in signatures, and avoid have the compiler use directly List when you write L. See examples in testsuite/tests/typing-modules/aliases.ml git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14196 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27Keep attributes on module declarations.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27Keep location and attributes in type, label and constructor declarations. ↵Alain Frisch
Deprecated warning when a deprecated type or constructor is referenced. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-26Keep attributes on value declarations in .cmi files (but clear all the ↵Alain Frisch
location fields, except if -keep-locs is used, of course). Use this to report a warning when a value marked as [@@deprecated] is referenced (#5854) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17Do not track unused type declarations created by 'include'.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14158 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12Continue.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14119 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12Switch {Translmod,Translcore,Translclass}.Error.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14118 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04Merge branch 4.01 from branching point to 4.01.0+rc1Damien Doligez
Command line used: svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 . git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-22Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17#6073: Add signature to Tstr_include. (Cherry-picked from commit 13903 on 4.01.)Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-16Synchronize with trunk.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-02Patch for PR#5788Luc Maranget
(Exception binding fools pattern matching optimisations) Hopefully it's complete... git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13871 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01configure: store $target and $host in the build configuration (fix-pt2). ↵Wojciech Meyer
(Patch by Adrien Nader!) Fixing builds continued. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13866 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30Revert "configure: store $target and $host in the build configuration." as ↵Wojciech Meyer
it breaks several builds. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13858 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30configure: store $target and $host in the build configuration.Wojciech Meyer
(Patch by Adrien Nader!) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13857 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-10PR#6033 continued: ocamlopt-specific path (inline_lazy_force_switch) was ↵Xavier Leroy
lying about the max value for the argument to the switch. The whole "let's choose between two implementations of inline_lazy_force" smells. It should be possible to have one implementation that works well in bytecode and in native. TBD. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-07PR#6033: Matching.inline_lazy_force needs eta-expansion (command-line flags)Xavier Leroy
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05Improved implementation of OCAMLPARAMFabrice Le Fessant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03Item attributes on each let-binding.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-28extend warning 3 to other deprecated features: Latin1, (&) and (or)Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13706 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-16#5980: explicit way to silence the new warning (open! X).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-29#5832: patch to improve 'wrong file naming' error messages.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13618 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-25Fix PR #5992Luc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-19The arument of attributes and extension nodes is now a structure, which is ↵Alain Frisch
syntactically more general than an expression (through the embedding E -> [Pexp_eval E]). git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13579 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-18PR#5986: added flag Marshal.Compat_32 and ocamlc option -compat-32.Xavier Leroy
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13554 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17Get rid of the 'explicit arity' flag on Pexp_construct/Ppat_construct. If ↵Alain Frisch
really requires (for camlp5?), the feature should be reimplemented with attributes. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13549 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02