From e336a30963971caa63b49dd3ae670c383ee90750 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Thu, 4 Feb 2021 11:39:33 -0800 Subject: [PATCH] fixes for ?$ operator - always track it, and assume subrecords are initialized --- src/script_opt/GenRDs.cc | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/script_opt/GenRDs.cc b/src/script_opt/GenRDs.cc index 1508332bce..f28ea48dbb 100644 --- a/src/script_opt/GenRDs.cc +++ b/src/script_opt/GenRDs.cc @@ -983,14 +983,11 @@ TraversalCode RD_Decorate::PreExpr(const Expr* e) } auto fn = hf->FieldName(); - auto field_rd = id_di->FindField(fn); - if ( ! field_rd ) - { - auto ft = id_rt->GetFieldType(fn); - field_rd = id_di->CreateField(fn, std::move(ft)); - CreateInitPostDef(field_rd, DefinitionPoint(hf), - false, 0); - } + auto ft = id_rt->GetFieldType(fn); + auto field_rd = id_di->CreateField(fn, std::move(ft)); + + CreateInitPostDef(field_rd, DefinitionPoint(hf), + true, 0); // Don't analyze r itself, since it's not expected // to be defined here.