Commit Graph

51 Commits (755b19650b333b8b98b9fe73aa3b25193764a309)

Author SHA1 Message Date
Fabrice Le Fessant b1943e1ac7 Remove FIRST_UNIMPLEMENTED_OP from interp.c
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14748 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05 13:59:25 +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
Gabriel Scherer 7d51d487ef [minor] make tools/Makefile.shared msvc-friendly
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 12:09:25 +00:00
Gabriel Scherer de4f4cf8b3 PR#6358: obey DESTDIR in install targets
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 07:06:17 +00:00
Alain Frisch 4907f6ca76 #5779: improve support for structured constants (better propagation, sharing, cleaner representation). Also fix #6337 (constants emitted several times).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-06 17:03:16 +00:00
Damien Doligez ed52c665b6 ocamlmklibconfig.ml: add missing config varible
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14368 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-17 08:48:31 +00:00
Xavier Leroy 33f6c2c78b Un-bootstrapping of ocamlbuild, clean-up phase:
- removed boot/myocamlbuild.boot, _tags, myocamlbuild.ml, etc
- removed shell scripts in build/, now unused
- revised configuration and build of tools/ocamlmklib.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-14 16:34:18 +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 6873f39817 Keep attributes on value declarations in .cmi files (but clear all the 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-26 15:24:11 +00:00
Wojciech Meyer 0f04aeefa1 build: remove warning 32 (unused variable) in tools.
(Patch by Adrien Nader!)

Among other files, myocamlbuild_config.ml is built in this directory.
This file defines many variables, most of which are not used and
therefore trigger this warning which is then turned into an error
through -warn-error A.
build: remove warning 32 (unused variable) in tools.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20 00:22:40 +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
Wojciech Meyer 8104198af7 build: replace build/mk{config,myocamlbuild_config}.sh.
(Patch by Adrien Nader!)

These scripts sed config/Makefile in order to create shell script and
ocaml code that define the same values as the Makefile but in the
corresponding language.
The sed stuff is very difficult to understand, very brittle and
impossible to change.
Remove that altogether and use a Makefile to run commands like
[ echo FOO=$(FOO) ]. There is still some sed involved (to get the list
of variables in the config and to put rewrite the lists into a list of
commands) but much less and all the expressions are put into variables
with meaningful names with lots of comments.

For config.sh, mkconfig.sh generated lines like :
  if [ -z "${FOO}" ]; then FOO=bar; fi
The new script sets the value without checking anything.
I haven't found a reason to do things differently: if there is anything
to override, the right place to do it is after sourcing the shell
script. In any case, I haven't seen any such use.

The mkconfig.sh file also set "WINDOWS=true/false" but the only use is
in the parallel build-system which is implemented in build/ and uses
ocamlbuild as much as possible, and it's going away so it's useless to
set it too.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20 00:13:23 +00:00
Alain Frisch ef35b10412 Remove the dump_ast tool. A better replacement is part of the standalone ppx_tools package.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-10 14:28:36 +00:00
Alain Frisch f6e4122b85 Do not compile or install by default ocamlast.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-29 12:51:03 +00:00
Alain Frisch 525ef9d703 Synchronize with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-16 13:34:30 +00:00
Fabrice Le Fessant ad6c285818 Improved implementation of OCAMLPARAM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13747 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 16:34:40 +00:00
Damien Doligez 0739ee7671 compact representation of warning flags
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13704 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-28 11:03:42 +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
Alain Frisch 27d523ea72 Better representation of variance in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-02 15:33:35 +00:00
Alain Frisch 7f973bc330 A tool to dump the Parsetree in OCaml syntax (relies on the toplevel pretty-printer).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-29 11:14:25 +00:00
Alain Frisch b0987fd693 Attributes on expresions (etc) are now stored in the expression record, to facilitate pattern matching on structured fragments of AST while ignoring attributes. Introducing a new Ast_helper module to help creating AST fragments.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13381 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-08 14:59:45 +00:00
Alain Frisch 779580674f Move ast_mapper to parsing/, make it part of compiler-libs, and add an interface. Plus minor code cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13249 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 16:10:29 +00:00
Alain Frisch a19a4642e5 Enable 'unused stuff' warnings in tools/ and get rid of them.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13140 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-19 09:25:21 +00:00
Alain Frisch 5668b31352 New implementation of cmt2annot, based on an OO iterator for typed trees. Mostly work for Partial_implementation (#5816).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13085 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 17:21:27 +00:00
Alain Frisch 0cdf38d6e6 Move ast_mapper.ml to tools/.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13083 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 14:27:22 +00:00
Alain Frisch 0031d158f9 #5814: rebuild environments from summaries when needed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13077 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:19:36 +00:00
Alain Frisch 49f50409cd #5812: compile read_cmt.opt (about 10x faster than read_cmt to generate .annot files).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13067 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 16:55:18 +00:00
Alain Frisch 3ffcd66100 #5741: link pprintast into the compiler (unused for now, but it is available in compiler-libs).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-17 15:50:07 +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 936914100b Add support for -ppx in ocamldep (and reuse preprocessing code in Pparse).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 16:24:44 +00:00
Fabrice Le Fessant 776c46fce8 Fix problem of size of bin-annot files
- Reset most of the fields of Env.t when saving bin-annot files
- Move debugger/envaux.ml to typing/, and add a function to 
    recover environements from bin-annot files.
- Move tools/typedtreeIter.ml to typing/
- Move the code of typing/typedtreeMap.ml from cmt_format.ml



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-12 11:02:18 +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
Damien Doligez e7f5b858c2 More renaming to OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-10 16:15:24 +00:00
Xavier Clerc 6b6e39a3f3 PR#5331: ocamlmktop is not always a shell script
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-09-07 14:28:24 +00:00
Damien Doligez d9eb848d86 PR#5238, PR#5277: Sys_error when getting error location
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-08-04 14:59:13 +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
Damien Doligez 575555eecd merge changes from branching of 3.12 to release/3.12.0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-08-02 14:37:22 +00:00
Xavier Leroy cd648ee2dd PR#5059: split objinfo into a pure Caml part and a pure C part.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10459 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-24 14:27:50 +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
Xavier Leroy 2adec7d747 PR#5033: tools/objinfo made more general.
tools/dumpapprox removed, now subsumed by tools/objinfo.
Introduced asmcomp/cmx_format.mli and used consistently in asmcomp,
  tools/objinfo, and otherlibs/dynlink
Note: ocamlbuild -based build procedure not updated yet.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-19 11:29:38 +00:00
Alain Frisch e09a12388f New -help-warnings command-line option.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10369 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-04 18:44:38 +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
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 33c9311355 update addlabels for new language constructs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9439 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-03 16:05:49 +00:00
Damien Doligez 6aed4b19a5 PR#4243 partial solution
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8616 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-22 22:14:43 +00:00
Alain Frisch 1b059475c8 Cleanup and factorization of linker-related code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8521 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-15 13:21:15 +00:00
Alain Frisch 4ad23db783 Fix ocamlmktop compilation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8485 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-07 10:14:21 +00:00