From: Alexandre Terrasa Date: Tue, 25 Mar 2014 19:32:47 +0000 (-0400) Subject: nitc: renamed --no-check-initialization in --no-check-attr-isset to follow the new... X-Git-Tag: v0.6.6~95^2~2 X-Git-Url: http://nitlanguage.org nitc: renamed --no-check-initialization in --no-check-attr-isset to follow the new specification of nullable attributes Signed-off-by: Alexandre Terrasa --- diff --git a/benchmarks/bench_engines.sh b/benchmarks/bench_engines.sh index a97c796..89dc5ae 100755 --- a/benchmarks/bench_engines.sh +++ b/benchmarks/bench_engines.sh @@ -233,7 +233,7 @@ function bench_nitg-g_options() plot "$name.gnu" } bench_nitg-g_options "slower" --hardening -bench_nitg-g_options "nocheck" --no-check-covariance --no-check-initialization --no-check-assert --no-check-autocast --no-check-other +bench_nitg-g_options "nocheck" --no-check-covariance --no-check-attr-isset --no-check-assert --no-check-autocast --no-check-other function bench_nitg-s_options() { @@ -260,7 +260,7 @@ function bench_nitg-s_options() plot "$name.gnu" } bench_nitg-s_options "slower" --hardening --no-inline-intern --no-union-attribute --no-shortcut-equal --no-shortcut-range "--no-gcc-directive likely" "--no-gcc-directive noreturn" -bench_nitg-s_options "nocheck" --no-check-covariance --no-check-initialization --no-check-assert --no-check-autocast --no-check-other +bench_nitg-s_options "nocheck" --no-check-covariance --no-check-attr-isset --no-check-assert --no-check-autocast --no-check-other bench_nitg-s_options "faster" --inline-coloring-numbers --inline-some-methods --direct-call-monomorph "--inline-some-methods --direct-call-monomorph" bench_nitg-s_options "typing" NOALL --bm-typing --phand-typing @@ -289,7 +289,7 @@ function bench_nitg-e_options() plot "$name.gnu" } bench_nitg-e_options "slower" --hardening --no-inline-intern --no-union-attribute --no-shortcut-equal --no-shortcut-range -bench_nitg-e_options "nocheck" --no-check-covariance --no-check-initialization --no-check-assert --no-check-autocast --no-check-other --no-check-erasure-cast +bench_nitg-e_options "nocheck" --no-check-covariance --no-check-attr-isset --no-check-assert --no-check-autocast --no-check-other --no-check-erasure-cast bench_nitg-e_options "faster" --inline-coloring-numbers bench_nitg-e_options "typing" NOALL --bm-typing # --phand-typing diff --git a/src/abstract_compiler.nit b/src/abstract_compiler.nit index d03c1ea..dae3d88 100644 --- a/src/abstract_compiler.nit +++ b/src/abstract_compiler.nit @@ -42,8 +42,8 @@ redef class ToolContext var opt_no_shortcut_range: OptionBool = new OptionBool("Always insantiate a range and its iterator on 'for' loops", "--no-shortcut-range") # --no-check-covariance var opt_no_check_covariance: OptionBool = new OptionBool("Disable type tests of covariant parameters (dangerous)", "--no-check-covariance") - # --no-check-initialization - var opt_no_check_initialization: OptionBool = new OptionBool("Disable isset tests at the end of constructors (dangerous)", "--no-check-initialization") + # --no-check-attr-isset + var opt_no_check_attr_isset: OptionBool = new OptionBool("Disable isset tests before each attribute access (dangerous)", "--no-check-attr-isset") # --no-check-assert var opt_no_check_assert: OptionBool = new OptionBool("Disable the evaluation of explicit 'assert' and 'as' (dangerous)", "--no-check-assert") # --no-check-autocast @@ -63,7 +63,7 @@ redef class ToolContext do super self.option_context.add_option(self.opt_output, self.opt_no_cc, self.opt_make_flags, self.opt_compile_dir, self.opt_hardening, self.opt_no_shortcut_range) - self.option_context.add_option(self.opt_no_check_covariance, self.opt_no_check_initialization, self.opt_no_check_assert, self.opt_no_check_autocast, self.opt_no_check_other) + self.option_context.add_option(self.opt_no_check_covariance, self.opt_no_check_attr_isset, self.opt_no_check_assert, self.opt_no_check_autocast, self.opt_no_check_other) self.option_context.add_option(self.opt_typing_test_metrics, self.opt_invocation_metrics) self.option_context.add_option(self.opt_stacktrace) self.option_context.add_option(self.opt_no_gcc_directive) diff --git a/src/separate_compiler.nit b/src/separate_compiler.nit index 4c2f322..4bbdd2d 100644 --- a/src/separate_compiler.nit +++ b/src/separate_compiler.nit @@ -1303,7 +1303,7 @@ class SeparateCompilerVisitor self.add("{res} = {recv}->attrs[{a.const_color}]; /* {a} on {recv.inspect} */") # Check for Uninitialized attribute - if not ret isa MNullableType and not self.compiler.modelbuilder.toolcontext.opt_no_check_initialization.value then + if not ret isa MNullableType and not self.compiler.modelbuilder.toolcontext.opt_no_check_attr_isset.value then self.add("if (unlikely({res} == NULL)) \{") self.add_abort("Uninitialized attribute {a.name}") self.add("\}") @@ -1317,7 +1317,7 @@ class SeparateCompilerVisitor self.add("{res} = {recv}->attrs[{a.const_color}].{ret.ctypename}; /* {a} on {recv.inspect} */") # Check for Uninitialized attribute - if ret.ctype == "val*" and not ret isa MNullableType and not self.compiler.modelbuilder.toolcontext.opt_no_check_initialization.value then + if ret.ctype == "val*" and not ret isa MNullableType and not self.compiler.modelbuilder.toolcontext.opt_no_check_attr_isset.value then self.add("if (unlikely({res} == NULL)) \{") self.add_abort("Uninitialized attribute {a.name}") self.add("\}")