mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-11 20:03:28 +00:00
Make --target il' imply --high-level-data'.
Estimated hours taken: 0.25 Branches: main compiler/handle_options.m: scripts/final_grade_options.sh-subr: Make `--target il' imply `--high-level-data'. This is needed to ensure that the `--il' and `--target il' options select the `il' grade, which uses high-level data, rather than the `ilc' grade, which uses low-level data and which is no longer documented because it is not useful; high-level data is better for both efficiency and interoperability and for IL there are no advantages to low-level data.
This commit is contained in:
@@ -331,6 +331,11 @@ postprocess_options_2(OptionTable0, Target, GC_Method, TagsMethod0,
|
|||||||
% - high-level code
|
% - high-level code
|
||||||
% Because only the MLDS back-end supports
|
% Because only the MLDS back-end supports
|
||||||
% compiling to IL, not the LLDS back-end.
|
% compiling to IL, not the LLDS back-end.
|
||||||
|
% - high-level data
|
||||||
|
% Because it is more efficient,
|
||||||
|
% and better for interoperability.
|
||||||
|
% (In theory --low-level-data should work too,
|
||||||
|
% but there's no reason to bother supporting it.)
|
||||||
% - turning off nested functions
|
% - turning off nested functions
|
||||||
% Because IL doesn't support nested functions.
|
% Because IL doesn't support nested functions.
|
||||||
% - using copy-out for nondet output arguments
|
% - using copy-out for nondet output arguments
|
||||||
@@ -375,6 +380,7 @@ postprocess_options_2(OptionTable0, Target, GC_Method, TagsMethod0,
|
|||||||
globals__io_set_option(reclaim_heap_on_semidet_failure,
|
globals__io_set_option(reclaim_heap_on_semidet_failure,
|
||||||
bool(no)),
|
bool(no)),
|
||||||
globals__io_set_option(highlevel_code, bool(yes)),
|
globals__io_set_option(highlevel_code, bool(yes)),
|
||||||
|
globals__io_set_option(highlevel_data, bool(yes)),
|
||||||
globals__io_set_option(gcc_nested_functions, bool(no)),
|
globals__io_set_option(gcc_nested_functions, bool(no)),
|
||||||
globals__io_set_option(nondet_copy_out, bool(yes)),
|
globals__io_set_option(nondet_copy_out, bool(yes)),
|
||||||
globals__io_set_option(num_tag_bits, int(0)),
|
globals__io_set_option(num_tag_bits, int(0)),
|
||||||
|
|||||||
@@ -55,9 +55,9 @@ case $target in asm|il|java)
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
#
|
#
|
||||||
# --target Java implies --high-level-data
|
# --target IL or Java implies --high-level-data
|
||||||
#
|
#
|
||||||
case $target in java)
|
case $target in il|java)
|
||||||
highlevel_data=true ;;
|
highlevel_data=true ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user