Commit Graph

81 Commits (1585a95502eb29d769a54d5c1065ab5d5c17ce00)

Author SHA1 Message Date
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
Gabriel Scherer e1647634b9 GPR#133: turn the Lfunction payload (in Lambda.lambda) into a record
(Pierre Chambart)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16001 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-12 09:31:22 +00:00
Gabriel Scherer 638a953bcf Sys: Use constant for some runtime limitations.
It allows to have non-standard limits for non-standard runtime.
ie: js_of_ocaml use 32bits integer, and can handle
string much bigger than 16Mo.

From: Hugo Heuzard <hugo.heuzard@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15588 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17 12:19:27 +00:00
Gabriel Scherer 42b215c79e Printlambda: print array kind with array primitives
From: Frederic Bour <frederic.bour@lakaban.net>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15581 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17 11:53:53 +00:00
Alain Frisch e3ad818fb5 Reintegrate-merge constructors_with_record5 branch.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-14 15:51:30 +00:00
Jérémie Dimino f0b0c82b6f add the %int_as_pointer primitive
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14726 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-02 12:47:02 +00:00
Fabrice Le Fessant 2859498cad Add %loc_* primitives and corresponding values in Pervasives
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14571 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-10 14:11:25 +00:00
Luc Maranget fcf3571123 Folllowup to PR#6359, great cleanup of switch actions sharing.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 15:43:20 +00:00
Alain Frisch fa13304327 Distinguish explicitly representation of regular records and inlined records with tag = 0.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-04 12:37:49 +00:00
Alain Frisch d75e2c8b01 Support for record arguments on exceptions.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-01 11:46:00 +00:00
Alain Frisch 4607a0f8e1 Encode record arguments into extra record declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 12:20:22 +00:00
Luc Maranget c2a88c27fd #PR6269 Optimized string matching
Noticed that I had to bootstrap to test on ARM, so I commit  a new bootstrap
compiler.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-21 17:02:44 +00:00
Jacques Garrigue 3b4d7cf63b Merge module-alias branch (cf. PR#6063)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-10 07:53:33 +00:00
Alain Frisch ae9a78b10d Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14227 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14 14:38:18 +00:00
Alain Frisch 0915cb5b5f Rename raise_nostack -> raise_notrace. Expose it in Pervasives.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/raise_variants@14225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-14 13:52:14 +00:00
Alain Frisch f31325cbaf #6203, #5935: variants of raise. 'reraise' is currently only inserted by the 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-14 12:31:50 +00:00
Jacques Garrigue 4c5e9bbe6b mostly works, but:
* 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-30 11:35:15 +00:00
Alain Frisch 6bfcb1da5b Support for quoted strings.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-26 11:17:17 +00:00
Fabrice Le Fessant 89bdc10350 PR#5774: Add bswap primitives for amd64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13106 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-29 09:55:00 +00:00
Fabrice Le Fessant ec7ac9cb3d PR#5771: Add primitives for reading 2, 4, 8 bytes in strings and bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-09 16:15:29 +00:00
Fabrice Le Fessant 95c20bc6ae PR#5762: Add primitives for fast access to bigarray dimensions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 17:03:34 +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
Xavier Leroy 2eecf2d4c0 PR#5487: addition of CFI directives and a few filename/linenumber info to generated amd64 and i386 assembly files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:41:02 +00:00
Fabrice Le Fessant 2bfba69b77 Backported '%apply' and '%revapply' from 3.12.1+dev to 3.13+dev
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 14:49:39 +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 c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Michel Mauny 666cb14adf Implement Lazy.force as a primitive, and optimize its calls.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8974 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-08-01 16:57:10 +00:00
Xavier Leroy 91d39feb72 PR#4223, PR#1508: added unsafe variants of Bigarray.Array{1,2,3}.{get,set}
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-14 09:09:53 +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
Damien Doligez f700284aac fusion des changements 3.09.3 -> release309_merge310
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-02-09 13:31:15 +00:00
Damien Doligez 1ced22dda7 PR#3767 features 1 and 2: display full location of events instead of one position
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-25 15:35:16 +00:00
Jacques Garrigue 582b64e8c0 share some strings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6715 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-30 07:28:00 +00:00
Jacques Garrigue 6a940ef65d switch to new vtable representation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-05-26 11:10:52 +00:00
Xavier Leroy 7abcc8799e Ajout des litteraux de type int32, nativeint, int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-25 12:27:31 +00:00
Damien Doligez ed3123ee87 changement des locations, premiere tranche
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-01 17:06:47 +00:00
Pierre Weis a829d1d7d6 Using formats %S and %C.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4959 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-27 09:27:14 +00:00
Xavier Leroy 2a23ee4373 Suppression d'un cas particulier de pretty-print, qui rend la sortie trop ambigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-17 13:48:01 +00:00
Xavier Leroy be551edb0a Complex bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4372 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-02-10 17:01:27 +00:00
Luc Maranget eb7578b8db optimsation pm a donf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3427 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-02-19 20:27:52 +00:00
Luc Maranget ab97fd0dcc or-pat avec variables et compil du switch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-10-02 14:18:05 +00:00
Luc Maranget 2dfaaa4903 ptit bug dans un format
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3275 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-14 14:24:46 +00:00
Luc Maranget e8ea52a66a new or-pat compilation + exhaustiveness used in compilation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3274 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-08-11 19:58:52 +00:00
Pierre Weis e3f1ab289d Restaient 3 print_space...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3003 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-27 16:59:04 +00:00
Pierre Weis b34a32bdd8 Le module Ident passe a Format.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2955 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-13 16:49:01 +00:00
Jacques Garrigue 5fc397c150 print boxed integer conversion
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-07 03:04:09 +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
Xavier Leroy 96cb7c30af Ajout des conversions int <-> int32 <-> int64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-05 19:17:54 +00:00
Xavier Leroy c0feeaa7e5 Optimisation des acces aux bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2873 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-28 15:45:50 +00:00
Xavier Leroy b09f44025c Ajout des types predefinis int32, int64, nativeint.
Ajout des primitives correspondantes dans le type lambda.
Optimisation de ces primitives dans le compilateur natif


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2839 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-21 18:14:56 +00:00
Pierre Weis 39553e9972 Révision de l'impression à l'aide de format: utilisation de printf
pour condenser les programmes et aussi préparer une future (éventuelle)
internationalisation d'Objective Caml.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-08 20:00:06 +00:00