Skip to content

Commit

Permalink
Backport :: Bugfix :: Support ldelem.u8, ldelem.u opcode aliases (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
T-Gro authored Dec 2, 2024
1 parent f07a914 commit fd29258
Show file tree
Hide file tree
Showing 4 changed files with 551 additions and 3 deletions.
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<!-- F# Version components -->
<FSMajorVersion>9</FSMajorVersion>
<FSMinorVersion>0</FSMinorVersion>
<FSBuildVersion>100</FSBuildVersion>
<FSBuildVersion>101</FSBuildVersion>
<FSRevisionVersion>0</FSRevisionVersion>
<!-- -->
<!-- F# Language version -->
Expand Down
4 changes: 2 additions & 2 deletions src/Compiler/AbstractIL/ilwrite.fs
Original file line number Diff line number Diff line change
Expand Up @@ -2026,11 +2026,11 @@ module Codebuf =
| I_ldelem dt ->
emitInstrCode codebuf
(match dt with
| DT_I -> i_ldelem_i
| DT_I | DT_U -> i_ldelem_i
| DT_I1 -> i_ldelem_i1
| DT_I2 -> i_ldelem_i2
| DT_I4 -> i_ldelem_i4
| DT_I8 -> i_ldelem_i8
| DT_I8 | DT_U8 -> i_ldelem_i8
| DT_U1 -> i_ldelem_u1
| DT_U2 -> i_ldelem_u2
| DT_U4 -> i_ldelem_u4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,18 @@ let ``for Failure _ | _ in ...`` () = [|for Failure _ | _ in [||] do 0|]
let ``for true | false in ...`` () = [|for true | false in [||] do 0|]
let ``for true | _ in ...`` () = [|for true | _ in [||] do 0|]
let ``for _ | true in ...`` () = [|for _ | true in [||] do 0|]

// https://github.com/dotnet/fsharp/issues/18066
let ``[|for x in sbyteArray -> x|]`` (xs : sbyte array) = [|for x in xs -> x|]
let ``[|for x in byteArray -> x|]`` (xs : byte array) = [|for x in xs -> x|]
let ``[|for x in int16Array -> x|]`` (xs : int16 array) = [|for x in xs -> x|]
let ``[|for x in uint16Array -> x|]`` (xs : uint16 array) = [|for x in xs -> x|]
let ``[|for x in charArray -> x|]`` (xs : char array) = [|for x in xs -> x|]
let ``[|for x in intArray -> x|]`` (xs : int array) = [|for x in xs -> x|]
let ``[|for x in uintArray -> x|]`` (xs : uint array) = [|for x in xs -> x|]
let ``[|for x in int64Array -> x|]`` (xs : int64 array) = [|for x in xs -> x|]
let ``[|for x in uint64Array -> x|]`` (xs : uint64 array) = [|for x in xs -> x|]
let ``[|for x in nativeintArray -> x|]`` (xs : nativeint array) = [|for x in xs -> x|]
let ``[|for x in unativeintArray -> x|]`` (xs : unativeint array) = [|for x in xs -> x|]
let ``[|for x in floatArray -> x|]`` (xs : float array) = [|for x in xs -> x|]
let ``[|for x in float32Array -> x|]`` (xs : float32 array) = [|for x in xs -> x|]
Loading

0 comments on commit fd29258

Please sign in to comment.