Commit Graph

8713 Commits (e51284dd06300f9ba9d946d8e463968db259b735)

Author SHA1 Message Date
Wojciech Meyer bda692b6da PR#5825: Add a primitive to use source file wrapped in the coresponding module.
Patch by Grégoire Henry!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13097 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-18 16:16:50 +00:00
Xavier Leroy 23502e1275 PR#5824: avoid tagging before right shifts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13096 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-17 17:23:15 +00:00
Alain Frisch 8ec89825dd Typos.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13094 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-15 13:57:46 +00:00
Alain Frisch 43d30581a7 Fix #5821: Wrong record field is reported as duplicate.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13093 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-14 16:59:33 +00:00
Hongbo Zhang 8930e12294 tune the indentation of [let rec ... and ...] and fix the bug of ~+
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13092 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-12 14:30:45 +00:00
Gabriel Scherer 35160d3712 fix two minor stale locations (Location.none) in typemod.ml
The two bewildering "_none_" error messages fixed by this commit
could be observed in the following way:
  echo "let f (x, y) = x + 1" > test.ml
  touch test.mli
  ocamlc -c -annot test.ml
    File "_none_", line 1:
    Error: Could not find the .cmi file for interface test.mli.
  grep "def f" test.annot
    def f "test.ml" 1 0 20 "_none_" 1 0 -1

Behavior after the fixes:
  echo "let f (x, y) = x + 1" > test.ml
  touch test.mli
  ocamlc -c -annot test.ml
    File "test.ml", line 1:
    Error: Could not find the .cmi file for interface test.mli.
  grep "def f" test.annot
    def f "test.ml" 1 0 20 "test.ml" 1 0 -1

One could argue that for the "could not find the .cmi" error, the file
chosen could be test.mli. I find it more natural to have the name of
the file that the user asked to compile (and therefore provoked the
error). Any of those choices is better than "_none_" anyway.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-11 10:59:43 +00:00
Jacques Garrigue 17fc404e78 merge patch new-error.diff by lpw25
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13090 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-11 03:46:59 +00:00
Jonathan Protzenko e41b5df033 Add a strict_sequence flag to OCamlbuild.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-10 15:06:53 +00:00
Jonathan Protzenko 76f3646b12 Add a new bin_annot tag to OCamlbuild.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13088 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-10 15:02:56 +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 d34a734947 PR#5795: Generate sqrtsd opcode instead of external call to sqrt on amd64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13086 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-09 13:26:43 +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 0a96bac530 Header.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13084 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 14:30:38 +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 e65b4f2c6f Failed attempt at fixing #5816.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13082 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 14:15:11 +00:00
Alain Frisch a3f4a6ead5 #5809: do not store a structure item together with sub-components in partial cmt files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13081 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 13:47:41 +00:00
Alain Frisch e046009e4d #5809: do not keep both an expression and its sub-expressions in a partial .cmt file (in case of type error).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13080 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:51:00 +00:00
Alain Frisch a3d6b5879c Simplify.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:41:11 +00:00
Alain Frisch 066dce8c20 #5809: remove hash-consing of environments, replaced by a much cheaper one-slot memoization.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:31:58 +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 cf72576e97 #5814: remove annotations from environments; to produce .annot file, use the location from the value_description record.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 09:40:21 +00:00
Jacques Garrigue 204eb64b0d better errors + fix escaping exception
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13075 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 09:39:23 +00:00
Xavier Clerc ce37153d1e PR#5810: error in switch printing when using -dclambda
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-07 12:36:09 +00:00
Alain Frisch e2729b2715 Replace commly used format strings into simple calls to format functions, to improve performance of .annot file generation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13072 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-07 10:50:14 +00:00
Alain Frisch d4ea76d782 Even faster version.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13071 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-07 10:14:02 +00:00
Alain Frisch 52e9f4fe9f Avoid format strings to generate .annot files; just switching to basic Format function gives a 25% speedup over total compilation time for 'ocamlc.opt -annot' applied to typing/typecore.ml.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 18:25:47 +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
Alain Frisch f1fb961192 Backtrack wrong commit on boot/ocamlc.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 16:55:59 +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 961982c7e0 #5805: Changes file.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13066 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 16:53:04 +00:00
Alain Frisch 86bd40310d Attempt to fix #5805 (not tested).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 16:36:34 +00:00
Hongbo Zhang c1ba7d773a fix indentation of parsing/pprintast.ml and a minor bug let _ as f = fun .. -> ..
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13064 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-05 14:30:56 +00:00
Xavier Clerc a3c231e1c1 PR#5806: ensure that backtrace tests are always run (testsuite)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13062 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-05 11:56:08 +00:00
Hongbo Zhang fe894aec5f Ptyp_poly consistent in both methods and binding
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13061 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-03 02:58:08 +00:00
Hongbo Zhang 8c0fb4317c bug fix for parsing/pprintast.ml, now pprintast pass tests of all the files in the compiler directory, including camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-03 02:20:16 +00:00
Hongbo Zhang 6b8f3706bd bug fix for parsing/pprintast.ml and add tools/eqparsetree to diff two parsetree
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13059 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-02 14:13:56 +00:00
Hongbo Zhang 7ee1f3e11e fix a typo in record printing
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-01 17:45:30 +00:00
Jacques Garrigue 57c80844f5 add spellchecking for Wrong_name
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13057 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-01 03:32:34 +00:00
Jacques Garrigue 94dafac93b keep longident in Typecore.Wrong_name
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13056 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 23:53:28 +00:00
Hongbo Zhang 6ee61c4c2f desguaring record syntax sugar
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13055 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 23:52:00 +00:00
Hongbo Zhang 920fbd3145 make pprintast usable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13054 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 18:11:33 +00:00
Alain Frisch 4e92b813c1 Fix typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13053 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 17:44:44 +00:00
Jacques Garrigue c991227ab2 fix warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13052 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 12:36:13 +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
Xavier Clerc b570a86fa7 PR#5119: camlp4 now raises a specific exception when 'DELETE_RULE' fails, rather than raising 'Not_found'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-25 12:28:15 +00:00
Jacques Garrigue 9fddc2ee55 clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13046 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 14:42:41 +00:00
Alain Frisch 0415a557c4 In the unqualified case, allow typed-based resolution to succeed even if the label is not accessible in the toplevel environment (i.e. the module has not been opened).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 14:00:27 +00:00
Alain Frisch 90c1adb6ad Synchronize with trunk, to benefit from simplifications made possible by r13043.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 12:57:16 +00:00