From 97668eab26bbb28b2cd0ca62cf44ffcb73b933ab Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Wed, 9 Aug 2023 11:50:30 +0200 Subject: [PATCH] STYLE: update noexcept and default construct for signals - eliminate ClassName in favour of simple debug - include Apple-specific FPE handling after local definition to allow for more redefinitions COMP: remove stray includes --- .../test/fileNameOS/Test-fileNameOS.C | 1 - src/OSspecific/MSwindows/cpuInfo/cpuInfo.H | 4 ++-- src/OSspecific/MSwindows/cpuTime/cpuTime.H | 4 ++-- src/OSspecific/MSwindows/cpuTime/cpuTimeFwd.H | 4 ++-- .../MSwindows/fileMonitor/fileMonitor.C | 14 ++++++----- .../MSwindows/fileMonitor/fileMonitor.H | 16 ++++++------- src/OSspecific/MSwindows/signals/sigFpe.C | 2 +- src/OSspecific/MSwindows/signals/sigFpe.H | 17 +++++--------- src/OSspecific/MSwindows/signals/sigInt.H | 8 +++---- src/OSspecific/MSwindows/signals/sigQuit.H | 6 ++--- src/OSspecific/MSwindows/signals/sigSegv.H | 6 ++--- .../MSwindows/signals/sigStopAtWriteNow.C | 16 ------------- .../MSwindows/signals/sigStopAtWriteNow.H | 17 ++++++++------ .../MSwindows/signals/sigWriteNow.C | 18 +-------------- .../MSwindows/signals/sigWriteNow.H | 19 ++++++++------- src/OSspecific/MSwindows/signals/timer.C | 7 ++++-- src/OSspecific/MSwindows/signals/timer.H | 14 +++++------ src/OSspecific/POSIX/cpuInfo/cpuInfo.H | 5 ++-- src/OSspecific/POSIX/cpuTime/cpuTime.H | 4 ++-- src/OSspecific/POSIX/cpuTime/cpuTimeFwd.H | 4 ++-- src/OSspecific/POSIX/cpuTime/cpuTimePosix.H | 4 ++-- .../POSIX/fileMonitor/fileMonitor.C | 14 ++++++----- .../POSIX/fileMonitor/fileMonitor.H | 14 +++++------ .../POSIX/printStack/dummyPrintStack.C | 8 ++----- src/OSspecific/POSIX/signals/sigFpe.C | 9 ++++---- src/OSspecific/POSIX/signals/sigFpe.H | 17 +++++--------- src/OSspecific/POSIX/signals/sigInt.H | 10 ++++---- src/OSspecific/POSIX/signals/sigQuit.H | 6 ++--- src/OSspecific/POSIX/signals/sigSegv.H | 8 +++---- .../POSIX/signals/sigStopAtWriteNow.C | 16 ------------- .../POSIX/signals/sigStopAtWriteNow.H | 19 ++++++++------- src/OSspecific/POSIX/signals/sigWriteNow.C | 23 +++---------------- src/OSspecific/POSIX/signals/sigWriteNow.H | 19 ++++++++------- src/OSspecific/POSIX/signals/timer.C | 8 ++++--- src/OSspecific/POSIX/signals/timer.H | 12 +++++----- src/Pstream/mpi/UPstream.C | 4 ++-- 36 files changed, 156 insertions(+), 221 deletions(-) diff --git a/applications/test/fileNameOS/Test-fileNameOS.C b/applications/test/fileNameOS/Test-fileNameOS.C index b678cba8e4..cd75e6cc5d 100644 --- a/applications/test/fileNameOS/Test-fileNameOS.C +++ b/applications/test/fileNameOS/Test-fileNameOS.C @@ -38,7 +38,6 @@ Description #include "OSspecific.H" #include "Switch.H" -#include #include #include diff --git a/src/OSspecific/MSwindows/cpuInfo/cpuInfo.H b/src/OSspecific/MSwindows/cpuInfo/cpuInfo.H index 7da2ac5bc6..9a0073bd46 100644 --- a/src/OSspecific/MSwindows/cpuInfo/cpuInfo.H +++ b/src/OSspecific/MSwindows/cpuInfo/cpuInfo.H @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cpuInfo_H -#define cpuInfo_H +#ifndef Foam_cpuInfo_H +#define Foam_cpuInfo_H #include diff --git a/src/OSspecific/MSwindows/cpuTime/cpuTime.H b/src/OSspecific/MSwindows/cpuTime/cpuTime.H index 069ec326b5..a6f1409a44 100644 --- a/src/OSspecific/MSwindows/cpuTime/cpuTime.H +++ b/src/OSspecific/MSwindows/cpuTime/cpuTime.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef cpuTime_H -#define cpuTime_H +#ifndef Foam_cpuTime_H +#define Foam_cpuTime_H #include "cpuTimeCxx.H" #include "cpuTimeFwd.H" diff --git a/src/OSspecific/MSwindows/cpuTime/cpuTimeFwd.H b/src/OSspecific/MSwindows/cpuTime/cpuTimeFwd.H index 7bbbf43768..b3141e1415 100644 --- a/src/OSspecific/MSwindows/cpuTime/cpuTimeFwd.H +++ b/src/OSspecific/MSwindows/cpuTime/cpuTimeFwd.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef cpuTimeFwd_H -#define cpuTimeFwd_H +#ifndef Foam_cpuTimeFwd_H +#define Foam_cpuTimeFwd_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OSspecific/MSwindows/fileMonitor/fileMonitor.C b/src/OSspecific/MSwindows/fileMonitor/fileMonitor.C index 224adaf476..9d9a4865c7 100644 --- a/src/OSspecific/MSwindows/fileMonitor/fileMonitor.C +++ b/src/OSspecific/MSwindows/fileMonitor/fileMonitor.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,6 +27,9 @@ License \*---------------------------------------------------------------------------*/ #include "fileMonitor.H" +#include "error.H" +#include "Enum.H" +#include "defineDebugSwitch.H" #include "IOstreams.H" #include "Pstream.H" #include "PackedList.H" @@ -64,12 +67,12 @@ Foam::fileMonitor::fileStateNames_ namespace Foam { - defineTypeNameAndDebug(fileMonitor, 0); + defineDebugSwitchWithName(fileMonitor, "fileMonitor", 0); + registerDebugSwitchWithName(fileMonitor, fileMonitor, "fileMonitor"); //- Reduction operator for PackedList of fileState - class reduceFileStates + struct reduceFileStates { - public: unsigned int operator()(const unsigned int x, const unsigned int y) const { @@ -98,9 +101,8 @@ namespace Foam }; //- Combine operator for PackedList of fileState - class combineReduceFileStates + struct combineReduceFileStates { - public: void operator()(unsigned int& x, const unsigned int y) const { x = reduceFileStates()(x, y); diff --git a/src/OSspecific/MSwindows/fileMonitor/fileMonitor.H b/src/OSspecific/MSwindows/fileMonitor/fileMonitor.H index 3b62cd7fea..eaeef5c71b 100644 --- a/src/OSspecific/MSwindows/fileMonitor/fileMonitor.H +++ b/src/OSspecific/MSwindows/fileMonitor/fileMonitor.H @@ -42,11 +42,9 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef fileMonitor_H -#define fileMonitor_H +#ifndef Foam_fileMonitor_H +#define Foam_fileMonitor_H -#include "Enum.H" -#include "className.H" #include "DynamicList.H" #include #include @@ -59,6 +57,7 @@ namespace Foam // Forward Declarations class fileMonitor; class fileMonitorWatcher; +template class Enum; /*---------------------------------------------------------------------------*\ Class fileMonitor Declaration @@ -117,13 +116,14 @@ private: public: - // Declare name of the class and its debug switch - ClassName("fileMonitor"); + //- Named/registered debug switch: 'fileMonitor' + static int debug; + // Constructors - //- Construct null - fileMonitor(const bool useInotify); + //- Construct with specified inotify use + explicit fileMonitor(const bool useInotify); //- Destructor diff --git a/src/OSspecific/MSwindows/signals/sigFpe.C b/src/OSspecific/MSwindows/signals/sigFpe.C index 98550ac67f..221d823e3f 100644 --- a/src/OSspecific/MSwindows/signals/sigFpe.C +++ b/src/OSspecific/MSwindows/signals/sigFpe.C @@ -32,7 +32,7 @@ License #include "JobInfo.H" #include "OSspecific.H" #include "IOstreams.H" -#include "List.H" +#include "UList.H" #include "Switch.H" #include // For *fp functions diff --git a/src/OSspecific/MSwindows/signals/sigFpe.H b/src/OSspecific/MSwindows/signals/sigFpe.H index 3590bdd70b..0b4ab7168b 100644 --- a/src/OSspecific/MSwindows/signals/sigFpe.H +++ b/src/OSspecific/MSwindows/signals/sigFpe.H @@ -54,10 +54,11 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigFpe_H -#define sigFpe_H +#ifndef Foam_sigFpe_H +#define Foam_sigFpe_H -#include "scalar.H" +#include // for std::size_t +#include "scalarFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -118,16 +119,10 @@ public: static bool requested(); //- True if SIGFPE handling is currently active. - static inline bool active() - { - return sigActive_; - } + static bool active() noexcept { return sigActive_; } //- True if NaN memory initialisation is currently active. - static inline bool nanActive() - { - return nanActive_; - } + static bool nanActive() noexcept { return nanActive_; } //- Activate SIGFPE signal handler when FOAM_SIGFPE is %set // Fill memory with NaN when FOAM_SETNAN is %set diff --git a/src/OSspecific/MSwindows/signals/sigInt.H b/src/OSspecific/MSwindows/signals/sigInt.H index c5f99b91bb..a51e7fff73 100644 --- a/src/OSspecific/MSwindows/signals/sigInt.H +++ b/src/OSspecific/MSwindows/signals/sigInt.H @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigInt_H -#define sigInt_H +#ifndef Foam_sigInt_H +#define Foam_sigInt_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -59,7 +59,7 @@ namespace Foam class sigInt { - // Private data + // Private Data //- Signal trapping enabled? static bool sigActive_; @@ -74,7 +74,7 @@ public: // Constructors - //- Construct null + //- Default construct sigInt(); diff --git a/src/OSspecific/MSwindows/signals/sigQuit.H b/src/OSspecific/MSwindows/signals/sigQuit.H index a57005b203..7525647bfb 100644 --- a/src/OSspecific/MSwindows/signals/sigQuit.H +++ b/src/OSspecific/MSwindows/signals/sigQuit.H @@ -44,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigQuit_H -#define sigQuit_H +#ifndef Foam_sigQuit_H +#define Foam_sigQuit_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,7 +74,7 @@ public: // Constructors - //- Construct null + //- Default construct sigQuit(); diff --git a/src/OSspecific/MSwindows/signals/sigSegv.H b/src/OSspecific/MSwindows/signals/sigSegv.H index 4439337e3d..39a34f5da1 100644 --- a/src/OSspecific/MSwindows/signals/sigSegv.H +++ b/src/OSspecific/MSwindows/signals/sigSegv.H @@ -44,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigSegv_H -#define sigSegv_H +#ifndef Foam_sigSegv_H +#define Foam_sigSegv_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,7 +74,7 @@ public: // Constructors - //- Construct null + //- Default construct sigSegv(); diff --git a/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.C b/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.C index 25a7234923..bf93989ab9 100644 --- a/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.C +++ b/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.C @@ -109,10 +109,6 @@ void Foam::sigStopAtWriteNow::sigHandler(int) // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::sigStopAtWriteNow::sigStopAtWriteNow() -{} - - Foam::sigStopAtWriteNow::sigStopAtWriteNow(const Time& runTime, bool verbose) { runTimePtr_ = &runTime; // Store runTime @@ -135,18 +131,6 @@ Foam::sigStopAtWriteNow::~sigStopAtWriteNow() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::sigStopAtWriteNow::active() -{ - return signal_ > 0; -} - - -int Foam::sigStopAtWriteNow::signalNumber() -{ - return signal_; -} - - void Foam::sigStopAtWriteNow::set(bool verbose) { if (!active()) diff --git a/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.H b/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.H index eeccf5b5da..a7d9ba68e3 100644 --- a/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.H +++ b/src/OSspecific/MSwindows/signals/sigStopAtWriteNow.H @@ -34,10 +34,13 @@ Description SourceFiles sigStopAtWriteNow.C +See also + Foam::JobInfo + \*---------------------------------------------------------------------------*/ -#ifndef sigStopAtWriteNow_H -#define sigStopAtWriteNow_H +#ifndef Foam_sigStopAtWriteNow_H +#define Foam_sigStopAtWriteNow_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -73,11 +76,11 @@ public: // Constructors - //- Construct null + //- Default construct sigStopAtWriteNow(); - //- Construct from components - sigStopAtWriteNow(const Time& runTime, bool verbose=false); + //- Construct with Time reference + explicit sigStopAtWriteNow(const Time& runTime, bool verbose=false); //- Destructor @@ -87,10 +90,10 @@ public: // Member Functions //- Is active? - static bool active(); + static bool active() noexcept { return (signal_ > 0); } //- Signal number being used - static int signalNumber(); + static int signalNumber() noexcept { return signal_; } //- Set/reset signal handler static void set(bool verbose=false); diff --git a/src/OSspecific/MSwindows/signals/sigWriteNow.C b/src/OSspecific/MSwindows/signals/sigWriteNow.C index 3f8be4214b..389be095b7 100644 --- a/src/OSspecific/MSwindows/signals/sigWriteNow.C +++ b/src/OSspecific/MSwindows/signals/sigWriteNow.C @@ -101,13 +101,9 @@ void Foam::sigWriteNow::sigHandler(int) // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::sigWriteNow::sigWriteNow() -{} - - Foam::sigWriteNow::sigWriteNow(Time& runTime, bool verbose) { - runTimePtr_ = &runTime; // Store runTime + runTimePtr_ = &runTime; // Store Time reference set(verbose); } @@ -127,18 +123,6 @@ Foam::sigWriteNow::~sigWriteNow() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::sigWriteNow::active() -{ - return signal_ > 0; -} - - -int Foam::sigWriteNow::signalNumber() -{ - return signal_; -} - - void Foam::sigWriteNow::set(bool verbose) { if (!active()) diff --git a/src/OSspecific/MSwindows/signals/sigWriteNow.H b/src/OSspecific/MSwindows/signals/sigWriteNow.H index 2b650a5564..1bdf776654 100644 --- a/src/OSspecific/MSwindows/signals/sigWriteNow.H +++ b/src/OSspecific/MSwindows/signals/sigWriteNow.H @@ -36,8 +36,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigWriteNow_H -#define sigWriteNow_H +#ifndef Foam_sigWriteNow_H +#define Foam_sigWriteNow_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -73,11 +73,11 @@ public: // Constructors - //- Construct null - sigWriteNow(); + //- Default construct + sigWriteNow() noexcept = default; - //- Construct from components - sigWriteNow(Time& runTime, bool verbose=false); + //- Construct with Time reference + explicit sigWriteNow(Time& runTime, bool verbose=false); //- Destructor @@ -87,14 +87,13 @@ public: // Member Functions //- Is active? - static bool active(); + static bool active() noexcept { return (signal_ > 0); } - //- The signal number being used - static int signalNumber(); + //- Signal number being used + static int signalNumber() noexcept { return signal_; } //- Set/reset signal handler static void set(bool verbose=false); - }; diff --git a/src/OSspecific/MSwindows/signals/timer.C b/src/OSspecific/MSwindows/signals/timer.C index 5e78c8fbaf..2a93506c52 100644 --- a/src/OSspecific/MSwindows/signals/timer.C +++ b/src/OSspecific/MSwindows/signals/timer.C @@ -7,7 +7,7 @@ ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011 Symscape - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -29,6 +29,7 @@ License #include "timer.H" #include "error.H" +#include "defineDebugSwitch.H" #include "MSwindows.H" #undef DebugInfo // Windows name clash with OpenFOAM messageStream @@ -40,6 +41,7 @@ License // File-local functions #include "signalMacros.C" +#undef SIGALRM #define SIGALRM 14 @@ -47,7 +49,8 @@ License namespace Foam { - defineTypeNameAndDebug(timer, 0); + defineDebugSwitchWithName(timer, "timer", 0); + registerDebugSwitchWithName(timer, timer, "timer"); } jmp_buf Foam::timer::envAlarm; diff --git a/src/OSspecific/MSwindows/signals/timer.H b/src/OSspecific/MSwindows/signals/timer.H index 65c4a6ee6b..90ce3bee80 100644 --- a/src/OSspecific/MSwindows/signals/timer.H +++ b/src/OSspecific/MSwindows/signals/timer.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,16 +61,16 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef timer_H -#define timer_H +#ifndef Foam_timer_H +#define Foam_timer_H -#include "className.H" #include // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // //- Check if timeout has occurred // keep setjmp in same stack frame so no function calls +#undef timedOut #define timedOut(x) \ ((x).timeOut_ ? setjmp(Foam::timer::envAlarm) : false) @@ -99,8 +99,8 @@ public: // Public Data - //- Declare name of the class and its debug switch - ClassName("timer"); + //- Named/registered debug switch: 'timer' + static int debug; //- The time-out value (seconds). Needed by macro timedOut unsigned int timeOut_; @@ -112,7 +112,7 @@ public: // Constructors //- Construct with specified time-out, a value of 0 makes it a no-op. - timer(unsigned int seconds); + explicit timer(unsigned int seconds); //- Destructor. Restores the alarm and signal handler as required. diff --git a/src/OSspecific/POSIX/cpuInfo/cpuInfo.H b/src/OSspecific/POSIX/cpuInfo/cpuInfo.H index 37cac03d92..349f0859c0 100644 --- a/src/OSspecific/POSIX/cpuInfo/cpuInfo.H +++ b/src/OSspecific/POSIX/cpuInfo/cpuInfo.H @@ -40,8 +40,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cpuInfo_H -#define cpuInfo_H +#ifndef Foam_cpuInfo_H +#define Foam_cpuInfo_H #include @@ -90,6 +90,7 @@ public: //- Construct and populate with information cpuInfo(); + //- Destructor ~cpuInfo() = default; diff --git a/src/OSspecific/POSIX/cpuTime/cpuTime.H b/src/OSspecific/POSIX/cpuTime/cpuTime.H index 09d2c4b57c..a942d0e370 100644 --- a/src/OSspecific/POSIX/cpuTime/cpuTime.H +++ b/src/OSspecific/POSIX/cpuTime/cpuTime.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef cpuTime_H -#define cpuTime_H +#ifndef Foam_cpuTime_H +#define Foam_cpuTime_H #include "cpuTimePosix.H" #include "cpuTimeFwd.H" diff --git a/src/OSspecific/POSIX/cpuTime/cpuTimeFwd.H b/src/OSspecific/POSIX/cpuTime/cpuTimeFwd.H index a66d2f7dbe..e014614872 100644 --- a/src/OSspecific/POSIX/cpuTime/cpuTimeFwd.H +++ b/src/OSspecific/POSIX/cpuTime/cpuTimeFwd.H @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ -#ifndef cpuTimeFwd_H -#define cpuTimeFwd_H +#ifndef Foam_cpuTimeFwd_H +#define Foam_cpuTimeFwd_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H b/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H index 75b186815b..f657d232f1 100644 --- a/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H +++ b/src/OSspecific/POSIX/cpuTime/cpuTimePosix.H @@ -38,8 +38,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef cpuTimePosix_H -#define cpuTimePosix_H +#ifndef Foam_cpuTimePosix_H +#define Foam_cpuTimePosix_H #include #include diff --git a/src/OSspecific/POSIX/fileMonitor/fileMonitor.C b/src/OSspecific/POSIX/fileMonitor/fileMonitor.C index d3c687fb67..110876a903 100644 --- a/src/OSspecific/POSIX/fileMonitor/fileMonitor.C +++ b/src/OSspecific/POSIX/fileMonitor/fileMonitor.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018-2021 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -27,6 +27,9 @@ License \*---------------------------------------------------------------------------*/ #include "fileMonitor.H" +#include "error.H" +#include "Enum.H" +#include "defineDebugSwitch.H" #include "IOstreams.H" #include "Pstream.H" #include "PackedList.H" @@ -60,12 +63,12 @@ Foam::fileMonitor::fileStateNames_ namespace Foam { - defineTypeNameAndDebug(fileMonitor, 0); + defineDebugSwitchWithName(fileMonitor, "fileMonitor", 0); + registerDebugSwitchWithName(fileMonitor, fileMonitor, "fileMonitor"); //- Reduction operator for PackedList of fileState - class reduceFileStates + struct reduceFileStates { - public: unsigned int operator()(const unsigned int x, const unsigned int y) const { @@ -94,9 +97,8 @@ namespace Foam }; //- Combine operator for PackedList of fileState - class combineReduceFileStates + struct combineReduceFileStates { - public: void operator()(unsigned int& x, const unsigned int y) const { x = reduceFileStates()(x, y); diff --git a/src/OSspecific/POSIX/fileMonitor/fileMonitor.H b/src/OSspecific/POSIX/fileMonitor/fileMonitor.H index 6dbeed8ac5..186fe5d2a8 100644 --- a/src/OSspecific/POSIX/fileMonitor/fileMonitor.H +++ b/src/OSspecific/POSIX/fileMonitor/fileMonitor.H @@ -42,11 +42,9 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef fileMonitor_H -#define fileMonitor_H +#ifndef Foam_fileMonitor_H +#define Foam_fileMonitor_H -#include "Enum.H" -#include "className.H" #include "DynamicList.H" #include #include @@ -59,6 +57,7 @@ namespace Foam // Forward Declarations class fileMonitor; class fileMonitorWatcher; +template class Enum; /*---------------------------------------------------------------------------*\ Class fileMonitor Declaration @@ -117,12 +116,13 @@ private: public: - // Declare name of the class and its debug switch - ClassName("fileMonitor"); + //- Named/registered debug switch: 'fileMonitor' + static int debug; + // Constructors - //- Construct null + //- Construct with specified inotify use explicit fileMonitor(const bool useInotify); diff --git a/src/OSspecific/POSIX/printStack/dummyPrintStack.C b/src/OSspecific/POSIX/printStack/dummyPrintStack.C index 61bf8f63a6..bb4380e152 100644 --- a/src/OSspecific/POSIX/printStack/dummyPrintStack.C +++ b/src/OSspecific/POSIX/printStack/dummyPrintStack.C @@ -30,12 +30,8 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -void Foam::error::safePrintStack(std::ostream& os, int size) -{} - - -void Foam::error::printStack(Ostream& os, int size) -{} +void Foam::error::safePrintStack(std::ostream& os, int size) {} +void Foam::error::printStack(Ostream& os, int size) {} // ************************************************************************* // diff --git a/src/OSspecific/POSIX/signals/sigFpe.C b/src/OSspecific/POSIX/signals/sigFpe.C index c02588e19b..e39940fc83 100644 --- a/src/OSspecific/POSIX/signals/sigFpe.C +++ b/src/OSspecific/POSIX/signals/sigFpe.C @@ -31,9 +31,12 @@ License #include "JobInfo.H" #include "OSspecific.H" #include "IOstreams.H" -#include "List.H" +#include "UList.H" #include "Switch.H" +// File-local functions +#include "signalMacros.C" + #include #if defined(__linux__) && defined(__GNUC__) @@ -44,13 +47,11 @@ License #include #endif +// Special handling for APPLE #ifdef __APPLE__ #include "feexceptErsatz.H" #endif -// File-local functions -#include "signalMacros.C" - // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/OSspecific/POSIX/signals/sigFpe.H b/src/OSspecific/POSIX/signals/sigFpe.H index 44076c5167..877d63f6d8 100644 --- a/src/OSspecific/POSIX/signals/sigFpe.H +++ b/src/OSspecific/POSIX/signals/sigFpe.H @@ -54,10 +54,11 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigFpe_H -#define sigFpe_H +#ifndef Foam_sigFpe_H +#define Foam_sigFpe_H -#include "scalar.H" +#include // for std::size_t +#include "scalarFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -118,16 +119,10 @@ public: static bool requested(); //- True if SIGFPE handling is currently active. - static inline bool active() - { - return sigActive_; - } + static bool active() noexcept { return sigActive_; } //- True if NaN memory initialisation is currently active. - static inline bool nanActive() - { - return nanActive_; - } + static bool nanActive() noexcept { return nanActive_; } //- Activate SIGFPE signal handler when FOAM_SIGFPE is %set // Fill memory with NaN when FOAM_SETNAN is %set diff --git a/src/OSspecific/POSIX/signals/sigInt.H b/src/OSspecific/POSIX/signals/sigInt.H index c5f99b91bb..df9c39ee95 100644 --- a/src/OSspecific/POSIX/signals/sigInt.H +++ b/src/OSspecific/POSIX/signals/sigInt.H @@ -45,8 +45,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigInt_H -#define sigInt_H +#ifndef Foam_sigInt_H +#define Foam_sigInt_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -59,7 +59,7 @@ namespace Foam class sigInt { - // Private data + // Private Data //- Signal trapping enabled? static bool sigActive_; @@ -74,7 +74,7 @@ public: // Constructors - //- Construct null + //- Default construct sigInt(); @@ -82,7 +82,7 @@ public: ~sigInt(); - // Member functions + // Member Functions //- Activate SIGINT signal handler static void set(bool verbose=false); diff --git a/src/OSspecific/POSIX/signals/sigQuit.H b/src/OSspecific/POSIX/signals/sigQuit.H index a57005b203..7525647bfb 100644 --- a/src/OSspecific/POSIX/signals/sigQuit.H +++ b/src/OSspecific/POSIX/signals/sigQuit.H @@ -44,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigQuit_H -#define sigQuit_H +#ifndef Foam_sigQuit_H +#define Foam_sigQuit_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,7 +74,7 @@ public: // Constructors - //- Construct null + //- Default construct sigQuit(); diff --git a/src/OSspecific/POSIX/signals/sigSegv.H b/src/OSspecific/POSIX/signals/sigSegv.H index 4439337e3d..5c0f6d4833 100644 --- a/src/OSspecific/POSIX/signals/sigSegv.H +++ b/src/OSspecific/POSIX/signals/sigSegv.H @@ -44,8 +44,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigSegv_H -#define sigSegv_H +#ifndef Foam_sigSegv_H +#define Foam_sigSegv_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -74,7 +74,7 @@ public: // Constructors - //- Construct null + //- Default construct sigSegv(); @@ -82,7 +82,7 @@ public: ~sigSegv(); - // Member functions + // Member Functions //- Activate SIGSEGV signal handler static void set(bool verbose=false); diff --git a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C index f6644c3431..d2579f0dbd 100644 --- a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C +++ b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.C @@ -111,10 +111,6 @@ void Foam::sigStopAtWriteNow::sigHandler(int) // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::sigStopAtWriteNow::sigStopAtWriteNow() -{} - - Foam::sigStopAtWriteNow::sigStopAtWriteNow(const Time& runTime, bool verbose) { runTimePtr_ = &runTime; // Store runTime @@ -137,18 +133,6 @@ Foam::sigStopAtWriteNow::~sigStopAtWriteNow() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::sigStopAtWriteNow::active() -{ - return signal_ > 0; -} - - -int Foam::sigStopAtWriteNow::signalNumber() -{ - return signal_; -} - - void Foam::sigStopAtWriteNow::set(bool verbose) { if (!active()) diff --git a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.H b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.H index eeccf5b5da..200e96f8b2 100644 --- a/src/OSspecific/POSIX/signals/sigStopAtWriteNow.H +++ b/src/OSspecific/POSIX/signals/sigStopAtWriteNow.H @@ -34,10 +34,13 @@ Description SourceFiles sigStopAtWriteNow.C +See also + Foam::JobInfo + \*---------------------------------------------------------------------------*/ -#ifndef sigStopAtWriteNow_H -#define sigStopAtWriteNow_H +#ifndef Foam_sigStopAtWriteNow_H +#define Foam_sigStopAtWriteNow_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -73,11 +76,11 @@ public: // Constructors - //- Construct null - sigStopAtWriteNow(); + //- Default construct + sigStopAtWriteNow() noexcept = default; - //- Construct from components - sigStopAtWriteNow(const Time& runTime, bool verbose=false); + //- Construct with Time reference + explicit sigStopAtWriteNow(const Time& runTime, bool verbose=false); //- Destructor @@ -87,10 +90,10 @@ public: // Member Functions //- Is active? - static bool active(); + static bool active() noexcept { return (signal_ > 0); } //- Signal number being used - static int signalNumber(); + static int signalNumber() noexcept { return signal_; } //- Set/reset signal handler static void set(bool verbose=false); diff --git a/src/OSspecific/POSIX/signals/sigWriteNow.C b/src/OSspecific/POSIX/signals/sigWriteNow.C index aeb124b9c0..aac7f8844e 100644 --- a/src/OSspecific/POSIX/signals/sigWriteNow.C +++ b/src/OSspecific/POSIX/signals/sigWriteNow.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -28,9 +28,8 @@ License #include "sigWriteNow.H" #include "error.H" -#include "JobInfo.H" -#include "IOstreams.H" #include "Time.H" +#include "IOstreams.H" // File-local functions #include "signalMacros.C" @@ -103,13 +102,9 @@ void Foam::sigWriteNow::sigHandler(int) // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::sigWriteNow::sigWriteNow() -{} - - Foam::sigWriteNow::sigWriteNow(Time& runTime, bool verbose) { - runTimePtr_ = &runTime; // Store runTime + runTimePtr_ = &runTime; // Store Time reference set(verbose); } @@ -129,18 +124,6 @@ Foam::sigWriteNow::~sigWriteNow() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::sigWriteNow::active() -{ - return signal_ > 0; -} - - -int Foam::sigWriteNow::signalNumber() -{ - return signal_; -} - - void Foam::sigWriteNow::set(bool verbose) { if (!active()) diff --git a/src/OSspecific/POSIX/signals/sigWriteNow.H b/src/OSspecific/POSIX/signals/sigWriteNow.H index 2b650a5564..0d8372f410 100644 --- a/src/OSspecific/POSIX/signals/sigWriteNow.H +++ b/src/OSspecific/POSIX/signals/sigWriteNow.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -36,8 +36,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef sigWriteNow_H -#define sigWriteNow_H +#ifndef Foam_sigWriteNow_H +#define Foam_sigWriteNow_H // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -73,11 +73,11 @@ public: // Constructors - //- Construct null - sigWriteNow(); + //- Default construct + sigWriteNow() noexcept = default; - //- Construct from components - sigWriteNow(Time& runTime, bool verbose=false); + //- Construct with Time reference + explicit sigWriteNow(Time& runTime, bool verbose=false); //- Destructor @@ -87,14 +87,13 @@ public: // Member Functions //- Is active? - static bool active(); + static bool active() noexcept { return (signal_ > 0); } //- The signal number being used - static int signalNumber(); + static int signalNumber() noexcept { return signal_; } //- Set/reset signal handler static void set(bool verbose=false); - }; diff --git a/src/OSspecific/POSIX/signals/timer.C b/src/OSspecific/POSIX/signals/timer.C index 8fab94514d..24b92b8689 100644 --- a/src/OSspecific/POSIX/signals/timer.C +++ b/src/OSspecific/POSIX/signals/timer.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -26,8 +26,9 @@ License \*---------------------------------------------------------------------------*/ -#include "error.H" #include "timer.H" +#include "error.H" +#include "defineDebugSwitch.H" #include @@ -39,7 +40,8 @@ License namespace Foam { - defineTypeNameAndDebug(timer, 0); + defineDebugSwitchWithName(timer, "timer", 0); + registerDebugSwitchWithName(timer, timer, "timer"); } jmp_buf Foam::timer::envAlarm; diff --git a/src/OSspecific/POSIX/signals/timer.H b/src/OSspecific/POSIX/signals/timer.H index 8bb51cf1a8..90ce3bee80 100644 --- a/src/OSspecific/POSIX/signals/timer.H +++ b/src/OSspecific/POSIX/signals/timer.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -61,16 +61,16 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef timer_H -#define timer_H +#ifndef Foam_timer_H +#define Foam_timer_H -#include "className.H" #include // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // //- Check if timeout has occurred // keep setjmp in same stack frame so no function calls +#undef timedOut #define timedOut(x) \ ((x).timeOut_ ? setjmp(Foam::timer::envAlarm) : false) @@ -99,8 +99,8 @@ public: // Public Data - //- Declare name of the class and its debug switch - ClassName("timer"); + //- Named/registered debug switch: 'timer' + static int debug; //- The time-out value (seconds). Needed by macro timedOut unsigned int timeOut_; diff --git a/src/Pstream/mpi/UPstream.C b/src/Pstream/mpi/UPstream.C index a28903f259..2116461c1b 100644 --- a/src/Pstream/mpi/UPstream.C +++ b/src/Pstream/mpi/UPstream.C @@ -34,11 +34,11 @@ License #include "UPstreamWrapping.H" #include "collatedFileOperation.H" -#include #include -#include +#include #include #include +#include // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //