Commit Graph

35 Commits (c1e2080803819d2bc78cc56e87cb85a8d97fe49f)

Author SHA1 Message Date
Jacques Garrigue eb0de16ee0 Fix PR#4166, PR#6959: force linking when calling external C primitives 2015-11-13 13:59:14 +09: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
Jacques Garrigue e34f40ad87 switch to 'pat -> .' and add P/Texp_unreachable
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadt-warnings@16507 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-16 00:13:40 +00:00
Gabriel Scherer 90061455e6 GPR#111: `(f [@taillcall]) x y` warns if `f x y` is not a tail-call
(Simon Cruanes)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16010 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-12 18:26:38 +00:00
Jacques Garrigue 158480371a exhauce PR#6367: introduce Asttypes.arg_label to encode labelled arguments
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-22 08:45:55 +00:00
Gabriel Scherer a9b0358f8c Translcore.transl_primitive: enable type-directed optimizations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15583 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17 12:04:32 +00:00
Alain Frisch 0f6f367ad4 Change the representation of exception slots: instead of being represented 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-23 14:28:31 +00:00
Alain Frisch 2e199ef1f2 Item attributes on each let-binding.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 15:14:19 +00:00
Alain Frisch e7736899fb Explicit representation of guards, get rid of Pexp_when.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-15 16:23:22 +00:00
Alain Frisch 77d3fce857 Align exception_declaration with Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13446 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 18:42:45 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Fabrice Le Fessant 3fa58bda89 Fix PR#5735: %apply and %revapply not first class citizens
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12870 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-21 07:12:04 +00:00
Fabrice Le Fessant d39d43e55f merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 14:52:37 +00:00
Fabrice Le Fessant e73cade9b2 Fix PR#5297: compiler does not check %primitive's existence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 09:45:30 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez 1dd68ccf50 ajout des annotations pour variables et appels terminaux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-05-16 08:21:41 +00:00
Jacques Garrigue f2095623ff fast and compact classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-25 09:20:45 +00:00
Jacques Garrigue e477ccd225 relaxation de la semantique des effets de bords sur les parametres
optionels, pour permettre une compilation plus efficace.
modifie' translcore, typedtree, typecore, typeclass


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3293 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-09-04 08:49:32 +00:00
Pierre Weis b96208b7a2 Revu les impressions du compilateur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-06 22:12:09 +00:00
Jacques Garrigue 296fc05470 Merge olabl branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 16:07:38 +00:00
Xavier Leroy cc0f32b054 Changement de la licence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Jérôme Vouillon 967244f4a1 Compilation correcte de "class c = let e in e'".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2205 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-11-30 18:25:12 +00:00
Xavier Leroy 19d79cd6ac Meilleurs noms pour les exceptions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1991 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-23 10:06:50 +00:00
Xavier Leroy ea8fe59ea0 Adoption des memes representations que dans ocamlopt pour les tableaux de flottants et les fonctions mutuellement recursives.
Simplification de la compilation du let rec de valeurs.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1895 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-06 09:15:55 +00:00
Xavier Leroy 83cea541c3 Ajout de let module = <modulexpr> in <expr>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1882 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-02-26 12:54:44 +00:00
Xavier Leroy 8d069d7e00 Ajout du module Types et d'infos d'environnement dans Typedtree.
Translcore: meilleur tests de types pour determiner le kind d'un tableau.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 11:30:27 +00:00
Xavier Leroy 2301d778e7 Renommage en Objective Caml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Jérôme Vouillon 7974a9d8b1 Extension objets.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-22 11:15:41 +00:00
Xavier Leroy 26747162e8 Acces aux variables liees par un pattern-matching entierement revu.
Passe d'elimination des lets inutiles.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@534 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-12-15 10:18:29 +00:00
Xavier Leroy e06a12dcd6 Ajout de std_exit au link.
Pas de code produit par une definition de primitive.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@347 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-23 16:56:52 +00:00
Xavier Leroy e4066357b1 Ajout des notices de copyright
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy b44ab158b2 Creation du module primitive.
Gestion speciale des tableaux de flottants et des records de flottants.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@152 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-27 17:40:34 +00:00
Xavier Leroy 8deb415b89 Changement representation des primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@143 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 11:38:42 +00:00
Xavier Leroy 61bd8ace6b Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00