New upstream version 5.1.1 (RHBZ#2239227)
This commit is contained in:
parent
48b6d0088d
commit
b40114b0c9
@ -1,17 +1,17 @@
|
||||
From 56fafd588484ceb9b8e998b5e569d7df27deae3b Mon Sep 17 00:00:00 2001
|
||||
From 799bf9088c131fc71626a48e9987e4d44a2f0194 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 24 Jun 2014 10:00:15 +0100
|
||||
Subject: [PATCH 2/5] Don't add rpaths to libraries.
|
||||
Subject: [PATCH 1/3] Don't add rpaths to libraries.
|
||||
|
||||
---
|
||||
configure.ac | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index aba3569f7c..6c50ba6c71 100644
|
||||
index b81da53c42..892a2a894f 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1106,8 +1106,6 @@ AS_IF([test x"$enable_shared" != "xno"],
|
||||
@@ -1107,8 +1107,6 @@ AS_IF([test x"$enable_shared" != "xno"],
|
||||
[[*-*-openbsd7.[3-9]|*-*-openbsd[89].*]],
|
||||
[mkdll_flags="${mkdll_flags} -Wl,--no-execute-only"])
|
||||
oc_ldflags="$oc_ldflags -Wl,-E"
|
||||
@ -21,5 +21,5 @@ index aba3569f7c..6c50ba6c71 100644
|
||||
supports_shared_libraries=true],
|
||||
[mkdll='shared-libs-not-available'])
|
||||
--
|
||||
2.41.0
|
||||
2.43.0
|
||||
|
@ -1,176 +0,0 @@
|
||||
From 4c03e721b4c53240a9091790acb401b27e72dce0 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Angeletti <florian.angeletti@inria.fr>
|
||||
Date: Wed, 4 Oct 2023 10:05:44 +0200
|
||||
Subject: [PATCH 1/5] Fix variance composition (#12623)
|
||||
|
||||
Possible positive occurrence under possible negative occurrence were
|
||||
forgotten, making the typechecker accepts the absurd statement
|
||||
|
||||
type -'a n
|
||||
type +'a p
|
||||
type +'a ko = 'a p n
|
||||
|
||||
(cherry picked from commit 1a9c45317b2c6c9ca9b4cb95fe4891f9f1a2820e)
|
||||
---
|
||||
Changes | 8 +++
|
||||
boot/ocamlc | Bin 3051798 -> 3051796 bytes
|
||||
boot/ocamllex | Bin 391863 -> 391861 bytes
|
||||
testsuite/tests/typing-misc/variance.ml | 87 ++++++++++++++++++++++++
|
||||
typing/types.ml | 2 +-
|
||||
5 files changed, 96 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Changes b/Changes
|
||||
index 20b7b8ee22..dccdc9baba 100644
|
||||
--- a/Changes
|
||||
+++ b/Changes
|
||||
@@ -1,3 +1,11 @@
|
||||
+OCaml 5.1.1
|
||||
+-----------
|
||||
+
|
||||
+### Bug fixes:
|
||||
+
|
||||
+- #12623, fix the computation of variance composition
|
||||
+ (Florian Angeletti, report by Vesa Karvonen, review by Gabriel Scherer)
|
||||
+
|
||||
OCaml 5.1.0 (14 September 2023)
|
||||
-------------------------------
|
||||
|
||||
diff --git a/boot/ocamlc b/boot/ocamlc
|
||||
index f3b2cba8df84a5f1326c7fe7bdf12b85159f65b3..4db4d848dbc3c2411a9e6160e9d932dd7ba35a34 100755
|
||||
GIT binary patch
|
||||
delta 244
|
||||
zcmZ9=y)pw)7zW@yD_A75h=~7x4sq6QNTHKLLz5Y;l1i^m@y)Byq%e*dP4>M3jS*A|
|
||||
zH=r=XOm0DACarO5#nU`Dd{Ng<LzMW^BN^$HKIxZ024ql%Br7=?mi$BbncCYl%-WMQ
|
||||
z3~cMYn6aH>71+*IApk>g1RMp&zydf97QqRy1Wtle;50Y`&VqB`Jh%WZf=l2sxB{+%
|
||||
zYvB4LHS4)A&pSWz{Q8@xo}b$HKl;!&)oPSPN%{2bA~uz{vSZ>slkC18)N0Mv{`SAV
|
||||
Z)LrdtIGaw{*=p;q`M6Wx_O}_8{s6iiTe|=N
|
||||
|
||||
delta 266
|
||||
zcmbQTXcyx&AZ}=3Y+-6)ZeeL*ZDDI+Z{cX+Y~gC*ZsBR+ZQ*O--y(2h;q(<<0zA`W
|
||||
z77B1oUvN>3W%_}I0zB=17775dAP@@yu`m#e0I?_#ivh7X5K92DBoIphu{03N0I@6(
|
||||
z%K@=G5Gw$&A`mM9u`&>=0I@0%s{yh4_CE_XmId(MW?;znW?%|9%D}jD=l1oVG`yJf
|
||||
z%}n(S^$fIAQp*fYb&U*+jCBnxbq!1pxH>vaSm0oQF5a&8RRf4MfmjQOwSib?yV_UX
|
||||
OtFsy3PyaJPPXYiZJ96a!
|
||||
|
||||
diff --git a/boot/ocamllex b/boot/ocamllex
|
||||
index cfdfbe8b4541516ef49c895ea691ea534706de67..b2b5404e69f35a1eb7d0a74fe687a4f4508a7149 100755
|
||||
GIT binary patch
|
||||
delta 98
|
||||
zcmdn~RebAL@rD-07N!>F7M3lnT~@qO3=Hgl7#JKo7#Or4Zl7+&>cymMYN}_bXQ-W$
|
||||
qT4tbYWME{hYhbBsXmY^S(Q(282Yoc*?E<!}eR~=8rqBPyDggk+ryT$Q
|
||||
|
||||
delta 100
|
||||
zcmdn`Rebwb@rD-07N!>F7M3lnT~@p@3=Hgl7#JKo85p!5ZJ%z%>cymQW~yhXXP}*u
|
||||
rT4rdfYh++#tZQJYYhZf7)zM+X0tW+h@$G!JtbKbK4W`fi#VP>+{6`&d
|
||||
|
||||
diff --git a/testsuite/tests/typing-misc/variance.ml b/testsuite/tests/typing-misc/variance.ml
|
||||
index d0f754f716..419e348f48 100644
|
||||
--- a/testsuite/tests/typing-misc/variance.ml
|
||||
+++ b/testsuite/tests/typing-misc/variance.ml
|
||||
@@ -36,3 +36,90 @@ type !'a t = (module s with type t = 'a);;
|
||||
module type s = sig type t end
|
||||
type 'a t = (module s with type t = 'a)
|
||||
|}]
|
||||
+
|
||||
+(* Composition *)
|
||||
+type -'a n
|
||||
+type +'a p
|
||||
+type !'a i
|
||||
+
|
||||
+type +'a error_np = 'a n p;;
|
||||
+[%%expect{|
|
||||
+type -'a n
|
||||
+type +'a p
|
||||
+type !'a i
|
||||
+Line 5, characters 0-26:
|
||||
+5 | type +'a error_np = 'a n p;;
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be covariant,
|
||||
+ but it is contravariant.
|
||||
+|}]
|
||||
+
|
||||
+
|
||||
+type +'a error_pn = 'a p n;;
|
||||
+[%%expect{|
|
||||
+Line 1, characters 0-26:
|
||||
+1 | type +'a error_pn = 'a p n;;
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be covariant,
|
||||
+ but it is contravariant.
|
||||
+|}]
|
||||
+
|
||||
+type -'a error_pp = 'a p p;;
|
||||
+[%%expect{|
|
||||
+Line 1, characters 0-26:
|
||||
+1 | type -'a error_pp = 'a p p;;
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be contravariant,
|
||||
+ but it is covariant.
|
||||
+|}]
|
||||
+
|
||||
+type -'a error_nn = 'a n n;;
|
||||
+[%%expect{|
|
||||
+Line 1, characters 0-26:
|
||||
+1 | type -'a error_nn = 'a n n;;
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be contravariant,
|
||||
+ but it is covariant.
|
||||
+|}]
|
||||
+
|
||||
+type !'a inj_in = 'a i n
|
||||
+[%%expect{|
|
||||
+Line 1, characters 0-24:
|
||||
+1 | type !'a inj_in = 'a i n
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be injective invariant,
|
||||
+ but it is invariant.
|
||||
+|}]
|
||||
+
|
||||
+type !'a inj_in = 'a n i
|
||||
+[%%expect{|
|
||||
+Line 1, characters 0-24:
|
||||
+1 | type !'a inj_in = 'a n i
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be injective invariant,
|
||||
+ but it is invariant.
|
||||
+|}]
|
||||
+
|
||||
+module Make_covariant(M: sig type 'a t end): sig
|
||||
+ type 'a i = 'a
|
||||
+ type +'a t = 'a i M.t
|
||||
+end = struct
|
||||
+ type 'a i = 'a
|
||||
+ type +'a t = 'a i M.t
|
||||
+end
|
||||
+
|
||||
+module Positive_ref = Make_covariant(struct type 'a t = 'a ref end)
|
||||
+[%%expect {|
|
||||
+Line 6, characters 2-23:
|
||||
+6 | type +'a t = 'a i M.t
|
||||
+ ^^^^^^^^^^^^^^^^^^^^^
|
||||
+Error: In this definition, expected parameter variances are not satisfied.
|
||||
+ The 1st type parameter was expected to be covariant,
|
||||
+ but it is invariant.
|
||||
+|}]
|
||||
diff --git a/typing/types.ml b/typing/types.ml
|
||||
index 45a4f896d6..c1dbdb6895 100644
|
||||
--- a/typing/types.ml
|
||||
+++ b/typing/types.ml
|
||||
@@ -186,7 +186,7 @@ module Variance = struct
|
||||
let mp =
|
||||
mem May_pos v1 && mem May_pos v2 || mem May_neg v1 && mem May_neg v2
|
||||
and mn =
|
||||
- mem May_pos v1 && mem May_neg v2 || mem May_pos v1 && mem May_neg v2
|
||||
+ mem May_pos v1 && mem May_neg v2 || mem May_neg v1 && mem May_pos v2
|
||||
and mw = mem May_weak v1 && v2 <> null || v1 <> null && mem May_weak v2
|
||||
and inj = mem Inj v1 && mem Inj v2
|
||||
and pos = mem Pos v1 && mem Pos v2 || mem Neg v1 && mem Neg v2
|
||||
--
|
||||
2.41.0
|
||||
|
@ -1,17 +1,17 @@
|
||||
From e8170e71efb93f10c27935acc95093eb3f53ab6c Mon Sep 17 00:00:00 2001
|
||||
From f2b875e8201efed22267136096b1e5df97f99f84 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 29 May 2012 20:44:18 +0100
|
||||
Subject: [PATCH 3/5] configure: Allow user defined C compiler flags.
|
||||
Subject: [PATCH 2/3] configure: Allow user defined C compiler flags.
|
||||
|
||||
---
|
||||
configure.ac | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6c50ba6c71..db6ea8a8d1 100644
|
||||
index 892a2a894f..e8f6cbc863 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -759,6 +759,10 @@ AS_CASE([$host],
|
||||
@@ -760,6 +760,10 @@ AS_CASE([$host],
|
||||
internal_cflags="$cc_warnings"],
|
||||
[common_cflags="-O"])])
|
||||
|
||||
@ -22,7 +22,7 @@ index 6c50ba6c71..db6ea8a8d1 100644
|
||||
# Enable SSE2 on x86 mingw to avoid using 80-bit registers.
|
||||
AS_CASE([$host],
|
||||
[i686-*-mingw32*],
|
||||
@@ -2325,7 +2329,7 @@ AC_CONFIG_COMMANDS_PRE([
|
||||
@@ -2327,7 +2331,7 @@ AC_CONFIG_COMMANDS_PRE([
|
||||
[mkexedebugflag="${mkexe_ldflags_prefix}${mkexedebugflag}"])
|
||||
mkdll_ldflags=""
|
||||
AS_IF([test -n "${LDFLAGS}"],
|
||||
@ -31,7 +31,7 @@ index 6c50ba6c71..db6ea8a8d1 100644
|
||||
mkdll_ldflags="${mkdll_ldflags} ${mkexe_ldflags_prefix}${flag}"
|
||||
done
|
||||
mkdll_ldflags_exp="$mkdll_ldflags"])
|
||||
@@ -2351,7 +2355,7 @@ ${mkdll_ldflags}"
|
||||
@@ -2353,7 +2357,7 @@ ${mkdll_ldflags}"
|
||||
],[
|
||||
mkdll_ldflags='$(OC_DLL_LDFLAGS) $(LDFLAGS)'
|
||||
mkdll_ldflags_exp="${oc_dll_ldflags}"
|
||||
@ -41,5 +41,5 @@ index 6c50ba6c71..db6ea8a8d1 100644
|
||||
mkexe_ldflags="\$(OC_LDFLAGS) \$(LDFLAGS)"
|
||||
mkexe_ldflags_exp="${oc_ldflags} ${LDFLAGS}"
|
||||
--
|
||||
2.41.0
|
||||
2.43.0
|
||||
|
@ -1,7 +1,7 @@
|
||||
From e1ee698f482664237bfb693966987cd167c22b68 Mon Sep 17 00:00:00 2001
|
||||
From ba44a9c29771aacf44222a2ff63e7bd6034dd92c Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Buoro <fabrice@tarides.com>
|
||||
Date: Fri, 10 Mar 2023 09:36:22 -0700
|
||||
Subject: [PATCH 5/5] Update framepointers tests to avoid false positive with
|
||||
Subject: [PATCH 3/3] Update framepointers tests to avoid false positive with
|
||||
inlined C functions
|
||||
|
||||
---
|
||||
@ -692,5 +692,5 @@ index e96b5ea13a..0000000000
|
||||
-${program} 2>&1 \
|
||||
- | ${test_source_directory}/filter-locations.sh ${program} >${output}
|
||||
--
|
||||
2.41.0
|
||||
2.43.0
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 8d0e4af8141f6ba925c1de426a9600a96816c86b Mon Sep 17 00:00:00 2001
|
||||
From: Miod Vallat <miod@tarides.com>
|
||||
Date: Mon, 4 Sep 2023 13:50:30 -0600
|
||||
Subject: [PATCH 4/5] Fix x86_64 delivery of effect-related exceptions
|
||||
|
||||
---
|
||||
runtime/amd64.S | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/runtime/amd64.S b/runtime/amd64.S
|
||||
index 8dc9f81ec6..72d96f502d 100644
|
||||
--- a/runtime/amd64.S
|
||||
+++ b/runtime/amd64.S
|
||||
@@ -902,6 +902,7 @@ LBL(112):
|
||||
movq Caml_state(current_stack), %rsi
|
||||
SWITCH_OCAML_STACKS
|
||||
/* No parent stack. Raise Effect.Unhandled. */
|
||||
+ ENTER_FUNCTION
|
||||
movq %rax, C_ARG_1
|
||||
LEA_VAR(caml_raise_unhandled_effect, %rax)
|
||||
jmp LBL(caml_c_call)
|
||||
@@ -946,7 +947,8 @@ CFI_STARTPROC
|
||||
UPDATE_BASE_POINTER(%rcx)
|
||||
SWITCH_OCAML_STACKS
|
||||
jmp *(%rbx)
|
||||
-2: LEA_VAR(caml_raise_continuation_already_resumed, %rax)
|
||||
+2: ENTER_FUNCTION
|
||||
+ LEA_VAR(caml_raise_continuation_already_resumed, %rax)
|
||||
jmp LBL(caml_c_call)
|
||||
CFI_ENDPROC
|
||||
ENDFUNCTION(G(caml_resume))
|
||||
--
|
||||
2.41.0
|
||||
|
21
ocaml.spec
21
ocaml.spec
@ -42,8 +42,8 @@ ExcludeArch: %{ix86}
|
||||
%global rcver %{nil}
|
||||
|
||||
Name: ocaml
|
||||
Version: 5.1.0
|
||||
Release: 5%{?dist}
|
||||
Version: 5.1.1
|
||||
Release: 1%{?dist}
|
||||
|
||||
Summary: OCaml compiler and programming environment
|
||||
|
||||
@ -64,22 +64,18 @@ Source2: ocaml_files.py
|
||||
#
|
||||
# https://pagure.io/fedora-ocaml
|
||||
#
|
||||
# Current branch: fedora-40-5.1.0
|
||||
# Current branch: fedora-40-5.1.1
|
||||
#
|
||||
# ALTERNATIVELY add a patch to the end of the list (leaving the
|
||||
# existing patches unchanged) adding a comment to note that it should
|
||||
# be incorporated into the git repo at a later time.
|
||||
|
||||
# Patches added after 5.1.0 was released.
|
||||
Patch: 0001-Fix-variance-composition-12623.patch
|
||||
|
||||
# Fedora-specific patches
|
||||
Patch: 0002-Don-t-add-rpaths-to-libraries.patch
|
||||
Patch: 0003-configure-Allow-user-defined-C-compiler-flags.patch
|
||||
# https://github.com/ocaml/ocaml/pull/12530
|
||||
Patch: 0004-Fix-x86_64-delivery-of-effect-related-exceptions.patch
|
||||
Patch: 0001-Don-t-add-rpaths-to-libraries.patch
|
||||
Patch: 0002-configure-Allow-user-defined-C-compiler-flags.patch
|
||||
|
||||
# https://github.com/ocaml/ocaml/pull/11594
|
||||
Patch: 0005-Update-framepointers-tests-to-avoid-false-positive-w.patch
|
||||
Patch: 0003-Update-framepointers-tests-to-avoid-false-positive-w.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: git
|
||||
@ -470,6 +466,9 @@ hardlink -t $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Dec 11 2023 Richard W.M. Jones <rjones@redhat.com> - 5.1.1-1
|
||||
- New upstream version 5.1.1 (RHBZ#2239227)
|
||||
|
||||
* Tue Nov 14 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 5.1.0-5
|
||||
- Drop unused BR parallel
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (ocaml-5.1.0.tar.gz) = 814ea71de656eadc59a658ad3b6c4d786815c348ab883b1cdb22d5d0f99d11768f5646f03725f6b44c3b8f4ffeb71e89dadaea157711a7afbe86f23846fc5b52
|
||||
SHA512 (ocaml-5.1.1.tar.gz) = e4aa78afc9a59f604881f14093f4298ebcb005daeb8132a076fe6d24fdf8b59132cbfa2cfe677f1db1891351d3d637c621f24077e531cac6753c264fc7f5fbea
|
||||
|
Loading…
Reference in New Issue
Block a user