Commit Graph

18364 Commits (6efe8fea5b6c3f1db22e50e8b164d6ffec85578d)

Author SHA1 Message Date
Stefan Muenzel 6efe8fea5b Optimized 3-way comparisons for int and float (#2250)
Previously, `caml_int_compare` and `caml_float_compare` would compute their -1/0/1 result
at type int, then widen it to type intnat.  On 64-bit platforms this causes an extra sign extension.
This commit changes the code so that the -1/0/1 result is computed directly at type intnat.
2019-03-23 15:51:59 +01:00
Damien Doligez 46f901bb94 Small fixes to release-checklist 2019-03-22 15:13:41 +01:00
Nicolás Ojeda Bär dbb889e813
Merge pull request #1904 from myfreeweb/freebsd-aarch64
Add FreeBSD/aarch64 support. Fixes #7931
2019-03-22 14:26:53 +01:00
Greg V f746a0024e Add FreeBSD/aarch64 support
Using the clang/llvm assembler avoids an extra dependency on GNU binutils, and that's what 32-bit arm is using.
But in this case, there was a problem with floating point immediates: LLVM thinks that if they're written in hex, they must be integer values between 0 and 255.
Changed them to float literals.
2019-03-22 15:35:43 +03:00
Xavier Leroy 76d00023ce Test for "special" floating-point literals
Some ocamlopt code generators use special instructions to load specific FP
constants into an FP register, instead of loading the value from memory.
This is the case for i386, amd64, and arm64.
This test checks that these special instructions produce the correct
FP values.
2019-03-22 15:35:43 +03:00
Stephen Dolan f495bfb7cb
Merge pull request #8514 from stedolan/boot-ocamlc-opt
Use boot/ocamlc.opt for building, if available.
2019-03-22 12:22:14 +00:00
Stephen Dolan 9acd54e668 Add a note on using ocamlc.opt to HACKING.adoc 2019-03-22 10:41:19 +00:00
Sébastien Hinderer 6db4eadc5e
Fix alignment detection for long integers on 32-bits platforms (#8532) 2019-03-21 19:16:16 +01:00
Sébastien Hinderer b56c4ff3d0
Get rid of the direct call to the C preprocessor in the testsuite (#8528)
Call the C preprocessor through the C compiler rather than calling it
directly.

This required the definition of a new ocamltest variable,
ocaml_filetype_flag, which makes it possible to override the filetype
inferred by the compiler from the extnesion of the source file.
2019-03-21 18:12:43 +01:00
Stephen Dolan 58ef7303bb Remove some unused configure tests. (#8533) 2019-03-21 17:35:59 +01:00
Konstantin Romanov f1a1347e7b Reenable XLC on AIX 7.x (#2295) 2019-03-21 17:13:35 +01:00
Xavier Leroy 1062824060 Remove the runtime/caml/int64_* includes
Those are no loger used since commit 774e30e138,
which removed int64 emulation, assuming the C compiler implements it.
2019-03-21 16:02:31 +01:00
Xavier Clerc f7f5f2112d Tweak the definition of Parsetree.Pexp_letop (#8535)
Avoid the use of inline records so that we can keep compatibility with 4.02 in ocaml-migrate-parsetree.
2019-03-21 14:09:35 +00:00
Stephen Dolan 46c427f519 Use boot/ocamlc.opt for building, if available. 2019-03-20 10:31:46 +00:00
Florian Angeletti cd0933f0e8
Merge pull request #8515 from Octachron/reexport_constraint
manual: precise constraints on reexported types
2019-03-19 17:34:21 +01:00
Nicolás Ojeda Bär b715afa2d2
Merge pull request #8524 from nojb/unit_stdlib_fix
Add Unit to stdlib.ml{,i}
2019-03-19 15:25:14 +01:00
Nicolás Ojeda Bär 522fd6746b Update test results 2019-03-19 13:48:34 +01:00
Nicolás Ojeda Bär 74c94835b3 Add Unit to stdlib.ml{,i} 2019-03-19 12:29:20 +01:00
Mark Shinwell dbede46c2e
Improve the packing mechanism used to build Dynlink (#2268) 2019-03-19 10:26:35 +00:00
Gabriel Scherer 54c7ea7b42 Add Vincent 'lthls' Laviron to the Approvers (#8522) 2019-03-19 10:59:37 +01:00
Nicolás Ojeda Bär bcfb3d2fa9
Merge pull request #8518 from nojb/dynlink_linall_doc
dynlink: add doc about -linkall
2019-03-19 06:51:03 +01:00
Nicolás Ojeda Bär b43bf50bbf
Merge pull request #8509 from nojb/fix_unix_tests
Actually run all lib-unix tests
2019-03-19 06:43:33 +01:00
Nicolás Ojeda Bär 1d98b394db Simplify 2019-03-18 19:58:05 +01:00
Nicolás Ojeda Bär fe83737cbb dynlink: add doc about -linkall 2019-03-18 16:55:16 +01:00
Florian Angeletti c929ace8a1 update Changes 2019-03-18 16:44:51 +01:00
Nicolás Ojeda Bär 31f4c37080 Fix lib-unix/common/process_pid test 2019-03-18 16:32:46 +01:00
Nicolás Ojeda Bär cc8457f72e Actually run all lib-unix tests 2019-03-18 16:29:42 +01:00
Jérémie Dimino c413136fa3 Delete otherlib/{graph,win32graph} (#2318)
The Graphics library is now distributed as a separate package.
The sources are at https://github.com/ocaml/graphics .

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-03-18 15:05:57 +01:00
Mark Shinwell 0933593596 Fix ppc64 TOC load for exception handler addresses (#8506)
The address was loaded from the TOC into register r0.  This generated  bad code in the "big TOC" case, as r0 was used as index register.  The fix is to use another temporary register instead of r0.
Add "arch_power" builtin to ocamltest.
Add test case.
2019-03-18 13:31:57 +01:00
Nicolás Ojeda Bär db1e59d727
Merge pull request #8507 from mshinwell/flambda_name_mangling
Shorten symbol names of anonymous functions in Flambda mode
2019-03-18 12:31:01 +01:00
Mark Shinwell c843e2dd72 Changes 2019-03-18 10:57:01 +00:00
Mark Shinwell c4272f7fe5 Shorten symbol names of anonymous functions in Flambda mode 2019-03-18 10:57:01 +00:00
Stephen Dolan 4f03a1467d
Merge pull request #2293 from stedolan/named-value-const
Make caml_named_value return a const value*
2019-03-18 09:45:02 +00:00
Stephen Dolan 838e44a245
Update issue numbers in comments after Mantis -> Github migration. (#8505) 2019-03-18 09:42:23 +00:00
Mark Shinwell e3a62eef91
Add Compute_ranges pass (#2291) 2019-03-18 08:52:34 +00:00
Xavier Leroy c5efbb42a4
MPR#3249: ocamlmklib does not support .cmxa files as arguments (#8512)
That's because ocamlopt -a doesn't support .cmxa files as arguments.
It is better to reject those files in ocamlmklib than later.
The manual never said that ocamlmklib accepts .cmxa files.

Closes: #3249
2019-03-18 09:11:36 +01:00
Florian Angeletti d89e047ccb testsuite: test reexport failures 2019-03-17 22:03:52 +01:00
Florian Angeletti d0b47176ca manual: precise constraint on reexports 2019-03-17 22:03:52 +01:00
Florian Angeletti 798dc35c9e
manual: refresh moduleref macro (#8508) 2019-03-16 20:47:20 +01:00
Mark Shinwell 2cc1ea26b9 Remove gprof support (#2314)
This commit removes support for gprof-based profiling (the -p option to ocamlopt).  It follows a discussion on the core developers' list, which indicated that removing gprof support was a reasonable thing to do. The rationale is that there are better easy-to-use profilers out there now, such as perf for Linux and Instruments on macOS; and the gprof support has always been patchy across targets. We save a whole build of the runtime and simplify some other parts of the codebase by removing it.
2019-03-16 19:56:53 +01:00
Mark Shinwell e141d9e240
Add a few utility functions in Misc (#2284) 2019-03-15 11:28:19 +00:00
Thomas Refis 3755f8f576 main_args: remove some redundancy in Ocamldoc_options. 2019-03-15 10:57:06 +00:00
thierry-martinez 815c275529 Fix documentation for Result.bind: return [f v] and not [Ok (f v)] (#8503) 2019-03-15 00:37:20 +01:00
Nicolás Ojeda Bär bd69c678c2 Add CSV file with Mantis=>GitHub renumbering information 2019-03-15 00:01:48 +01:00
Mark Shinwell 618e5dbfbd More debugging information in Cmm terms (#2308)
Following on from GPR#851 and GPR#873, this pull request further enhances debugging information in Cmm terms. This was driven both by manually examining the debugger's behaviour and also by a report received from a user regarding substandard DWARF location information.
2019-03-13 15:40:04 +00:00
Mark Shinwell 0bd539ae24 GPR#2082: New option -no-insn-sched 2019-03-13 15:03:49 +00:00
Vincent Laviron baa1888f4e Reuse the variable introduced in GPR#2083 for integer operations symbols (#2260)
No change entry needed
2019-03-13 11:58:34 +00:00
Jérémie Dimino 9387160a21 Delete old compatibility from the bigarray stubs (#2315)
The compatibility macros (that were introduced while moving bigarray file mapping functions to the Unix library) are no longer necessary, so let's get rid of them.

Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-03-13 11:51:02 +01:00
Sébastien Hinderer 58cfcb6589 Update Changes 2019-03-13 10:49:31 +00:00
Sébastien Hinderer 5b5513963b Fix detection of assembler on some platforms
This commit fixes MPR#7919
2019-03-13 10:49:31 +00:00