Commit Graph

8750 Commits (0b9347f482130b9c92c84ed2d0914c8a327d69fb)

Author SHA1 Message Date
Benedikt Meurer 02a3d55135 [arm] Inlined byte-swap operations are simple if their arguments are.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13206 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-06 17:40:27 +00:00
Benedikt Meurer 4b800c3a82 PR#5774: Updates Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13205 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-06 17:22:13 +00:00
Benedikt Meurer df19d30cb4 PR#5774: Add test for the bswap primitives.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13204 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-06 17:22:09 +00:00
Benedikt Meurer e0e2f5fb1b [arm] Implement the byte swap operations (PR#5774).
Use rev16/movt to implement direct 16-bit byte-swap operation
(ARMv6T2 and above) and rev to implement the 32-bit byte-swap
operation (ARMv6 and above).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13203 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-06 17:07:50 +00:00
Wojciech Meyer 7efba284ce Reverting "PR#5868: Bytecode dependencies should not appear in output of ocamldep"
-native flag semantics are currently different to that what the user
expects, and what was attempted to be fixed. The semantics of -native
are not to completely disable generation of dependencies for bytecode
instead make the compilation to native code more efficient.

Most of the project are expected to be buildable with both versions of
the compiler. So ocamldep is expected to always generate the
dependencies in both cases. When the .mli file is absent ocamldep
needs to still generate dependencies in bytecode to build the cmi only
and to build cmi and cmx for the dependent compilation unit . Because
of some make tool pecularities, handling of two different rules that
include the same depenency is problematic, so instead when the -native
flag is not used the cmo file is used as a proxy to build cmi, when
the -native enabled however, the cmx file is used as proxy to build
cmi file for the dependencies to avoid recompilation of the dependent
.cmo file just to get .cmi file.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-03 17:38:21 +00:00
Damien Doligez 88c6ce7d94 ignore generated file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13201 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-03 16:01:58 +00:00
Damien Doligez b61b138c99 PR#5804: bad formatting of documentation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13200 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-03 16:01:13 +00:00
Damien Doligez 011b61118d PR#5712: (6) document OCAMLRUNPARAM flag R
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13199 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-03 15:23:40 +00:00
Damien Doligez 1d72610aea PR#5712: (6) document OCAMLRUNPARAM flag R
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13198 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-03 15:22:11 +00:00
Wojciech Meyer f97f2f5bab PR#5868: Somewhat a better fix for -native option.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 16:17:58 +00:00
Wojciech Meyer 04bca674d3 PR#5868: Bytecode dependencies should not appear in output of ocamldep when -native flag is used
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 15:09:08 +00:00
Wojciech Meyer 4bc9fa5359 PR#5212: Fix: ocamlbuild does not warn for bad input
Patch by Ygrek!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 04:53:51 +00:00
Wojciech Meyer 5e15de8ae1 Fix missing files to be installed for ocamlbuild
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13192 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 04:53:49 +00:00
Wojciech Meyer 40dc45cb77 Add some test for ocamlbuild. Make ocamlbuild_test test function handle optional parameters and support expected failures
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 01:37:26 +00:00
Wojciech Meyer cb09743fc5 Commit also .depend file for ocamlbuild Makefile.noboot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13190 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 00:33:29 +00:00
Wojciech Meyer a6774cae34 Entry point for ocamlbuild noboot version.
Is enabled by saying:

# make OCAMLBUILD_NOBOOT=yes world.opt

currently just works for bytecode only.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 00:33:28 +00:00
Wojciech Meyer 2a415d5ec0 Initial version of Makefile.noboot that does not depend on ocamlbuild being booted
Still requires some work, in particular:
* native build of ocamlbuild
* building Camlp4 still is not working
* not vpath leftover files break the further build

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 00:33:27 +00:00
Wojciech Meyer 51e74fff88 Remove old module from ocamlbuild bootstrap Std_signatures to tide up
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 00:33:26 +00:00
Wojciech Meyer 293bf33f1d Add 'K' class of warning tag to ocamlbuild
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13186 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 00:33:25 +00:00
Wojciech Meyer c05b5ccea7 ocamlbuild_test, remove test directory tree only if exists
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13185 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 00:33:23 +00:00
Wojciech Meyer 0ef73a598c Add two more entries to .ignore
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-31 01:25:54 +00:00
Wojciech Meyer 7ce9e125d3 Removed sporious modules from .odocl
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13178 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-31 01:04:22 +00:00
Wojciech Meyer d2335da36f More work on ocamlbuild testsuite.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-30 03:25:35 +00:00
Wojciech Meyer 675d52a678 Prefer forward slashes to backward slashes on NT as it's more portable.
Nowdays all the Windows operating systems accept both, more over it's
being passed to our toolchain as a relative path (not UNC), so I see
no harm if we want to be a little bit more portable. The only reason
to not doing so is conventiob and IDEs which might parse Makefile.nt
and not recognise it.

Proposed by Adrien Nader.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13176 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-30 03:12:11 +00:00
Wojciech Meyer 6268eacf79 WinError.h -> winerror.h. This improves cross-compilation for Windows.
Patch proposed by Adrien Nader.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13175 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-30 03:12:10 +00:00
Wojciech Meyer 0acb3a2205 config/Makefile.*: remove DBM-related variables.
Patch by Adien Nader!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13174 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-30 03:12:09 +00:00
Benedikt Meurer b04d8284f0 Fix several C compiler warnings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-29 10:41:08 +00:00
Wojciech Meyer 21735ad375 New testing infrastructure for ocamlbuild (PR#5755)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-29 04:34:30 +00:00
Benedikt Meurer 25343aa241 [arm] Fix arch selection with ARMv6. Rename EABI_VFP to EABI_HF.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-29 00:49:57 +00:00
Benedikt Meurer 9ae458499e [arm] Improve register pressure for interval splitting.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-28 23:27:56 +00:00
Wojciech Meyer 655cf17e4e Revert "PR#5652: Try to use camlp4.opt if it's possible"
camlp4.opt works only with native plugins therefore the fix will break bytecode camlp4 plugins.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-28 18:19:27 +00:00
Benedikt Meurer 5ac5c51914 Slightly improve ordering of constrained registers.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 23:39:28 +00:00
Jacques Garrigue 1b52552777 add test cases for PR#5673
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 07:19:12 +00:00
Jacques Garrigue 50e15d0e65 fix PR#5673
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 07:03:32 +00:00
Jacques Garrigue d779487717 fix PR#5835
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 03:15:09 +00:00
Jacques Garrigue 70036282aa update dependencies
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13162 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 02:38:02 +00:00
Jacques Garrigue d573c40608 Fix PR#5865
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13161 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 02:34:49 +00:00
Jacques Garrigue 442c84b40a delayed check for absent variant constructors in patterns
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 01:38:01 +00:00
Jacques Garrigue 9ba15d4e82 do not diff the patch itself
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-25 04:32:23 +00:00
Jacques Garrigue 5011d90eb8 only need to copy if pattern contains polymorphic variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13158 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-25 04:28:12 +00:00
Hongbo Zhang 733654abab raise an error when multiple private keywords are used in type declarations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-24 05:09:22 +00:00
Wojciech Meyer 2d3c0b7c1e PR#5697: Update changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:24 +00:00
Wojciech Meyer 2ebc2c2790 Update reference file for the ocamlbuild tests - still need some more work
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13155 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:23 +00:00
Wojciech Meyer a3c8cd0170 Fix PR#5752.
Patch by Grégoire Sutre!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13154 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:21 +00:00
Wojciech Meyer 1cfa222553 Fix test
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:20 +00:00
Wojciech Meyer 38dc96e0be Always store full path to ocamlbuild in a variable that is available to the sub-tests
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13152 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:19 +00:00
Wojciech Meyer 469ae8ae60 Use name of the the tools in high detail level logs, this helps comparing logs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13151 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:16 +00:00
Benedikt Meurer 6d46c663db Collect the constrained registers into a set.
Sets allow for faster insertion than ordered lists, while also supporting
iteration according to the comparison function.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13150 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-21 18:36:26 +00:00
Benedikt Meurer 6fad047cc0 PR#5181: Merge common floating point constants in ocamlopt.
Instead of generating a unique quadword constant for each and every
floating point constant use within a function, we now collect the floating
point constants on a per-module basis, and generate only one quadword
per floating point constant.

This affects only the amd64 and i386 ports (both Unix/Linux/OS X and Windows).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-21 18:33:32 +00:00
Jacques Garrigue 030e9d8f10 propagate type information to patterns, even with polymorphic variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13147 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-21 07:50:19 +00:00