Commit Graph

577 Commits (7924ec57074c127a7dffb79391eea9bc514491e1)

Author SHA1 Message Date
Gabriel Scherer f9ea209cb7 GPR#171: allow custom warning printers / catchers
(Benjamin Canou, review by Damien Doligez)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16049 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-26 21:05:26 +00:00
Alain Frisch 918f584b64 #6845: -no-check-prims to tell ocamlc not to check primitives in runtime.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-04-22 10:53:47 +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
Jérémie Dimino e0e02b8b05 Bump ast magic numbers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15920 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-03-13 11:08:13 +00:00
Gabriel Scherer 41e0ecf2ef PR#6642: replace $CAMLORIGIN in -ccopt with the path to cma or cmxa
(Peter Zotov)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15828 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-08 11:18:29 +00:00
Gabriel Scherer 81e8d5bdbb Cmm arithmetic optimisations.
Constant additions and tagging operations are moved out of
subexpressions when possible. Often they can be merged.

From Stephen Dolan:
  https://github.com/ocaml/ocaml/pull/17

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15820 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-07 11:32:12 +00:00
Gabriel Scherer a4029d876b PR#6720: propagate -g to the C compiler
(Peter Zotov)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-24 16:35:32 +00:00
Gabriel Scherer eca0967403 PR#6167: OCAMLPARAM support for disabling PIC generation ('pic=0')
(Gabor Pali)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-01-24 16:35:26 +00:00
Gabriel Scherer f256b3733d minor: cut too-long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21 12:18:10 +00:00
Gabriel Scherer 1d8e590c54 PR#6475: accept -o in ocamlc when compiling C files
(Vincent Laporte, Peter Zotov)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21 12:18:07 +00:00
Gabriel Scherer f15f4f3ed8 PR6695: Make sure the compiler only uses ASCII string functions.
This should cover all places involving filenames in the compiler.
There are a few more paths still using Latin-1 in other ways,
e.g. in ocamldoc.

From: Peter Zotov <whitequark@whitequark.org>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15727 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-21 11:46:14 +00:00
Gabriel Scherer 843f152505 simplify the spellcheck functions
- expose the core spellchecking functionality in Misc rather than Typetexp
- remove the too high-order (yet insufficiently parametric)
  Typetexp.spellcheck from the public interface
- rewrite the spellchecking functions for variants and fields in
  Typecore from the Misc functions rather than reusing
  Typetexp.spellcheck

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15650 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-13 14:46:16 +00:00
Damien Doligez 4ea28ba75f fix typo in help text
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15644 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-09 22:07:49 +00:00
Alain Frisch 8c075ad80a Sync with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15610 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27 16:43:24 +00:00
Gabriel Scherer 7fa3f30114 update magic numbers
Numbers and .mlbuild and .mlp were not always synchronized; I only
changed the typedtree-related numbers, but used the max of both +1 on
both sides -- the .cm{o,a,x}... numbers are still non-synchronized.

