From 37d751ef965018d6358b3f9ee651a81f3e5ea069 Mon Sep 17 00:00:00 2001 From: sushma-4 Date: Fri, 31 Jul 2026 14:05:05 -0500 Subject: [PATCH] Work around GCC O3 SIGFPE --- src/coreComponents/common/FieldSpecificationOps.hpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/coreComponents/common/FieldSpecificationOps.hpp b/src/coreComponents/common/FieldSpecificationOps.hpp index a3b2b11b3af..f521342c242 100644 --- a/src/coreComponents/common/FieldSpecificationOps.hpp +++ b/src/coreComponents/common/FieldSpecificationOps.hpp @@ -572,19 +572,23 @@ struct FieldSpecificationEqual : public FieldSpecificationOp< OpEqual > { if( columns[ j ] == dof ) { + volatile real64 entry = entries[ j ]; + // check that the entry is large enough to enforce the boundary condition - if( entries[j] >= 0 && entries[j] < minDiagonal ) + if( entry >= 0 && entry < minDiagonal ) { entries[ j ] = minDiagonal; } - else if( entries[j] < 0 && entries[j] > -minDiagonal ) + else if( entry < 0 && entry > -minDiagonal ) { entries[ j ] = -minDiagonal; } - diagonal = entries[j]; + diagonal = entries[ j ]; } else - { entries[ j ] = 0; } + { + entries[ j ] = 0; + } } rhs = -diagonal * (bcValue - fieldValue);