Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change compilation order of toplevel definitions. (#1649)
Control compilation order better. This change applies to the compilation phase from typed tree to lambda code, on the path used by the bytecode compiler. - Change transl_let (in translcore.ml) so that the body of a let construct and the bindindgs can be evaluated in one order or the other. - Enforce top to bottom order for (bytecode) compilation of toplevel definitions (in translmod.ml). As a result, warnings from different toplevel definitions emitted during this compilation phase should should appear by increasing location. Furthermore, this was already the compilation order of toplevel definition by the native code compiler. Thus, console output of both compiler now are closer one to the other than before. Also notice that the flambda compilers behave like the non-flambda bytecode compiler as regards the compilation order of toplevel definitions.
- Loading branch information
Showing
6 changed files
with
56 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,15 @@ | ||
File "w47_inline.ml", line 13, characters 15-22: | ||
Warning 47: illegal payload for attribute 'inlined'. | ||
File "w47_inline.ml", line 5, characters 23-29: | ||
Warning 47: illegal payload for attribute 'inline'. | ||
It must be either empty, 'always' or 'never' | ||
File "w47_inline.ml", line 8, characters 23-29: | ||
File "w47_inline.ml", line 6, characters 23-29: | ||
Warning 47: illegal payload for attribute 'inline'. | ||
It must be either empty, 'always' or 'never' | ||
File "w47_inline.ml", line 7, characters 23-29: | ||
Warning 47: illegal payload for attribute 'inline'. | ||
It must be either empty, 'always' or 'never' | ||
File "w47_inline.ml", line 6, characters 23-29: | ||
File "w47_inline.ml", line 8, characters 23-29: | ||
Warning 47: illegal payload for attribute 'inline'. | ||
It must be either empty, 'always' or 'never' | ||
File "w47_inline.ml", line 5, characters 23-29: | ||
Warning 47: illegal payload for attribute 'inline'. | ||
File "w47_inline.ml", line 13, characters 15-22: | ||
Warning 47: illegal payload for attribute 'inlined'. | ||
It must be either empty, 'always' or 'never' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,26 @@ | ||
File "w53.ml", line 2, characters 4-5: | ||
Warning 32: unused value h. | ||
File "w53.ml", line 31, characters 17-29: | ||
Warning 53: the "ocaml.inline" attribute cannot appear in this context | ||
File "w53.ml", line 30, characters 16-22: | ||
Warning 53: the "inline" attribute cannot appear in this context | ||
File "w53.ml", line 24, characters 0-39: | ||
Warning 53: the "inline" attribute cannot appear in this context | ||
File "w53.ml", line 23, characters 0-32: | ||
File "w53.ml", line 2, characters 14-20: | ||
Warning 53: the "inline" attribute cannot appear in this context | ||
File "w53.ml", line 15, characters 16-24: | ||
Warning 53: the "tailcall" attribute cannot appear in this context | ||
File "w53.ml", line 12, characters 14-28: | ||
Warning 53: the "ocaml.tailcall" attribute cannot appear in this context | ||
File "w53.ml", line 11, characters 14-22: | ||
Warning 53: the "tailcall" attribute cannot appear in this context | ||
File "w53.ml", line 9, characters 16-23: | ||
File "w53.ml", line 3, characters 14-26: | ||
Warning 53: the "ocaml.inline" attribute cannot appear in this context | ||
File "w53.ml", line 5, characters 14-21: | ||
Warning 53: the "inlined" attribute cannot appear in this context | ||
File "w53.ml", line 6, characters 14-27: | ||
Warning 53: the "ocaml.inlined" attribute cannot appear in this context | ||
File "w53.ml", line 5, characters 14-21: | ||
File "w53.ml", line 9, characters 16-23: | ||
Warning 53: the "inlined" attribute cannot appear in this context | ||
File "w53.ml", line 3, characters 14-26: | ||
Warning 53: the "ocaml.inline" attribute cannot appear in this context | ||
File "w53.ml", line 2, characters 14-20: | ||
File "w53.ml", line 11, characters 14-22: | ||
Warning 53: the "tailcall" attribute cannot appear in this context | ||
File "w53.ml", line 12, characters 14-28: | ||
Warning 53: the "ocaml.tailcall" attribute cannot appear in this context | ||
File "w53.ml", line 15, characters 16-24: | ||
Warning 53: the "tailcall" attribute cannot appear in this context | ||
File "w53.ml", line 23, characters 0-32: | ||
Warning 53: the "inline" attribute cannot appear in this context | ||
File "w53.ml", line 24, characters 0-39: | ||
Warning 53: the "inline" attribute cannot appear in this context | ||
File "w53.ml", line 30, characters 16-22: | ||
Warning 53: the "inline" attribute cannot appear in this context | ||
File "w53.ml", line 31, characters 17-29: | ||
Warning 53: the "ocaml.inline" attribute cannot appear in this context |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
File "w54.ml", line 9, characters 0-43: | ||
File "w54.ml", line 2, characters 33-39: | ||
Warning 54: the "inline" attribute is used more than once on this expression | ||
File "w54.ml", line 5, characters 26-39: | ||
Warning 54: the "ocaml.inlined" attribute is used more than once on this expression | ||
File "w54.ml", line 3, characters 51-63: | ||
Warning 54: the "ocaml.inline" attribute is used more than once on this expression | ||
File "w54.ml", line 2, characters 33-39: | ||
File "w54.ml", line 5, characters 26-39: | ||
Warning 54: the "ocaml.inlined" attribute is used more than once on this expression | ||
File "w54.ml", line 9, characters 0-43: | ||
Warning 54: the "inline" attribute is used more than once on this expression |