From 1629c2787a5dbd03805f2883bc98771fb5f3186b Mon Sep 17 00:00:00 2001 From: Botond Baranyi <botond.baranyi@ericsson.com> Date: Wed, 28 Aug 2019 18:18:04 +0200 Subject: [PATCH] Restricted 'omit' matching mechanism in template variable assignments Change-Id: Ic70da1d3661e2521de57cb0a8bf82e9e5974b06c Signed-off-by: Botond Baranyi <botond.baranyi@ericsson.com> --- compiler2/ttcn3/Statement.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler2/ttcn3/Statement.cc b/compiler2/ttcn3/Statement.cc index 463ce4f59..1bb7f0d6d 100644 --- a/compiler2/ttcn3/Statement.cc +++ b/compiler2/ttcn3/Statement.cc @@ -9065,7 +9065,9 @@ error: type->chk_this_template_ref(templ); self_ref |= type->chk_this_template_generic(templ, INCOMPLETE_ALLOWED, - OMIT_ALLOWED, ANY_OR_OMIT_ALLOWED, SUB_CHK, NOT_IMPLICIT_OMIT, lhs); + (type->get_parent_type() != NULL && !type->is_optional_field()) ? + OMIT_NOT_ALLOWED : OMIT_ALLOWED, + ANY_OR_OMIT_ALLOWED, SUB_CHK, NOT_IMPLICIT_OMIT, lhs); chk_template_restriction(); return; error: -- GitLab