Skip to content

Commit a226e73

Browse files
committed
Support OCaml 5.5
Fully support the 5.5 compiler as it is currently, with migrations. The new "external type" feature has not yet been encoded. This is deemed future work. Signed-off-by: Patrick Ferris <[email protected]>
1 parent cc448f4 commit a226e73

File tree

15 files changed

+3983
-2
lines changed

15 files changed

+3983
-2
lines changed

.ocamlformat-ignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ astlib/ast_501.ml
2121
astlib/ast_502.ml
2222
astlib/ast_503.ml
2323
astlib/ast_504.ml
24+
astlib/ast_505.ml
2425

2526
# Files that use cinaps to generate code blocks from other code blocks work well,
2627
# but files that inject freely formatted code via cinaps must be excluded

ast/supported_version/supported_version.ml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ let all =
1414
(5, 2);
1515
(5, 3);
1616
(5, 4);
17+
(5, 5);
1718
]
1819

1920
let to_string (a, b) =

ast/versions.ml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,13 @@ module OCaml_504 = struct
654654
let string_version = "5.4"
655655
end
656656
let ocaml_504 : OCaml_504.types ocaml_version = (module OCaml_504)
657+
module OCaml_505 = struct
658+
module Ast = Astlib.Ast_505
659+
include Make_witness(Astlib.Ast_505)
660+
let version = 505
661+
let string_version = "5.5"
662+
end
663+
let ocaml_505 : OCaml_505.types ocaml_version = (module OCaml_505)
657664
(*$*)
658665

659666
let all_versions : (module OCaml_version) list = [
@@ -671,6 +678,7 @@ let all_versions : (module OCaml_version) list = [
671678
(module OCaml_502 : OCaml_version);
672679
(module OCaml_503 : OCaml_version);
673680
(module OCaml_504 : OCaml_version);
681+
(module OCaml_505 : OCaml_version);
674682
(*$*)
675683
]
676684

@@ -701,6 +709,8 @@ include Register_migration(OCaml_502)(OCaml_503)
701709
(Astlib.Migrate_502_503)(Astlib.Migrate_503_502)
702710
include Register_migration(OCaml_503)(OCaml_504)
703711
(Astlib.Migrate_503_504)(Astlib.Migrate_504_503)
712+
include Register_migration(OCaml_504)(OCaml_505)
713+
(Astlib.Migrate_504_505)(Astlib.Migrate_505_504)
704714
(*$*)
705715

706716
module OCaml_current = OCaml_OCAML_VERSION

ast/versions.mli

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ module OCaml_501 : OCaml_version with module Ast = Astlib.Ast_501
154154
module OCaml_502 : OCaml_version with module Ast = Astlib.Ast_502
155155
module OCaml_503 : OCaml_version with module Ast = Astlib.Ast_503
156156
module OCaml_504 : OCaml_version with module Ast = Astlib.Ast_504
157+
module OCaml_505 : OCaml_version with module Ast = Astlib.Ast_505
157158
(*$*)
158159

159160
(* An alias to the current compiler version *)

0 commit comments

Comments
 (0)