From 9cb741ddfcc0077e4cc9935c4e0267b78c27b4ff Mon Sep 17 00:00:00 2001 From: "Martin D. Weinberg" Date: Mon, 25 Aug 2025 14:19:28 -0400 Subject: [PATCH 1/2] Two minor fixes necessary for successful compilation with g++15 --- expui/ParticleIterator.H | 1 + exputil/GaussCore.c | 10 +++------- include/cxxopts.H | 1 + 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/expui/ParticleIterator.H b/expui/ParticleIterator.H index 188e9ee1d..0130ec1c2 100644 --- a/expui/ParticleIterator.H +++ b/expui/ParticleIterator.H @@ -3,6 +3,7 @@ #include #include +#include namespace Utility { diff --git a/exputil/GaussCore.c b/exputil/GaussCore.c index 52acb210b..2cfa63019 100644 --- a/exputil/GaussCore.c +++ b/exputil/GaussCore.c @@ -56,15 +56,13 @@ static int n1; void GaussMaster(int n, double alpha, double beta, int conflag, double abscis[], double weight[]) { -#define FALSE 0 -#define TRUE 1 - typedef int bool; int k, m; int below; double t, min, max, Glob; double delta, Qp; double temp; bool ok; + #define junk1 &delta #define junk2 &Qp @@ -170,7 +168,7 @@ void GaussMaster(int n, double alpha, double beta, int conflag, -Desirable improvement: include machine roundoff in equality tests. */ - ok= FALSE; + ok= false; do { if (Qp==0) break; delta/= -Qp; @@ -182,7 +180,7 @@ void GaussMaster(int n, double alpha, double beta, int conflag, delta*= (1+t); } ok = (min <= temp) && (temp <= max); - } while (FALSE); + } while (false); if (ok) t=temp; /* use Newton iterate... */ else t= (min + max)/2; /* ...or bisect to recover */ @@ -197,8 +195,6 @@ void GaussMaster(int n, double alpha, double beta, int conflag, } #undef junk1 #undef junk2 -#undef TRUE -#undef FALSE } diff --git a/include/cxxopts.H b/include/cxxopts.H index 068e7ab6d..f22568196 100644 --- a/include/cxxopts.H +++ b/include/cxxopts.H @@ -27,6 +27,7 @@ THE SOFTWARE. #include #include +#include #include #include #include From 3989537940b4be389be127b36c9077360f3333f0 Mon Sep 17 00:00:00 2001 From: "Martin D. Weinberg" Date: Mon, 25 Aug 2025 14:49:31 -0400 Subject: [PATCH 2/2] Set explicit C-language standard for Clang --- CMakeLists.txt | 1 + exputil/GaussCore.c | 1 + 2 files changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5fe8eb30e..bd149f573 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,7 @@ project( LANGUAGES C CXX Fortran) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) +set(CMAKE_C_STANDARD 17) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/exputil/GaussCore.c b/exputil/GaussCore.c index 2cfa63019..cf809e381 100644 --- a/exputil/GaussCore.c +++ b/exputil/GaussCore.c @@ -17,6 +17,7 @@ #include /* for error messages */ #include +#include #include "GaussCore.h" #define GaussEPS 1.0e-12