From: Gabriel Scherer <gabriel.scherer@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15586 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-17 12:19:17 +00:00
Damien Doligez 031cffd155 merge branch 4.02 from release 4.02.0 to release 4.02.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-15 13:34:58 +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
Alain Frisch 856122459e Synchronize with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15173 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-01 08:43:08 +00:00
Xavier Leroy 132c529b75 Reflecting commit 15169 on version/4.02:
PR#6529: fix quadratic-time algorithm in Consistbl.extract.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-31 14:44:51 +00:00
Damien Doligez a18bc7950b merge changes of version/4.02 from r15121 to r15155
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 17:14:00 +00:00
Alain Frisch e7ba464587 Add intel_proc.mli, get rid of arch64 bool ref, move StringSet/StringMap to misc.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 14:35:10 +00:00
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
Gabriel Scherer d02c8fbc55 new -opaque flag: ocamlopt creates .cmx without cross-module info
(Patch by Pierre Chambart and Gabriel Scherer)
(Ack'ed by Damien Doligez)

This enables a form of incremental compilation for ocamlopt: if
A depends on B, and B is compiled with `ocamlopt -opaque`, then minor
implementation changes in B that do not affect the module interface
will not require recompilation of A.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-18 13:28:34 +00:00
Alain Frisch 047e09748c Cherry-pick 15062,15063,15064 from 4.02 (#6497).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07 09:46:34 +00:00
Jacques Garrigue ccce272966 commit o_and_opens.diff
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14787 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11 00:17:05 +00:00
Alain Frisch bfccd68ecc Protocol to allow ppx processors to report warnings to the compiler (reported as warning 22).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14762 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07 14:52:19 +00:00
Jacques Garrigue 1ce29d9bfc re-commit Leo's weak-dependencies pull request
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07 00:34:20 +00:00
Jacques Garrigue b56dc4b3df PR#5584: merge open extensible types, extension-patch-4.0.2
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14737 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-04 23:08:45 +00:00
Jacques Garrigue b78b19975a * Do not require cmi file to be present if module alias is not accessed
(using -trans-mod)
* Add warning 49 for that case; use same warning in place of deprecated
  for Env.scrape_alias


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14724 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-02 07:07:09 +00:00
Jacques Garrigue 95104b3924 revert commit 14719
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-02 06:19:55 +00:00
Mark Shinwell 521ac0213a weak dependencies with -trans-mod (github/ocamllabs/weak-depends 45e980a,21856a7,merge)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-01 12:50:20 +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
Xavier Leroy 558f40e344 New back-end optimization pass: common subexpression elimination (CSE).
(Reuses results of previous computations instead of recomputing them.)
(Cherry-picked from branch backend-optim.)
Tested on amd64/linux and i386/linux.
Other back-ends compile (after assorted updates) but are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-26 10:40:22 +00:00
Xavier Leroy 29b34438e0 - Constant ropagation for float and int32/int64/nativeint arithmetic.
Constant propagation for floats can be turned off with option
  -no-float-const-prop, for codes that change FP rounding modes at
  run-time.
- Clambda / C-- / Mach: represent float constants as FP numbers of type 
  float rather than literals of type string.
- Tested for AMD64; other archs need testing.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14673 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-25 08:41:13 +00:00
Gabriel Scherer 2b9f94b69b PR#6270: remove need for -I directives to ocamldebug in common case
(patch by Josh Watzman)

Add absolute directory names to bytecode format for ocamldebug to use

The need for a long list of -I directives makes interactively using
ocamldebug a pain in the butt. Many folks have solved this with various
`find` invocations or even Python wrappers, but those lead to other
problems when it might include files you weren't expecting (or miss
things you were). But all of this is really annoying since the tooling
should be able to figure out itself, even heuristically, where your
source files are -- gdb gets this right, why can't we?

This patch implements one of the more important heuristics from gdb: you
typically debug on the same machine you built on, so looking for the
source files and built artifacts in the absolute paths where they were
during compilation is a good first try. We write out absolute paths into
a new structure at the beginning of the debug section and then
automatically append those directories into the load path.

This means mean that if you happen to be debugging on a machine
where the original source and build artifacts are *not* available in
their original absolute locations, things will work as before, using the
standard load path mechanism. You can also explicitly use -I to prepend
directories to the load path and override the defaults located by this
new mechanism.

I personally find this makes using ocamldebug much more pleasant :)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-06 15:06:22 +00:00
Gabriel Scherer 57fe3746f6 Revert "PR#6270: remove need for -I directives to ocamldebug in common case (patch by Josh Watzman)"
There seems to be a problematic interaction with backtrace collection. To test this,
  make world.opt
  cd testsuite
  make one DIR=tests/backtrace/

