summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-05-12fix some testsuite MakefilesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14844 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12final bootstrap (make partialclean core coreboot)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14843 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12fix a regression in Format formatting printing routinesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14842 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12formats: enable the legacy mode by defaultGabriel Scherer
Given that there still remains a small incompatibility (typing of %(..%)), I decided to keep the legacy mode enabled for now. This means that any failure related to format can be traced to this incompatiblity (or unknown regressions), which will simplify the monitoring and handling of changes considerably. As soon as the %(..%) typing is generalized, we can turn the legacy mode off (or maybe simply add warnings for ignored formats). git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14841 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12For %{..%}, restore Pierre's semanticsGabriel Scherer
(printf {%foo%} bar) will print the string representation of the format type of both `foo` and `bar`, instead of printing `bar` (for this purpose one can just use %s). `bar` content is ignored, but the typer should check that its type is compatible with the one of `foo`. This semantics allows to use (printf %{..%}) for testing/debugging the use of %(...%): put in the brackets what you believe to be the format type you want to use, and as argument the format you wish to pass, and you'll get type-checking confidence and the "canonical" representation of the format string which you can use in the %(...%) -- note that using the canonical format type is not mandatory. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14840 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12testsuite Makefile fixGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14839 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12boostrap (same steps as the last one)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14838 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12move code from pervasives.ml to camlinternalFormat.mlGabriel Scherer
This simplifies the charset-handling code, as camlinternalFormat is allowed to depend on Bytes and String instead of re-importing the needed primitives. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14837 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12simplification in bprint_char_setGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14836 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12charset-parsing: require that '%' be written '%%' in charsets, as per the ↵Gabriel Scherer
documentation git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12implement (^^) correctly wrt. string_of_format (Thanks to Pierre Weis)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14834 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12printf behavior of %{..%}Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14833 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12minor strengthening of the typing of %{...%} formatsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14832 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12some characters were not allowed in charsetsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14831 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12accept and ignore '+' and '-' before precision integersGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14830 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12allow incompatible or unsupported numeric formatting flagsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14829 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12fix printing bug: (Printf.printf "% 04d" 3) => "00 3"Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14828 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12parse the ignore flag before all othersGabriel Scherer
The legacy implementation doesn't support "%+_", "%-_" etc. which were accepted by Benoît's patches. This creates a discrepancy (though not a regression) that is not necessarily desirable (and in any case makes fuzz-testing for difference return non-bugs). Long-term, I think that we're good with the previous, simpler structure where "_" must always be the first flag. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14827 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12typecore.ml: fix format's expected-type mistakeGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14826 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12introduce type aliases for simple padding and precision typesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14825 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12testsuite for %_[nNlL]Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12finish %_[nNlL] boostrap (same bootstrap steps)Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14823 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12add typer support for the new formatsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14822 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12temporary bootstrap (%_[nNlL] not yet handled by the typer)Gabriel Scherer
Bootstrap steps: disable "-warn-error A" in Makefile make library -j3 \ && cp stdlib/stdlib.cma stdlib/std_exit.cmo stdlib/*.cmi boot/ \ && make partialclean \ && make ocamlc ocaml -j5 enable -warn-error A again cp ocamlc boot/ git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14821 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12Add support for ignored scan_get_counter formats (%_[nlNL])Gabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14820 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12a testsuite to measure format behavior changes and the effectiveness of ↵Gabriel Scherer
legacy mode git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14819 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12when passed to Printf, %l%n%L should be interepreted as %u, not %dGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14818 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12allows some more ignored formatsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14817 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12ignore more incompatible flagsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12disable incompatible flags in legacy modeGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14815 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12some benine meaningless formats were previously ignoredGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12sets up a 'legacy mode'Gabriel Scherer
When the OCAML_LEGACY_FORMAT environment variable is set, the compiler will try to emulate the behaviour of the previous implementation of format. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14813 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12bootstrapGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14812 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12sync threads/pervasives.mlGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14811 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12second part of Benoît Vaugon's format+gadts patchGabriel Scherer
To finish the bootstrap cycle, run: make library-cross make promote make partialclean make core make library-cross make promote-cross make partialclean make ocamlc ocamllex ocamltools make library-cross make promote make partialclean make core make compare git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12temporarily remove %(%) to avoid weaker typingGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14809 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12update Benoît's patch wrt. Parsetree changesGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14808 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12convert Benoît's first patch to bytes/stringGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14807 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12first part of Benoît Vaugon's format-gadts patchGabriel Scherer
After applying this patch, you should run: make library-cross make promote-cross make partialclean make ocamlc ocamllex ocamltools and then immediately apply the following patches until the "second part of Benoît Vaugon's format+gadts patch"; the bootstrap cycle is not finished yet. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14806 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12temporarily revert the bootstrap of naked-pointers before merging format+gadtsGabriel Scherer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12Correct PR#6412 by ruling out sharing of LeventsLuc Maranget
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14804 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12ci-build: do not change directory for Unix slavesDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14803 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12add missing instructions to ci-build for msvcDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12update distclean targetDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14801 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12Add entry in Changelog for #5779.Alain Frisch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14800 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12mark PR#5580 as potentially breaking changeDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12fix missing archsDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12avoid warning just before an error happens using -no-alias-depsJacques Garrigue
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14797 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12add universal CI build scriptDamien Doligez
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14796 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12* split Typetexp.lookup_module and Typetexp.find_moduleJacques Garrigue
* fix semantics of -open by using Typemod.type_open_ git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02