Commit Graph

136 Commits (c550f4b8583596b4b59662960371943e7f750fdf)

Author SHA1 Message Date
Damien Doligez cbfe627f92 merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 13:45:02 +00:00
Damien Doligez 5b8df637d2 merge branch "safe-string"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 11:56:17 +00:00
Damien Doligez 7303ac34ca fix some of the whitespace problems in the source
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14582 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-12 10:17:02 +00:00
Damien Doligez 2231b6496b make clean: remove *.cmt and *.cmti files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14543 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 10:57:12 +00:00
Gabriel Scherer d22b112968 ocamllex: user-definable refill actions (patch by Frédéric Bour)
The patch introduces a new "refill" action. It's optional and if
unused the lexer specification and behavior are unchanged.

When specified, it allows the user to control the way the lexer is
refilled. For example, an appropriate refill handler could perform the
blocking operations of refilling under a concurrency monad such as Lwt
or Async, to work better in a cooperative concurrency setting.

To make use of this feature, add

  refill {refill_function}

between the header and the first rule.

[refill_function] is a function which will be invoked by the lexer
immediately before refilling the buffer. The function will receive as
arguments the continuation to invoke to resume the lexing, and the
current lexing buffer.

More precisely, it's a function of type:

  (Lexing.lexbuf -> 'a) -> Lexing.lexbuf -> 'a

where the first argument is the continuation which captures the
processing ocamllex would usually perform (refilling the buffer, then
calling the lexing function again), and the result type ['a] should
unify with the result types of all rules.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14461 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-14 15:39:32 +00:00
Mark Shinwell 1f4de8b799 use -bin-annot when building
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14448 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 14:47:30 +00:00
Damien Doligez fd2c7e3be3 PR#5598: (follow-up) handling of string constants in ocamllex should be the same as in ocamlc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-22 13:31:54 +00:00
Xavier Leroy 33f242aaea Reverting the elimination of the ocamlcomp*.sh scripts, namely the following commits:
14278
14277
14276
14176
14175
14173
14172
14171
14169
14168
14167
These changes need to mature on their own branch.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14329 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-29 13:04:38 +00:00
Wojciech Meyer 928503e9b8 build: always build lex/ and ocamlc with the compiler from boot/.
(Patch by Adrien Nader!)

This is a partial revert of revision 14168 which caused issues when
bootstrapping the compiler. Since these directories don't take long to
build, we can always use a byte-compiled compiler.

Bootstrapping and more generally working on the compiler itself does not
play nice with trying to use the most recent compiler as soon as
possible: imagine you've just modified the compiler but in a way that
breaks it at runtime in a non-obvious way; all the files that are
subsequently built will have been built with your the compiler you will
be debugging.

v2: always build tools/ with boot/ocamlc since most executables link
    against compiler libs.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14277 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-10 12:32:12 +00:00
Alain Frisch eddb6e86d9 Typo (#6190).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-25 07:16:21 +00:00
Wojciech Meyer 241585bc83 build: replace ocamlcomp*.sh.
This script was built from ocamlcomp.sh.in through sed and is called
instead of "ocamlc" (for instance).
It makes it possible to switch from "ocamlc" to "ocamlc.opt" without
changing anything in the Makefiles, only calling sed.

I couldn't cleanly make it handle both a compiler for the target and for
the build. Instead I'm replacing it and doing as much as possible
directly in the Makefiles.
I hoped it would reduce the number of shell invocations, which would
speed things up quite a lot on Windows but I still had to have at least
one since it's not possible to update a make variable from inside a make
rule: i.e. it's not possible to do X=a, build a.opt and update X to be
a.opt.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20 00:22:38 +00:00
Damien Doligez 7844495624 Merge branch 4.01 from branching point to 4.01.0+rc1
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-09-04 15:12:37 +00:00
Damien Doligez 5fbcc8e6ae PR#4243: make the Makefiles parallelizable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 14:39:31 +00:00
Pierre Weis 1673c623b5 Wrong quoting chase.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13718 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 18:05:44 +00:00
Xavier Leroy e29c9d2956 PR#5986: added flag Marshal.Compat_32 and ocamlc option -compat-32.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13554 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-18 11:58:59 +00:00
Damien Doligez a27fa1322e fix whitespace and over-long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-22 18:20:59 +00:00
Gabriel Scherer 75b8c0184f PR#5933 type-specialize 'let compare = compare' on ints and strings
According to the reporter 'sliquister', type-specialized comparison
can nearly halve compilation time in some cases. This patch applies
type-specialization throughout the OCaml distribution sources, so not
all changes will have performance utility, but in this case I think
it's best to be consistent, as I see no downside to the change.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-19 07:22:12 +00:00
Damien Doligez c63f9e0957 fix a few problems with whitespace and over-long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +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
Damien Doligez 0c3a7de507 merge changes from 4.00 branching to 4.00.0 (part 1)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-26 19:21:54 +00:00
Alain Frisch dd6d8257c0 Enabled 'unused rec flag' warning.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12503 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 12:33:51 +00:00
Alain Frisch a0a14c08fa Enable and fix more warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:47:28 +00:00
Alain Frisch 05c973e6ed Compile with warning 33, and remove unused opens.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:10:03 +00:00
Damien Doligez 828ad95b7b PR#5598: add backslash-space support in ocamllex
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12419 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-02 14:41:55 +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 90664f4ea1 uniform .ignore system
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11133 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 15:37:36 +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
Damien Doligez 31b0292413 renaming "Objective Caml" to "OCaml" (first pass)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11015 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-26 12:16:50 +00:00
Pierre Weis fb776a438f Ignoring compiled files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10995 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-17 23:36:59 +00:00
Damien Doligez 3bba52b91c PR#4857: add -vnum option to all executables
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-20 14:06:29 +00:00
Luc Maranget 8ca6c7da61 PR #0004976, fixed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10271 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-19 12:25:06 +00:00
Xavier Leroy df680514f5 PR#4971: wrong variable name in alpha/proc.ml; cleanups in lex/cset.mli and bytecomp/lambda.mli
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10268 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-18 09:02:40 +00:00
Damien Doligez 04b1656222 clean up spaces and tabs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez bdc0fadee2 merge changes from release/3.11.1 to release/3.11.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-20 16:26:46 +00:00
Damien Doligez 1b8095f404 PR#4940: get rid of naked end-of-lines in string constants + add warning 29
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9512 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-07 15:15:07 +00:00
Pierre Weis 758e4cd860 Using -strict-sequence to compile the compiler.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-09 09:52:47 +00:00
Damien Doligez 1f95b17570 merge changes from 3.10.2merged to 3.11.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-12-03 18:09:09 +00:00
Luc Maranget 03abda3b27 Correction bug ocamllex (ID 0004517)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8827 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-03-07 15:24:48 +00:00
Damien Doligez 773ff5b883 probleme avec les .depend
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8415 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-08 12:30:31 +00:00
Luc Maranget 959fa08e78 ocamllex with unused var warnings in .mll: more defensive coding
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7817 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-30 09:18:25 +00:00
Luc Maranget 259eb53e67 hum, bug: take care to compare idents by name (not including location)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-29 17:03:15 +00:00
Luc Maranget 5ca2e4ee42 ocamllex: as bound variables with position in .mll file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7815 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-01-29 16:44:16 +00:00
Damien Doligez fbea66a95e fusion des changements 3.09.2 -> 3.09.3
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-20 11:14:37 +00:00
Damien Doligez 74f1b4a576 PR#4107 better error message
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7602 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-09-12 10:36:50 +00:00
Damien Doligez 125ea40d4c fusion 3.09.0 -> 3.09.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Damien Doligez 529659e9f4 suppression unused var
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6708 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-29 14:49:24 +00:00
Damien Doligez 7519fe8f6b fusion des bugfixes de 3.08.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6694 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-25 00:06:06 +00:00
Damien Doligez 4ffbf5ec57 ajout warning unused variable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6669 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-06 20:17:47 +00:00
Damien Doligez c3a39fc8c8 Fusion des modifs de la branche release308 entre 3.08.0 et 3.08.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-20 17:04:35 +00:00
Xavier Leroy 63c1789b5e Fusion des modifs faites sur la branche release jusqu'a la release 3.08.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-07-13 12:25:21 +00:00