This needs to be sorted out before the patch can go in again.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 14:55:06 +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
Xavier Clerc dd7bd5b339 PR#6270: remove need for -I directives to ocamldebug in common case (patch by Josh Watzman)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14507 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 11:48:35 +00:00
Alain Frisch da5b063687 #6352: add a warning on implicit removal of optional arguments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-26 18:09:28 +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
Alain Frisch 10abdce7b1 Record inclusion checks between value_descriptions in .cmt files. This makes it easy in particular to track in external tools value declarations between implementations and interfaces.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14422 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-28 11:07:02 +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
Jacques Garrigue d90b126bd4 Add -trans-mod option for transparent module dependencies.
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-12-20 06:55:26 +00:00
Alain Frisch d802a51be6 #6203: change representation of exception values created with a constant 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-18 13:00:58 +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
Alain Frisch f1bc74bcc8 #5445: interpret warning attribute on expressions, and as floating signature/structure items.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-04 08:18:50 +00:00
Alain Frisch 40117f7480 #5817: new compiler flag (-keep-locs) to keep location in cmi files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 12:45:05 +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
Gabriel Scherer b1c5fa3e52 PR#6071: Add a -noinit option to the toplevel [patch by David Sheets]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:09 +00:00
Fabrice Le Fessant 1823936ce0 Fix OCAMLPARAM problems
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17 12:35:26 +00:00
Wojciech Meyer 21b780c0a5 configure: store $target and $host in the build configuration (fix-pt2). (Patch by Adrien Nader!)
Fixing builds continued.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13866 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 21:33:21 +00:00
Wojciech Meyer 086c04495e Revert "configure: store $target and $host in the build configuration." as it breaks several builds.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13858 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 22:01:53 +00:00
Wojciech Meyer e5eeea88af configure: store $target and $host in the build configuration.
(Patch by Adrien Nader!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13857 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 12:58:35 +00:00
Alain Frisch f59df29db4 Update magic numbers and bootstrap. (Cherry-picked from c13780 on 4.01.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-18 08:30:47 +00:00
Alain Frisch ba38d00535 #5980: a different warning for shadowing labels/constructors and for other kinds of identifiers. (Cherry-picked from commit 13796 on 4.01.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13797 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-18 08:01:02 +00:00
Fabrice Le Fessant 504e86d722 Revert r13746 (demanded by Xavier)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13748 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-05 17:54:20 +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
Fabrice Le Fessant f9bd5f13a0 Experimental OCAMLCOMPPARAM for ocamlc/ocamlopt
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13741 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 19:13:24 +00:00
Fabrice Le Fessant 9b53f8b10d Re-add configure option -with-frame-pointers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:03:59 +00:00
Fabrice Le Fessant 97bc1fa9e2 Reverting -with-frame-pointers
Fails to compile alt-ergo without frame-pointers. No time to debug
before tonight, so I revert and will merge again after fixing the
problem.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13732 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 06:29:33 +00:00
Fabrice Le Fessant 1b2667b9f2 Add -with-frame-pointers to ./configure
This option can be used to tell the native compiler that it should
update frame pointers, so that debuggers and profiling tools 
(especially Linux perf) can use them. For now, it is only supported
by the Unix/amd64 port.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13730 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 04:42:42 +00:00
Hongbo Zhang 374b4029c3 print magic number for -config option
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13709 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-28 23:53:45 +00:00
Damien Doligez e69730e0d6 extend warning 3 to other deprecated features: Latin1, (&) and (or)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13706 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-28 11:05:58 +00:00
Alain Frisch f51bc04b55 #5980: warning on open statements which shadow an existing identifier (which turns out to be actually used in the scope of the open).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-16 12:36:15 +00:00
Jacques Garrigue c425ae1ce8 Fix PR#5985; compute injectivity of types but no new syntax
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13634 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-30 05:26:57 +00:00
Jacques Garrigue 35d1dde122 Improve message for warning 40
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-26 13:09:24 +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
Gabriel Scherer e92b63fc21 PR#5957,PR#5920,PR#5925: LongString module to workaround 32bits string size limitations during bytecode linking (patch by Benoit Vaugon and Chet Murthy)
In PR#5925, Benoît Vaugon initially proposed the LongString module to
solve an issue with bytecode blocks of size > Sys.max_string_length on
32 bits architecture (16Mio). In PR#5957, Chet Murthy made small
changes to also fix the problem of debug information going above this
16Mio limit.

The LongString module should be reusable in other parts of the
compiler, should new 32bit-string-length issues arise.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 09:07:00 +00:00
Damien Doligez eaa5abc35b remove redundant definition of dump_scheduling
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-13 19:46:14 +00:00
Jacques Garrigue 32de864a67 improve Ambiguous_name warning
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13395 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-12 14:56:15 +00:00
Damien Doligez d3d363a1a6 typo
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13319 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-26 12:46:28 +00:00
Jacques Garrigue 1f5882e53d Replace error by warning for PR#5835
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13298 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-19 03:12:36 +00:00
Jacques Garrigue c76b791ca4 Add warning 42 for disambiguated labels and constructors (compatibility with old versions)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13297 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-19 02:45:09 +00:00
Jacques Garrigue 26e1ff7138 Merge short-paths into a fresh branch of trunk.
Also fix a bit unification and subtyping errors.
You now need the flag -short-path to activate short paths.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths-4.01@13285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-29 14:21:12 +00:00
Alain Frisch f1d0e5afab Add a -dtypedtree flag to all tools (using Printtyped). Also fix ocamlnat.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13139 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-18 17:19:53 +00:00
Alain Frisch cf2551d9c6 Whitespace cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13051 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-30 09:02:04 +00:00
Jacques Garrigue 5323da7fad fix warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13049 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-30 01:02:08 +00:00
Jacques Garrigue 8fac736f31 clean up and merge the patch disambiguate-with-warning from PR#5759
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13048 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-29 07:54:06 +00:00
Alain Frisch dfa500533a #5741: make Pprintast available from the command-line (-dsource).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13025 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-17 16:09:38 +00:00
Alain Frisch e7546ca216 PR#5768: On 'unbound identifier' errors, use spell-checking to suggest names present in the environment.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13018 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-16 13:54:24 +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
Jacques Garrigue 35185d610b merge version/4.00 at revision 12866
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12869 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-21 07:10:35 +00:00
Damien Doligez 997a678d5e clean up TABs and whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 18:04:46 +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 60d0694e9f #5634: parstree rewriters (merge with ast_rewriter branch).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 08:00:27 +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
Alain Frisch 5035a24bd0 Detect (and fix some) useless recursive flags.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12500 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 12:30:49 +00:00
Alain Frisch 96375ba6fb Revert bad typo fix.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12377 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-18 18:44:09 +00:00
Alain Frisch 3b30c79500 Typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12376 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-18 18:42:39 +00:00
Alain Frisch 9f46d7222a Improve message for Unused constructor/exception warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12371 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-18 09:01:17 +00:00
Damien Doligez 1b782a0122 PR#5585: typo explicitely -> explicitly
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-13 12:44:29 +00:00
Damien Doligez 4191b43bc9 PR#5311: better message for warning 23
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-31 20:55:13 +00:00
Alain Frisch ab918e2078 Detect unused exception declarations (#5524).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 19:47:07 +00:00
Damien Doligez 5b14388ad0 refactoring the "read n bytes from a channel into a new string" idiom
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-23 19:54:44 +00:00
Damien Doligez ab2f6297c7 aftermath of PR#5497
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12183 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-23 19:15:09 +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
Damien Doligez b28b11541f fix try_finally in case the finally function raises an exception
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12129 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-06 12:56:08 +00:00
Damien Doligez 43a7d2f07e document the interval notation for warning sets; use it for default warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-27 13:28:56 +00:00
Damien Doligez 3836d4086a PR#1898: add -nopromptcont option to suppress secondary prompts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12085 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-27 12:48:15 +00:00
Jacques Garrigue 477b2dd743 propagate path-expansion environment everywhere
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 07:59:45 +00:00
Alain Frisch a49bdea123 -warn-help show the meaning of letters.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 12:14:51 +00:00
Alain Frisch e710c98e32 Warning K for all new 'unused declarations' warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12037 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 09:22:42 +00:00
Alain Frisch c45bcb892d Synchronize with trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@12034 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 08:31:11 +00:00
Fabrice Le Fessant 869feeb007 Fix PR#5461
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12033 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 21:57:54 +00:00
Alain Frisch bfb35c4fce #5478: makes it possible to specify a custom 'ar' command.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12027 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 09:05:37 +00:00
Alain Frisch 267b0f5d3d New warning for unused constructors.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@12017 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-12 11:24:23 +00:00
Alain Frisch 83d48700ff Replace existing warnings 26, 27, trying to preserve their semantics.
- Warning 26 detects unused variables bound by 'let' or 'as'. In case of a or-pattern,
  a variable is considered to be an "as" variable or not according to the lhs pattern only.

- Warning 27 detects unused variables bound by 'match', 'fun', 'function', and self-variable
  in objects.

- When several values are bound by a given let pattern: if all of them are unused,
  warning 26 is trigerred; if at least one of them is used, the other unused ones
  are reported with warning 27.

This commit also introduces dedicated warnings for unused ancestor variables (objects) and
for-loop indices.




git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11976 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-29 17:49:58 +00:00
Alain Frisch 957db9c0f5 Forget warning 33 in -warn-help.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11970 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 14:22:38 +00:00
Alain Frisch 350f214671 More clever algorithm to detect unused (recursive) type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 14:20:53 +00:00
Alain Frisch 85a99d7bd4 Detected unused type declarations. A type declaration can be used (1) through an explicit reference, (2) during signature comparison, or (3) because one of the labels or fields it defines are referenced.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 15:42:40 +00:00
Alain Frisch 86d04b3c90 Detect unused open (#5357, #5438).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 11:04:20 +00:00
Alain Frisch f8a7879fb0 New warning 31 to detect a lot more unused value declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11924 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 15:40:54 +00:00
Xavier Leroy e10723e701 Merged proc_nt.ml into proc.ml in directories asmcomp/i386 and asmcomp/amd64.
This avoids much code duplication and is a baby step towards Mingw-64 bits 
support (PR#5179).  (There will be no need to create a third proc_xxx.ml
file for this configuration.)
Also, in amd64/emit_nt.mlp, the ml64 assembler didn't like my label subtractions, so I put the jumptable in code area instead of in data area.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11319 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-16 17:02:48 +00:00
Jacques Garrigue efa8d8896d Shorter error messages for modules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11225 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-20 05:49:38 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +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
Pierre Weis 9bd35bf83c Details.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11097 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-20 21:40:56 +00:00
Pierre Weis 48f2c1714e Ignoring compiled files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10996 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-17 23:37:35 +00:00
Damien Doligez a53ce2df70 add option -runtime-variant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10982 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-17 16:18:05 +00:00
Damien Doligez 451b491a8a warning 28 activated by default
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-01-06 14:24:26 +00:00
Jacques Le Normand b36e845126 updated VERSION and config files
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-13 11:27:56 +00:00
Jacques Le Normand 1680403fb9 clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 06:01:27 +00:00
Jacques Le Normand 304dba8a0f removed Type_variant, fixed bug in GADT exhaustive check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 04:02:02 +00:00
Jacques Le Normand 56624533fb switched to abstract types, still needs work on exhaustion type. the code needs to be cleaned up. printfs need to be removed
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-19 04:55:40 +00:00
Damien Doligez 5e67123bf6 PR#4975: spelling mistakes "overriden" and "informations"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 12:00:49 +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
Damien Doligez e9d9d32b7d cut long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10376 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-05 15:08:53 +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
Alain Frisch 6db50e804c Update comment.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10367 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-04 17:45:43 +00:00
Alain Frisch 46334f76c2 Allow range of warnings and synchronize default for warnings given in usage info with the real code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10366 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-04 17:39:17 +00:00
Alain Frisch 4b95af6a3c Fix bug #5043.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-04 07:41:41 +00:00
Damien Doligez aa6df7ff19 make command-line parsing forward-compatible
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10341 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 14:41:57 +00:00
Jacques Garrigue 80b48b7a69 make duplicate definitions a warning rather than an error
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10332 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 06:26:51 +00:00
Xavier Leroy 820544607a PR#4741: put -L options before file names, which can be -lxxx
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-28 12:09:32 +00:00
Damien Doligez 27780d9f8a fixed several build problems
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10298 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-22 15:41:16 +00:00
Xavier Leroy b6f408ecc6 PR#4996: Subst.compose revised; Tbl.fold added.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-20 14:11:28 +00:00
Jacques Garrigue ee36e1d1c5 merge branches/override
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10250 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-08 03:58:41 +00:00
Damien Doligez fbd12a6f68 numbering problem in comments
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-29 15:02:39 +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
Damien Doligez 6f1e8fec9d PR#4947 bug in parsing of warning options
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9485 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-22 16:31:46 +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
Pierre Weis 700da01338 Adding the -strict-sequence option.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9464 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-12-09 09:17:12 +00:00
Damien Doligez b2090f66b0 added warning 28: wildcard arg to constant constructor
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-19 12:27:15 +00:00
Damien Doligez 74aff36031 fine-grained control of warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9407 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-02 12:17:49 +00:00
Alain Frisch 1e5b4a4857 Merge first class modules: svn merge -r 9369:9396 $caml/branches/fstclassmod.
Adapt the Changes file. Bump magic numbers. Bootstrap.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-26 10:53:16 +00:00
Xavier Leroy 349467ec45 New warning `not all labels are mentioned in this record pattern'
moved to letter 'R' (instead of 'E' previously).  Explicitly turned 
off in myocamlbuild configuration.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9391 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-10-22 15:45:54 +00:00
Xavier Leroy 9c6c8fb47e As discussed at the latest consortium meeting:
Syntactic sugar {x} for {x=x} in record expressions and patterns.
Syntax { lbl=pat; _ } to mark record patterns where the user explicitly wants not to list all labels.
Warning (activated by E, the fragile match warning) to signal record patterns without '; _' that fail to list all labels.
To be done: adjust Camlp4 parser accordingly.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9331 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-09-12 12:41:07 +00:00