summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-08-16I forgot about {Bytes,String}Labels.mapi; thanks Alain!Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-15tools/objinfo: workaround change in binutils' <bfd.h>Gabriel Scherer
(Report and fix by Christopher Zimmerman) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-15Refresh .gitignoreGabriel Scherer
After svn:ignore changes, from any git-svn repository you can run git svn show-ignore > .gitignore to synchronize the .gitignore content. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-15Set SVN ignore properties for the new testsuite directoriesGabriel Scherer
SVN does not recursively apply ignore patterns, so after creating a new directory one should not forget to set its svn:ignore property (otherwise `svn status` will be quite noisy after a testsuite run). For new test directories, I just copied the property of an existing test in the following way: cd testsuite/tests/basic svn propget svn:ignore > /tmp/test-ignore cd ../<NEW-DIR> svn propset svn:ignore -F /tmp/test-ignore . git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15086 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12Bug is fixed.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15085 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12Accept test result.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15084 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12#5528: type extensions can create local type names t.A without an explicit ↵Alain Frisch
local type t (if the extended type is non-local). We must thus check explicitly uniqueness of synthesized type names t.A instead of relying on uniqueness of declared types as before (well, we already had the problem if someone redefined a local exn type). git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15083 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12#5528: -dsource printer, also fix a bug (present in trunk) when printing ↵Alain Frisch
GADT constructors with multiple arguments. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15082 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12#5528: improve error reporting.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15081 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12#5528: improve error reporting.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15080 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-12#5528: support rebinding inlined extension constructors with free variables.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-11PR#6501: harden the native-code generator against certain uses of "%identity".Xavier Leroy
Technically: when a C-- let-bound variable is assigned to, update its type so that it is the lub of the types of the initial value and all values assigned to it, with the type ordering Int <: Addr. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08PR#6507: [caml_bottom_of_stack] incorrectly setMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08More accurate wording about when Invalid_argument is raised for list functions.Gabriel Scherer
(Patch by Jeremy Yallop) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08remove redundant bound checking in Buffer.blit (patch by Philippe Wang)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08Cherry pick 15071 from 4.02 (Fix #6510: Removal of shadowed constructors of ↵Alain Frisch
extensible types can break the structure of definitions). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15072 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Accept.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Sync with trunk. Rebinding of inlined extension constructors with free ↵Alain Frisch
variables is not yet supported. git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record3@15069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Cherry-pick 15062,15063,15064 from 4.02 (#6497).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Cherry pick commit 14900 from 4.02 (fix some whitespace and add a few ↵Alain Frisch
copyright headers), only the in parsing/ subdirectory (it creates conflicts elsewhere). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15067 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Cherry pick commit 14989 from 4.02 (#6463: properly propagate errors raised ↵Alain Frisch
when creating the mapper (typically, invalid arguments) to the compiler.). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15066 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-07Cherry pick commit 14857 from 4.02.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06remove the Obj.magic from the string.ml implementationGabriel Scherer
It is important not to assume that String.t and Bytes.t will always share the same representation. Using Obj.magic to convert between functions would give a very bad example to users considering a migration, which are very quick to imitate any moral turpitude found in the standard library. An unfortunate consequence of the change is the duplication of String.concat code; other designs would be possible to share more implementation details between Bytes and String (eg. defined factorized operations on both in a shared internal module), but if we consider that String representation may evolve in the future this coincidence of implementation is really a temporary coindence rather than an definitive duplication. I checked that all the small functions introduced are marked as inlinable. In the case of coercions like this, we could even have the compiler recognize eta-expansions of the identity function and turn them into simple rebindings. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06implement {Bytes,String}.mapiGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06Add missing Noreturn qualifiersGabriel Scherer
(patch by Peter Zotov, review by Max Mouratov) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15057 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06update ChangesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15056 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06ocamlbuild: add no_alias_deps tag (patch by Daniel Bünzli)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15055 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06PR#6495: also add unsafe_string tag to ocamlbuildGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15054 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06PR#6495: add a safe_string tag to ocamlbuild (patch by Anil Madhavapeddy)Gabriel Scherer
It kicks in for interface inference and compiler invocations. safe_string does also alter the output of inferred types if short_paths is used (since "bytes" is shorter than "string"), but this requires a change to the ocamldoc driver and isn't addressed in this PR. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15053 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06PR#6509: Add -linkall flag to ocamlcommon archives (Patch by Frédéric Bour)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06PR#6474: fix the "weak dependencies" support (patch by Leo White)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06PR#6502: spurious warning on "use_menhir" tagGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-28Use labeled arguments. (Cherry-picked from commit 15031 on 4.02).Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15032 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-28#6500: add String.init, Bytes.init, Labels couterparts, Stream.of_byte. ↵Alain Frisch
(Cherry-picked from 15029 on 4.02.) git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15030 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-24PR#6142: add cmt file support to ocamlobjinfoDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15028 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-23better fix for the travis scriptJérémie Dimino
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-23update the travis script for new opam releaseJérémie Dimino
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-23Reflecting commit 15021 on version/4.02:Xavier Leroy
Follow-up to commit 15012: keeping checkbound equations is useless when load equations have been forgotten, as all checkbounds involve a load of a block header. So, simplify things further by emptying the numbering after calls and allocs. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15022 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-21allow long lines up to 132 chars in ocamldocDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15018 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-21PR#6406: Expose OCaml version in C headersDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15017 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-18Reflecting commit 15012 on version/4.02:Xavier Leroy
PR#6484 and PR#6486: CSE across memory allocations can present the GC with memory roots that are illegal. Plus: lift the previous restriction that all arithmetic ops and loads have at most one result register, this isn't true for ARM with soft floats. Plus: code refactoring and more comments. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-18Reflecting commit 15010 on version/4.02:Xavier Leroy
PR#6460: runtime assertion failure with large [| e1;...eN |] float array expressions git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-17Reflecting commit 15006 on version/4.02:Xavier Leroy
Typo in destroyed_at_alloc and destroyed_at_c_call, D17 was incorrectly claimed to be preserved. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15007 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-16CSE bug on amd64: Ifloatsqrtf involves a memory loadMark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-16mantis 6489 (fix by Richard Jones)Mark Shinwell
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15002 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-14PR#6482: ocamlbuild fails when _tags file in unhygienic directoryGabriel Scherer
ocamlbuild lazily traverses directory to build a vision of the filesystem tree in which the build happens. During that traversals, it parses any configuration file `_tags` it encouters. PR#6482 was caused by the fact that the configuration-parsing code used the relative path of the _tags file, which was correct at the time of traversal, but stale at the time the lazy thunk was in fact forced (a Sys.chdir had occured in between). The first fix is to detect when relative paths become stale, and use the correct absolute path in that situation. The reason why this lazy thunk was only forced after a Sys.chdir is that, at hygiene time, only the subtrees that are selected for hygiene checking are forced. It is an unexpected behavior that non-hygienic subtrees could remain unforced for so long (in particular, the semantics of parsing a configuration file only much later in the build process is more than unclear); this commit also removes this behavior by always forcing the whole traversed subtree just before hygiene. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-11PR#6469: -dsource prints Pervasives.(!) as Pervasives.!Damien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14998 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-14PR#6418: support "@[<hov %d>" in the new format implementation (Benoît Vaugon)Gabriel Scherer
The bootstrap procedure, as for commit trunk@14973 (see there for detailed build instructions), requires to first commit a temporary patch: > diff -Naur old/typing/typecore.ml new/typing/typecore.ml > --- old/typing/typecore.ml 2014-06-11 18:16:24.851647309 +0200 > +++ new/typing/typecore.ml 2014-06-11 18:15:50.075646418 +0200 > @@ -2758,16 +2758,9 @@ > let mk_int n = mk_cst (Const_int n) > and mk_string str = mk_cst (Const_string (str, None)) > and mk_char chr = mk_cst (Const_char chr) in > - let mk_block_type bty = match bty with > - | Pp_hbox -> mk_constr "Pp_hbox" [] > - | Pp_vbox -> mk_constr "Pp_vbox" [] > - | Pp_hvbox -> mk_constr "Pp_hvbox" [] > - | Pp_hovbox -> mk_constr "Pp_hovbox" [] > - | Pp_box -> mk_constr "Pp_box" [] > - | Pp_fits -> mk_constr "Pp_fits" [] in > let rec mk_formatting_lit fmting = match fmting with > - | Open_box (org, bty, idt) -> > - mk_constr "Open_box" [ mk_string org; mk_block_type bty; mk_int idt ] > + | Open_box _ -> > + assert false > | Close_box -> > mk_constr "Close_box" [] > | Close_tag -> > @@ -2950,6 +2943,19 @@ > mk_constr "Alpha" [ mk_fmt rest ] > | Theta rest -> > mk_constr "Theta" [ mk_fmt rest ] > + | Formatting_lit (Open_box (org, _bty, _idt), rest) -> > + mk_constr "Formatting_gen" [ > + mk_constr "Open_box" [ > + mk_constr "Format" [ > + mk_constr "String_literal" [ > + mk_string "<>"; > + mk_constr "End_of_format" []; > + ]; > + mk_string "@[<>"; > + ] > + ]; > + mk_fmt rest; > + ] > | Formatting_lit (fmting, rest) -> > mk_constr "Formatting_lit" [ mk_formatting_lit fmting; mk_fmt rest ] > | Formatting_gen (fmting, rest) -> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14984 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-10Reflecting commit 14978 on version/4.02:Xavier Leroy
PR#6268: -DMODEL_$(MODEL) not passed when building asmrun/arm.p.o git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09Reflecting commit 14976 on version/4.02:Xavier Leroy
PR#6211: in toplevel interactive use, bad interaction between uncaught exceptions and multiple bindings of the form "let x = a let y = b;;". git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02