From c94b0ddcec4720391036826db64d3157a2972fd8 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 10 Dec 2014 15:35:31 +0100 Subject: mds-kbdc: compile-layout: fix sideeffect tracking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/mds-kbdc/compile-layout.c | 2 +- .../invalid/mix_of_with_and_without_sideeffect | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test-files/mds-kbdc/compile-layout/invalid/mix_of_with_and_without_sideeffect diff --git a/src/mds-kbdc/compile-layout.c b/src/mds-kbdc/compile-layout.c index db2680d..99378f5 100644 --- a/src/mds-kbdc/compile-layout.c +++ b/src/mds-kbdc/compile-layout.c @@ -2428,7 +2428,7 @@ static int compile_map(mds_kbdc_tree_map_t* restrict tree) done: mds_kbdc_tree_free(seq); mds_kbdc_tree_free(res); - have_side_effect = old_have_side_effect; + have_side_effect |= old_have_side_effect; return 0; FAIL_BEGIN; mds_kbdc_include_stack_free(include_stack); diff --git a/test-files/mds-kbdc/compile-layout/invalid/mix_of_with_and_without_sideeffect b/test-files/mds-kbdc/compile-layout/invalid/mix_of_with_and_without_sideeffect new file mode 100644 index 0000000..9c9a0f8 --- /dev/null +++ b/test-files/mds-kbdc/compile-layout/invalid/mix_of_with_and_without_sideeffect @@ -0,0 +1,15 @@ +let \1 : {0} +function f/0 + if 1 # if statement is just to reduce warnings + "\set(1 0 0)" + "c" + end if +end function +macro m/0 + "a" + "\f()" + "b" + "\f()" +end macro +m() + -- cgit v1.2.3-70-g09d2