From eeee5e6572bfdb23340d71c7124bb2c95891353a Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Sat, 27 Jul 2024 21:03:50 -0700 Subject: [PATCH] ParmParse: Fix assertion in new queryarr for IntVect & RealVect For query functions, we should not assert the size unless the name actually exists. This fixes a bug in the new functions added in #4050. --- Src/Base/AMReX_ParmParse.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Src/Base/AMReX_ParmParse.cpp b/Src/Base/AMReX_ParmParse.cpp index 669485f40d..7a1eae245d 100644 --- a/Src/Base/AMReX_ParmParse.cpp +++ b/Src/Base/AMReX_ParmParse.cpp @@ -1774,8 +1774,8 @@ ParmParse::queryarr (const char* name, IntVect& ref) const { std::vector v; int exist = this->queryarr(name, v); - AMREX_ALWAYS_ASSERT(v.size() == AMREX_SPACEDIM); if (exist) { + AMREX_ALWAYS_ASSERT(v.size() == AMREX_SPACEDIM); for (int i = 0; i < AMREX_SPACEDIM; ++i) { ref[i] = v[i]; } } return exist; @@ -1795,8 +1795,8 @@ ParmParse::queryarr (const char* name, RealVect& ref) const { std::vector v; int exist = this->queryarr(name, v); - AMREX_ALWAYS_ASSERT(v.size() == AMREX_SPACEDIM); if (exist) { + AMREX_ALWAYS_ASSERT(v.size() == AMREX_SPACEDIM); for (int i = 0; i < AMREX_SPACEDIM; ++i) { ref[i] = v[i]; } } return exist;