From 5d47a0ba7c62a1c5608a231797ef1f5e61fb7d8b Mon Sep 17 00:00:00 2001
From: Adriano dos Santos Fernandes
Date: Mon, 18 Sep 2023 20:27:13 -0300
Subject: [PATCH] Replace throw() by noexcept.
---
doc/Using_OO_API.html | 2 +-
examples/dbcrypt/CryptKeyHolder.cpp | 2 +-
examples/dbcrypt/DbCrypt.cpp | 2 +-
examples/extauth/TcWrapper.h | 2 +-
src/burp/BurpTasks.cpp | 4 +-
src/burp/BurpTasks.h | 6 +-
src/common/DynamicStrings.cpp | 2 +-
src/common/DynamicStrings.h | 2 +-
src/common/SimpleStatusVector.h | 2 +-
src/common/StatusArg.cpp | 80 +++++------
src/common/StatusArg.h | 180 ++++++++++++------------
src/common/StatusHolder.h | 4 +-
src/common/classes/FpeControl.h | 28 ++--
src/common/classes/NoThrowTimeStamp.cpp | 16 +--
src/common/classes/NoThrowTimeStamp.h | 20 +--
src/common/classes/SafeArg.h | 4 +-
src/common/classes/array.h | 24 ++--
src/common/classes/fb_string.cpp | 4 +-
src/common/classes/fb_string.h | 16 +--
src/common/classes/init.h | 6 +-
src/common/classes/objects_array.h | 4 +-
src/common/classes/stack.h | 2 +-
src/common/classes/vector.h | 30 ++--
src/common/fb_exception.cpp | 32 ++---
src/common/security.h | 6 +-
src/common/utils.cpp | 16 +--
src/common/utils_proto.h | 20 +--
src/dsql/DsqlBatch.cpp | 2 +-
src/dsql/DsqlBatch.h | 2 +-
src/dsql/DsqlCursor.cpp | 2 +-
src/dsql/DsqlCursor.h | 2 +-
src/gpre/gpre.h | 2 +-
src/include/fb_exception.h | 46 +++---
src/jrd/Attachment.cpp | 2 +-
src/jrd/Attachment.h | 8 +-
src/jrd/EngineInterface.h | 24 ++--
src/jrd/SysFunction.cpp | 4 +-
src/jrd/jrd.cpp | 8 +-
src/jrd/jrd_proto.h | 2 +-
src/jrd/svc.h | 2 +-
src/plugins/crypt/arc4/Arc4.cpp | 6 +-
src/remote/client/interface.cpp | 2 +-
src/remote/remote.cpp | 10 +-
src/remote/remote.h | 4 +-
src/yvalve/PluginManager.cpp | 6 +-
src/yvalve/utl.cpp | 4 +-
src/yvalve/utl_proto.h | 2 +-
src/yvalve/why.cpp | 2 +-
48 files changed, 329 insertions(+), 329 deletions(-)
diff --git a/doc/Using_OO_API.html b/doc/Using_OO_API.html
index a59b05ef5f..2c12cc68c8 100644
--- a/doc/Using_OO_API.html
+++ b/doc/Using_OO_API.html
@@ -1512,7 +1512,7 @@ MyPlugin : public ISomePluginImpl<MyPlugin, CheckStatusWrapper>
{
public:
explicit
-MyPlugin(IPluginConfig* cnf) throw()
+MyPlugin(IPluginConfig* cnf) noexcept
:
config(cnf), refCounter(0), owner(NULL)
{
diff --git a/examples/dbcrypt/CryptKeyHolder.cpp b/examples/dbcrypt/CryptKeyHolder.cpp
index 3177ee5c71..3e52963d6f 100644
--- a/examples/dbcrypt/CryptKeyHolder.cpp
+++ b/examples/dbcrypt/CryptKeyHolder.cpp
@@ -68,7 +68,7 @@ private:
class CryptKeyHolder : public IKeyHolderPluginImpl
{
public:
- explicit CryptKeyHolder(IPluginConfig* cnf) throw()
+ explicit CryptKeyHolder(IPluginConfig* cnf) noexcept
: callbackInterface(this), named(NULL), tempStatus(master->getStatus()),
config(cnf), key(0), owner(NULL)
{
diff --git a/examples/dbcrypt/DbCrypt.cpp b/examples/dbcrypt/DbCrypt.cpp
index 643bfd9fab..0180cdc2dd 100644
--- a/examples/dbcrypt/DbCrypt.cpp
+++ b/examples/dbcrypt/DbCrypt.cpp
@@ -68,7 +68,7 @@ private:
class DbCrypt : public IDbCryptPluginImpl
{
public:
- explicit DbCrypt(IPluginConfig* cnf) throw()
+ explicit DbCrypt(IPluginConfig* cnf) noexcept
: config(cnf), key(0), refCounter(0), owner(NULL)
{
config->addRef();
diff --git a/examples/extauth/TcWrapper.h b/examples/extauth/TcWrapper.h
index 14f9e1826e..1c488bf407 100644
--- a/examples/extauth/TcWrapper.h
+++ b/examples/extauth/TcWrapper.h
@@ -163,7 +163,7 @@ public:
return ptr != r.ptr;
}
- void clear() throw() // Used after detach/commit/close/etc., i.e. release() not needed
+ void clear() noexcept // Used after detach/commit/close/etc., i.e. release() not needed
{
ptr = NULL;
}
diff --git a/src/burp/BurpTasks.cpp b/src/burp/BurpTasks.cpp
index 8678647935..27774248c1 100644
--- a/src/burp/BurpTasks.cpp
+++ b/src/burp/BurpTasks.cpp
@@ -1106,7 +1106,7 @@ RestoreRelationTask::Item::EnsureUnlockBuffer::~EnsureUnlockBuffer()
/// class RestoreRelationTask::ExcReadDone
-void RestoreRelationTask::ExcReadDone::stuffByException(StaticStatusVector& status) const throw()
+void RestoreRelationTask::ExcReadDone::stuffByException(StaticStatusVector& status) const noexcept
{
ISC_STATUS sv[] = {isc_arg_gds, isc_random, isc_arg_string,
(ISC_STATUS)(IPTR) "Unexpected call to RestoreRelationTask::ExcReadDone::stuffException()", isc_arg_end};
@@ -1121,7 +1121,7 @@ void RestoreRelationTask::ExcReadDone::stuffByException(StaticStatusVector& stat
}
}
-const char* RestoreRelationTask::ExcReadDone::what() const throw()
+const char* RestoreRelationTask::ExcReadDone::what() const noexcept
{
return "RestoreRelationTask::ExcReadDone";
}
diff --git a/src/burp/BurpTasks.h b/src/burp/BurpTasks.h
index a4e2265e39..7579a4b5a9 100644
--- a/src/burp/BurpTasks.h
+++ b/src/burp/BurpTasks.h
@@ -400,9 +400,9 @@ public:
class ExcReadDone : public Firebird::Exception
{
public:
- ExcReadDone() throw() : Firebird::Exception() { }
- virtual void stuffByException(Firebird::StaticStatusVector& status_vector) const throw();
- virtual const char* what() const throw();
+ ExcReadDone() noexcept : Firebird::Exception() { }
+ virtual void stuffByException(Firebird::StaticStatusVector& status_vector) const noexcept;
+ virtual const char* what() const noexcept;
static void raise();
};
diff --git a/src/common/DynamicStrings.cpp b/src/common/DynamicStrings.cpp
index 852589f98b..72be2e07ae 100644
--- a/src/common/DynamicStrings.cpp
+++ b/src/common/DynamicStrings.cpp
@@ -113,7 +113,7 @@ unsigned makeDynamicStrings(unsigned length, ISC_STATUS* const dst, const ISC_ST
return (to - dst) - 1;
}
-char* findDynamicStrings(unsigned length, ISC_STATUS* ptr) throw()
+char* findDynamicStrings(unsigned length, ISC_STATUS* ptr) noexcept
{
while (length--)
{
diff --git a/src/common/DynamicStrings.h b/src/common/DynamicStrings.h
index 09a678dac2..2929582f22 100644
--- a/src/common/DynamicStrings.h
+++ b/src/common/DynamicStrings.h
@@ -35,7 +35,7 @@
namespace Firebird {
unsigned makeDynamicStrings(unsigned len, ISC_STATUS* const dst, const ISC_STATUS* const src);
-char* findDynamicStrings(unsigned len, ISC_STATUS* ptr) throw();
+char* findDynamicStrings(unsigned len, ISC_STATUS* ptr) noexcept;
} // namespace Firebird
diff --git a/src/common/SimpleStatusVector.h b/src/common/SimpleStatusVector.h
index c718b29c5a..7e96d1c3c7 100644
--- a/src/common/SimpleStatusVector.h
+++ b/src/common/SimpleStatusVector.h
@@ -80,7 +80,7 @@ public:
this->push(isc_arg_end);
}
- ISC_STATUS* makeEmergencyStatus() throw()
+ ISC_STATUS* makeEmergencyStatus() noexcept
{
// Should not throw - see assertions in constructors
return this->getBuffer(3);
diff --git a/src/common/StatusArg.cpp b/src/common/StatusArg.cpp
index ef06725095..d66758b172 100644
--- a/src/common/StatusArg.cpp
+++ b/src/common/StatusArg.cpp
@@ -57,7 +57,7 @@ Base::Base(ISC_STATUS k, ISC_STATUS c) :
{
}
-StatusVector::ImplStatusVector::ImplStatusVector(const ISC_STATUS* s) throw()
+StatusVector::ImplStatusVector::ImplStatusVector(const ISC_STATUS* s) noexcept
: Base::ImplBase(0, 0),
m_status_vector(*getDefaultMemoryPool()),
m_strings(*getDefaultMemoryPool())
@@ -71,7 +71,7 @@ StatusVector::ImplStatusVector::ImplStatusVector(const ISC_STATUS* s) throw()
append(s);
}
-StatusVector::ImplStatusVector::ImplStatusVector(const IStatus* s) throw()
+StatusVector::ImplStatusVector::ImplStatusVector(const IStatus* s) noexcept
: Base::ImplBase(0, 0),
m_status_vector(*getDefaultMemoryPool()),
m_strings(*getDefaultMemoryPool())
@@ -86,7 +86,7 @@ StatusVector::ImplStatusVector::ImplStatusVector(const IStatus* s) throw()
append(s->getWarnings());
}
-StatusVector::ImplStatusVector::ImplStatusVector(const Exception& ex) throw()
+StatusVector::ImplStatusVector::ImplStatusVector(const Exception& ex) noexcept
: Base::ImplBase(0, 0),
m_status_vector(*getDefaultMemoryPool()),
m_strings(*getDefaultMemoryPool())
@@ -122,7 +122,7 @@ StatusVector::StatusVector() :
{
}
-void StatusVector::ImplStatusVector::clear() throw()
+void StatusVector::ImplStatusVector::clear() noexcept
{
m_warning = 0;
m_status_vector.clear();
@@ -130,18 +130,18 @@ void StatusVector::ImplStatusVector::clear() throw()
m_strings.erase();
}
-bool StatusVector::ImplStatusVector::compare(const StatusVector& v) const throw()
+bool StatusVector::ImplStatusVector::compare(const StatusVector& v) const noexcept
{
return length() == v.length() && fb_utils::cmpStatus(length(), value(), v.value());
}
-void StatusVector::ImplStatusVector::assign(const StatusVector& v) throw()
+void StatusVector::ImplStatusVector::assign(const StatusVector& v) noexcept
{
clear();
append(v);
}
-void StatusVector::ImplStatusVector::assign(const Exception& ex) throw()
+void StatusVector::ImplStatusVector::assign(const Exception& ex) noexcept
{
clear();
ex.stuffException(m_status_vector);
@@ -194,7 +194,7 @@ void StatusVector::ImplStatusVector::setStrPointers(const char* oldBase)
}
}
-void StatusVector::ImplStatusVector::append(const StatusVector& v) throw()
+void StatusVector::ImplStatusVector::append(const StatusVector& v) noexcept
{
ImplStatusVector newVector(getKind(), getCode());
@@ -210,7 +210,7 @@ void StatusVector::ImplStatusVector::append(const StatusVector& v) throw()
*this = newVector;
}
-void StatusVector::ImplStatusVector::prepend(const StatusVector& v) throw()
+void StatusVector::ImplStatusVector::prepend(const StatusVector& v) noexcept
{
ImplStatusVector newVector(getKind(), getCode());
@@ -236,19 +236,19 @@ StatusVector::ImplStatusVector& StatusVector::ImplStatusVector::operator=(const
return *this;
}
-bool StatusVector::ImplStatusVector::appendErrors(const ImplBase* const v) throw()
+bool StatusVector::ImplStatusVector::appendErrors(const ImplBase* const v) noexcept
{
return append(v->value(), v->firstWarning() ? v->firstWarning() : v->length());
}
-bool StatusVector::ImplStatusVector::appendWarnings(const ImplBase* const v) throw()
+bool StatusVector::ImplStatusVector::appendWarnings(const ImplBase* const v) noexcept
{
if (! v->firstWarning())
return true;
return append(v->value() + v->firstWarning(), v->length() - v->firstWarning());
}
-bool StatusVector::ImplStatusVector::append(const ISC_STATUS* const from, const unsigned int count) throw()
+bool StatusVector::ImplStatusVector::append(const ISC_STATUS* const from, const unsigned int count) noexcept
{
// CVC: I didn't expect count to be zero but it's, in some calls
fb_assert(count >= 0);
@@ -279,13 +279,13 @@ bool StatusVector::ImplStatusVector::append(const ISC_STATUS* const from, const
return copied == count;
}
-void StatusVector::ImplStatusVector::append(const ISC_STATUS* const from) throw()
+void StatusVector::ImplStatusVector::append(const ISC_STATUS* const from) noexcept
{
unsigned l = fb_utils::statusLength(from);
append(from, l + 1);
}
-void StatusVector::ImplStatusVector::shiftLeft(const Base& arg) throw()
+void StatusVector::ImplStatusVector::shiftLeft(const Base& arg) noexcept
{
m_status_vector[length()] = arg.getKind();
m_status_vector.push(arg.getCode());
@@ -294,7 +294,7 @@ void StatusVector::ImplStatusVector::shiftLeft(const Base& arg) throw()
putStrArg(length() - 2);
}
-void StatusVector::ImplStatusVector::shiftLeft(const Warning& arg) throw()
+void StatusVector::ImplStatusVector::shiftLeft(const Warning& arg) noexcept
{
const int cur = m_warning ? 0 : length();
shiftLeft(*static_cast(&arg));
@@ -302,17 +302,17 @@ void StatusVector::ImplStatusVector::shiftLeft(const Warning& arg) throw()
m_warning = cur;
}
-void StatusVector::ImplStatusVector::shiftLeft(const char* text) throw()
+void StatusVector::ImplStatusVector::shiftLeft(const char* text) noexcept
{
shiftLeft(Str(text));
}
-void StatusVector::ImplStatusVector::shiftLeft(const AbstractString& text) throw()
+void StatusVector::ImplStatusVector::shiftLeft(const AbstractString& text) noexcept
{
shiftLeft(Str(text));
}
-void StatusVector::ImplStatusVector::shiftLeft(const MetaString& text) throw()
+void StatusVector::ImplStatusVector::shiftLeft(const MetaString& text) noexcept
{
shiftLeft(Str(text));
}
@@ -326,7 +326,7 @@ void StatusVector::raise() const
status_exception::raise(Gds(isc_random) << Str("Attempt to raise empty exception"));
}
-ISC_STATUS StatusVector::ImplStatusVector::copyTo(ISC_STATUS* dest) const throw()
+ISC_STATUS StatusVector::ImplStatusVector::copyTo(ISC_STATUS* dest) const noexcept
{
if (hasData())
{
@@ -341,7 +341,7 @@ ISC_STATUS StatusVector::ImplStatusVector::copyTo(ISC_STATUS* dest) const throw(
return dest[1];
}
-void StatusVector::ImplStatusVector::copyTo(IStatus* dest) const throw()
+void StatusVector::ImplStatusVector::copyTo(IStatus* dest) const noexcept
{
dest->init();
if (hasData())
@@ -361,7 +361,7 @@ void StatusVector::ImplStatusVector::copyTo(IStatus* dest) const throw()
}
}
-void StatusVector::ImplStatusVector::appendTo(IStatus* dest) const throw()
+void StatusVector::ImplStatusVector::appendTo(IStatus* dest) const noexcept
{
if (hasData())
{
@@ -387,75 +387,75 @@ void StatusVector::ImplStatusVector::appendTo(IStatus* dest) const throw()
}
}
-Gds::Gds(ISC_STATUS s) throw() :
+Gds::Gds(ISC_STATUS s) noexcept :
StatusVector(isc_arg_gds, s) { }
-PrivateDyn::PrivateDyn(ISC_STATUS codeWithoutFacility) throw() :
+PrivateDyn::PrivateDyn(ISC_STATUS codeWithoutFacility) noexcept :
Gds(ENCODE_ISC_MSG(codeWithoutFacility, DYN_MSG_FAC)) { }
-Num::Num(ISC_STATUS s) throw() :
+Num::Num(ISC_STATUS s) noexcept :
Base(isc_arg_number, s) { }
-Int64::Int64(SINT64 val) throw() :
+Int64::Int64(SINT64 val) noexcept :
Str(text)
{
sprintf(text, "%" SQUADFORMAT, val);
}
-Int64::Int64(FB_UINT64 val) throw() :
+Int64::Int64(FB_UINT64 val) noexcept :
Str(text)
{
sprintf(text, "%" UQUADFORMAT, val);
}
-Quad::Quad(const ISC_QUAD* quad) throw() :
+Quad::Quad(const ISC_QUAD* quad) noexcept :
Str(text)
{
sprintf(text, "%x:%x", quad->gds_quad_high, quad->gds_quad_low);
}
-Interpreted::Interpreted(const char* text) throw() :
+Interpreted::Interpreted(const char* text) noexcept :
StatusVector(isc_arg_interpreted, (ISC_STATUS)(IPTR) text) { }
-Interpreted::Interpreted(const AbstractString& text) throw() :
+Interpreted::Interpreted(const AbstractString& text) noexcept :
StatusVector(isc_arg_interpreted, (ISC_STATUS)(IPTR) text.c_str()) { }
-Unix::Unix(ISC_STATUS s) throw() :
+Unix::Unix(ISC_STATUS s) noexcept :
Base(isc_arg_unix, s) { }
-Mach::Mach(ISC_STATUS s) throw() :
+Mach::Mach(ISC_STATUS s) noexcept :
Base(isc_arg_next_mach, s) { }
-Windows::Windows(ISC_STATUS s) throw() :
+Windows::Windows(ISC_STATUS s) noexcept :
Base(isc_arg_win32, s) { }
-Warning::Warning(ISC_STATUS s) throw() :
+Warning::Warning(ISC_STATUS s) noexcept :
StatusVector(isc_arg_warning, s) { }
// Str overloading.
-Str::Str(const char* text) throw() :
+Str::Str(const char* text) noexcept :
Base(isc_arg_string, (ISC_STATUS)(IPTR) text) { }
-Str::Str(const AbstractString& text) throw() :
+Str::Str(const AbstractString& text) noexcept :
Base(isc_arg_string, (ISC_STATUS)(IPTR) text.c_str()) { }
-Str::Str(const MetaString& text) throw() :
+Str::Str(const MetaString& text) noexcept :
Base(isc_arg_string, (ISC_STATUS)(IPTR) text.c_str()) { }
-SqlState::SqlState(const char* text) throw() :
+SqlState::SqlState(const char* text) noexcept :
Base(isc_arg_sql_state, (ISC_STATUS)(IPTR) text) { }
-SqlState::SqlState(const AbstractString& text) throw() :
+SqlState::SqlState(const AbstractString& text) noexcept :
Base(isc_arg_sql_state, (ISC_STATUS)(IPTR) text.c_str()) { }
-OsError::OsError() throw() :
+OsError::OsError() noexcept :
#ifdef WIN_NT
Base(isc_arg_win32, GetLastError()) { }
#else
Base(isc_arg_unix, errno) { }
#endif
-OsError::OsError(ISC_STATUS s) throw() :
+OsError::OsError(ISC_STATUS s) noexcept :
#ifdef WIN_NT
Base(isc_arg_win32, s) { }
#else
diff --git a/src/common/StatusArg.h b/src/common/StatusArg.h
index 9b5db07414..25a38d4504 100644
--- a/src/common/StatusArg.h
+++ b/src/common/StatusArg.h
@@ -60,43 +60,43 @@ protected:
ISC_STATUS kind, code;
public:
- ISC_STATUS getKind() const throw() { return kind; }
- ISC_STATUS getCode() const throw() { return code; }
+ ISC_STATUS getKind() const noexcept { return kind; }
+ ISC_STATUS getCode() const noexcept { return code; }
- virtual const ISC_STATUS* value() const throw() { return NULL; }
- virtual unsigned int length() const throw() { return 0; }
- virtual unsigned int firstWarning() const throw() { return 0; }
- virtual bool hasData() const throw() { return false; }
- virtual void clear() throw() { }
- virtual void append(const StatusVector&) throw() { }
- virtual void prepend(const StatusVector&) throw() { }
- virtual void assign(const StatusVector& ex) throw() { }
- virtual void assign(const Exception& ex) throw() { }
- virtual ISC_STATUS copyTo(ISC_STATUS*) const throw() { return 0; }
- virtual void copyTo(IStatus*) const throw() { }
- virtual void appendTo(IStatus*) const throw() { }
+ virtual const ISC_STATUS* value() const noexcept { return NULL; }
+ virtual unsigned int length() const noexcept { return 0; }
+ virtual unsigned int firstWarning() const noexcept { return 0; }
+ virtual bool hasData() const noexcept { return false; }
+ virtual void clear() noexcept { }
+ virtual void append(const StatusVector&) noexcept { }
+ virtual void prepend(const StatusVector&) noexcept { }
+ virtual void assign(const StatusVector& ex) noexcept { }
+ virtual void assign(const Exception& ex) noexcept { }
+ virtual ISC_STATUS copyTo(ISC_STATUS*) const noexcept { return 0; }
+ virtual void copyTo(IStatus*) const noexcept { }
+ virtual void appendTo(IStatus*) const noexcept { }
- virtual void shiftLeft(const Base&) throw() { }
- virtual void shiftLeft(const Warning&) throw() { }
- virtual void shiftLeft(const char*) throw() { }
- virtual void shiftLeft(const AbstractString&) throw() { }
- virtual void shiftLeft(const MetaString&) throw() { }
+ virtual void shiftLeft(const Base&) noexcept { }
+ virtual void shiftLeft(const Warning&) noexcept { }
+ virtual void shiftLeft(const char*) noexcept { }
+ virtual void shiftLeft(const AbstractString&) noexcept { }
+ virtual void shiftLeft(const MetaString&) noexcept { }
- virtual bool compare(const StatusVector& /*v*/) const throw() { return false; }
+ virtual bool compare(const StatusVector& /*v*/) const noexcept { return false; }
- ImplBase(ISC_STATUS k, ISC_STATUS c) throw() : kind(k), code(c) { }
+ ImplBase(ISC_STATUS k, ISC_STATUS c) noexcept : kind(k), code(c) { }
virtual ~ImplBase() { }
};
Base(ISC_STATUS k, ISC_STATUS c);
- explicit Base(ImplBase* i) throw() : implementation(i) { }
- ~Base() throw() { delete implementation; }
+ explicit Base(ImplBase* i) noexcept : implementation(i) { }
+ ~Base() noexcept { delete implementation; }
ImplBase* const implementation;
public:
- ISC_STATUS getKind() const throw() { return implementation->getKind(); }
- ISC_STATUS getCode() const throw() { return implementation->getCode(); }
+ ISC_STATUS getKind() const noexcept { return implementation->getKind(); }
+ ISC_STATUS getCode() const noexcept { return implementation->getCode(); }
};
class StatusVector : public Base
@@ -113,34 +113,34 @@ protected:
void putStrArg(unsigned startWith);
void setStrPointers(const char* oldBase);
- bool appendErrors(const ImplBase* const v) throw();
- bool appendWarnings(const ImplBase* const v) throw();
- bool append(const ISC_STATUS* const from, const unsigned int count) throw();
- void append(const ISC_STATUS* const from) throw();
+ bool appendErrors(const ImplBase* const v) noexcept;
+ bool appendWarnings(const ImplBase* const v) noexcept;
+ bool append(const ISC_STATUS* const from, const unsigned int count) noexcept;
+ void append(const ISC_STATUS* const from) noexcept;
ImplStatusVector& operator=(const ImplStatusVector& src);
public:
- virtual const ISC_STATUS* value() const throw() { return m_status_vector.begin(); }
- virtual unsigned int length() const throw() { return m_status_vector.getCount() - 1u; }
- virtual unsigned int firstWarning() const throw() { return m_warning; }
- virtual bool hasData() const throw() { return length() > 0u; }
- virtual void clear() throw();
- virtual void append(const StatusVector& v) throw();
- virtual void prepend(const StatusVector& v) throw();
- virtual void assign(const StatusVector& v) throw();
- virtual void assign(const Exception& ex) throw();
- virtual ISC_STATUS copyTo(ISC_STATUS* dest) const throw();
- virtual void copyTo(IStatus* dest) const throw();
- virtual void appendTo(IStatus* dest) const throw();
- virtual void shiftLeft(const Base& arg) throw();
- virtual void shiftLeft(const Warning& arg) throw();
- virtual void shiftLeft(const char* text) throw();
- virtual void shiftLeft(const AbstractString& text) throw();
- virtual void shiftLeft(const MetaString& text) throw();
- virtual bool compare(const StatusVector& v) const throw();
+ virtual const ISC_STATUS* value() const noexcept { return m_status_vector.begin(); }
+ virtual unsigned int length() const noexcept { return m_status_vector.getCount() - 1u; }
+ virtual unsigned int firstWarning() const noexcept { return m_warning; }
+ virtual bool hasData() const noexcept { return length() > 0u; }
+ virtual void clear() noexcept;
+ virtual void append(const StatusVector& v) noexcept;
+ virtual void prepend(const StatusVector& v) noexcept;
+ virtual void assign(const StatusVector& v) noexcept;
+ virtual void assign(const Exception& ex) noexcept;
+ virtual ISC_STATUS copyTo(ISC_STATUS* dest) const noexcept;
+ virtual void copyTo(IStatus* dest) const noexcept;
+ virtual void appendTo(IStatus* dest) const noexcept;
+ virtual void shiftLeft(const Base& arg) noexcept;
+ virtual void shiftLeft(const Warning& arg) noexcept;
+ virtual void shiftLeft(const char* text) noexcept;
+ virtual void shiftLeft(const AbstractString& text) noexcept;
+ virtual void shiftLeft(const MetaString& text) noexcept;
+ virtual bool compare(const StatusVector& v) const noexcept;
- ImplStatusVector(ISC_STATUS k, ISC_STATUS c) throw()
+ ImplStatusVector(ISC_STATUS k, ISC_STATUS c) noexcept
: ImplBase(k, c),
m_status_vector(*getDefaultMemoryPool()),
m_strings(*getDefaultMemoryPool())
@@ -148,9 +148,9 @@ protected:
clear();
}
- explicit ImplStatusVector(const ISC_STATUS* s) throw();
- explicit ImplStatusVector(const IStatus* s) throw();
- explicit ImplStatusVector(const Exception& ex) throw();
+ explicit ImplStatusVector(const ISC_STATUS* s) noexcept;
+ explicit ImplStatusVector(const IStatus* s) noexcept;
+ explicit ImplStatusVector(const Exception& ex) noexcept;
};
StatusVector(ISC_STATUS k, ISC_STATUS v);
@@ -162,67 +162,67 @@ public:
StatusVector();
~StatusVector() { }
- const ISC_STATUS* value() const throw() { return implementation->value(); }
- unsigned int length() const throw() { return implementation->length(); }
- bool hasData() const throw() { return implementation->hasData(); }
- bool isEmpty() const throw() { return !implementation->hasData(); }
+ const ISC_STATUS* value() const noexcept { return implementation->value(); }
+ unsigned int length() const noexcept { return implementation->length(); }
+ bool hasData() const noexcept { return implementation->hasData(); }
+ bool isEmpty() const noexcept { return !implementation->hasData(); }
- void clear() throw() { implementation->clear(); }
- void append(const StatusVector& v) throw() { implementation->append(v); }
- void prepend(const StatusVector& v) throw() { implementation->prepend(v); }
- void assign(const StatusVector& v) throw() { implementation->assign(v); }
- void assign(const Exception& ex) throw() { implementation->assign(ex); }
+ void clear() noexcept { implementation->clear(); }
+ void append(const StatusVector& v) noexcept { implementation->append(v); }
+ void prepend(const StatusVector& v) noexcept { implementation->prepend(v); }
+ void assign(const StatusVector& v) noexcept { implementation->assign(v); }
+ void assign(const Exception& ex) noexcept { implementation->assign(ex); }
[[noreturn]] void raise() const;
- ISC_STATUS copyTo(ISC_STATUS* dest) const throw() { return implementation->copyTo(dest); }
- void copyTo(IStatus* dest) const throw() { implementation->copyTo(dest); }
- void appendTo(IStatus* dest) const throw() { implementation->appendTo(dest); }
+ ISC_STATUS copyTo(ISC_STATUS* dest) const noexcept { return implementation->copyTo(dest); }
+ void copyTo(IStatus* dest) const noexcept { implementation->copyTo(dest); }
+ void appendTo(IStatus* dest) const noexcept { implementation->appendTo(dest); }
// generic argument insert
- StatusVector& operator<<(const Base& arg) throw()
+ StatusVector& operator<<(const Base& arg) noexcept
{
implementation->shiftLeft(arg);
return *this;
}
// StatusVector case - append multiple args
- StatusVector& operator<<(const StatusVector& arg) throw()
+ StatusVector& operator<<(const StatusVector& arg) noexcept
{
implementation->append(arg);
return *this;
}
// warning special case - to setup first warning location
- StatusVector& operator<<(const Warning& arg) throw()
+ StatusVector& operator<<(const Warning& arg) noexcept
{
implementation->shiftLeft(arg);
return *this;
}
// Str special case - make the code simpler & better readable
- StatusVector& operator<<(const char* text) throw()
+ StatusVector& operator<<(const char* text) noexcept
{
implementation->shiftLeft(text);
return *this;
}
- StatusVector& operator<<(const AbstractString& text) throw()
+ StatusVector& operator<<(const AbstractString& text) noexcept
{
implementation->shiftLeft(text);
return *this;
}
- StatusVector& operator<<(const MetaString& text) throw()
+ StatusVector& operator<<(const MetaString& text) noexcept
{
implementation->shiftLeft(text);
return *this;
}
- bool operator==(const StatusVector& arg) const throw()
+ bool operator==(const StatusVector& arg) const noexcept
{
return implementation->compare(arg);
}
- bool operator!=(const StatusVector& arg) const throw()
+ bool operator!=(const StatusVector& arg) const noexcept
{
return !(*this == arg);
}
@@ -232,7 +232,7 @@ public:
class Gds : public StatusVector
{
public:
- explicit Gds(ISC_STATUS s) throw();
+ explicit Gds(ISC_STATUS s) noexcept;
};
// To simplify calls to DYN messages from DSQL, only for private DYN messages
@@ -240,21 +240,21 @@ public:
class PrivateDyn : public Gds
{
public:
- explicit PrivateDyn(ISC_STATUS codeWithoutFacility) throw();
+ explicit PrivateDyn(ISC_STATUS codeWithoutFacility) noexcept;
};
class Str : public Base
{
public:
- explicit Str(const char* text) throw();
- explicit Str(const AbstractString& text) throw();
- explicit Str(const MetaString& text) throw();
+ explicit Str(const char* text) noexcept;
+ explicit Str(const AbstractString& text) noexcept;
+ explicit Str(const MetaString& text) noexcept;
};
class Num : public Base
{
public:
- explicit Num(ISC_STATUS s) throw();
+ explicit Num(ISC_STATUS s) noexcept;
};
// On 32-bit architecture ISC_STATUS can't fit 64-bit integer therefore
@@ -264,8 +264,8 @@ public:
class Int64 : public Str
{
public:
- explicit Int64(SINT64 val) throw();
- explicit Int64(FB_UINT64 val) throw();
+ explicit Int64(SINT64 val) noexcept;
+ explicit Int64(FB_UINT64 val) noexcept;
private:
char text[24];
};
@@ -273,7 +273,7 @@ private:
class Quad : public Str
{
public:
- explicit Quad(const ISC_QUAD* quad) throw();
+ explicit Quad(const ISC_QUAD* quad) noexcept;
private:
// high : low \0
char text[8 + 1 + 8 + 1];
@@ -282,46 +282,46 @@ private:
class Interpreted : public StatusVector
{
public:
- explicit Interpreted(const char* text) throw();
- explicit Interpreted(const AbstractString& text) throw();
+ explicit Interpreted(const char* text) noexcept;
+ explicit Interpreted(const AbstractString& text) noexcept;
};
class Unix : public Base
{
public:
- explicit Unix(ISC_STATUS s) throw();
+ explicit Unix(ISC_STATUS s) noexcept;
};
class Mach : public Base
{
public:
- explicit Mach(ISC_STATUS s) throw();
+ explicit Mach(ISC_STATUS s) noexcept;
};
class Windows : public Base
{
public:
- explicit Windows(ISC_STATUS s) throw();
+ explicit Windows(ISC_STATUS s) noexcept;
};
class Warning : public StatusVector
{
public:
- explicit Warning(ISC_STATUS s) throw();
+ explicit Warning(ISC_STATUS s) noexcept;
};
class SqlState : public Base
{
public:
- explicit SqlState(const char* text) throw();
- explicit SqlState(const AbstractString& text) throw();
+ explicit SqlState(const char* text) noexcept;
+ explicit SqlState(const AbstractString& text) noexcept;
};
class OsError : public Base
{
public:
- OsError() throw();
- explicit OsError(ISC_STATUS s) throw();
+ OsError() noexcept;
+ explicit OsError(ISC_STATUS s) noexcept;
};
} // namespace Arg
diff --git a/src/common/StatusHolder.h b/src/common/StatusHolder.h
index 739ec40792..19c722fe37 100644
--- a/src/common/StatusHolder.h
+++ b/src/common/StatusHolder.h
@@ -72,7 +72,7 @@ public:
fb_utils::init_status(this->getBuffer(3));
}
- void save(unsigned int length, const ISC_STATUS* status, bool warningMode) throw()
+ void save(unsigned int length, const ISC_STATUS* status, bool warningMode) noexcept
{
try
{
@@ -113,7 +113,7 @@ public:
}
}
- ISC_STATUS save(const ISC_STATUS* status, bool warningMode = false) throw()
+ ISC_STATUS save(const ISC_STATUS* status, bool warningMode = false) noexcept
{
save(fb_utils::statusLength(status), status, warningMode);
return status[1];
diff --git a/src/common/classes/FpeControl.h b/src/common/classes/FpeControl.h
index 5e03522e00..bffe875907 100644
--- a/src/common/classes/FpeControl.h
+++ b/src/common/classes/FpeControl.h
@@ -60,7 +60,7 @@ public:
// the ContextPoolHolder for memory allocation.
// on modern systems, the default is to mask exceptions
- FpeControl() throw()
+ FpeControl() noexcept
{
getCurrentMask(savedMask);
if (!areExceptionsMasked(savedMask))
@@ -69,7 +69,7 @@ public:
}
}
- ~FpeControl() throw()
+ ~FpeControl() noexcept
{
// change it back if necessary
if (!areExceptionsMasked(savedMask))
@@ -79,7 +79,7 @@ public:
}
#if defined(WIN_NT)
- static void maskAll() throw()
+ static void maskAll() noexcept
{
_clearfp(); // always call _clearfp() before setting control word
@@ -95,12 +95,12 @@ private:
typedef unsigned int Mask;
Mask savedMask;
- static bool areExceptionsMasked(const Mask& m) throw()
+ static bool areExceptionsMasked(const Mask& m) noexcept
{
return m == _CW_DEFAULT;
}
- static void getCurrentMask(Mask& m) throw()
+ static void getCurrentMask(Mask& m) noexcept
{
#ifdef AMD64
m = _controlfp(0, 0);
@@ -109,7 +109,7 @@ private:
#endif
}
- void restoreMask() throw()
+ void restoreMask() noexcept
{
_clearfp(); // always call _clearfp() before setting control word
@@ -122,7 +122,7 @@ private:
}
#elif defined(HAVE_FEGETENV)
- static void maskAll() throw()
+ static void maskAll() noexcept
{
fesetenv(FE_DFL_ENV);
}
@@ -146,18 +146,18 @@ private:
fenv_t savedMask;
- static bool areExceptionsMasked(const fenv_t& m) throw()
+ static bool areExceptionsMasked(const fenv_t& m) noexcept
{
const static DefaultEnvironment defaultEnvironment;
return memcmp(&defaultEnvironment.clean, &m, sizeof(fenv_t)) == 0;
}
- static void getCurrentMask(fenv_t& m) throw()
+ static void getCurrentMask(fenv_t& m) noexcept
{
fegetenv(&m);
}
- void restoreMask() throw()
+ void restoreMask() noexcept
{
fesetenv(&savedMask);
}
@@ -165,7 +165,7 @@ private:
// ok to remove this when Solaris 9 is no longer supported
// Solaris without fegetenv() implies Solaris 9 or older. In this case we
// have to use the Solaris FPE routines.
- static void maskAll() throw()
+ static void maskAll() noexcept
{
fpsetmask(~(FP_X_OFL | FP_X_INV | FP_X_UFL | FP_X_DZ | FP_X_IMP));
}
@@ -190,18 +190,18 @@ private:
fp_except savedMask;
- static bool areExceptionsMasked(const fp_except& m) throw()
+ static bool areExceptionsMasked(const fp_except& m) noexcept
{
const static DefaultEnvironment defaultEnvironment;
return memcmp(&defaultEnvironment.clean, &m, sizeof(fp_except)) == 0;
}
- static void getCurrentMask(fp_except& m) throw()
+ static void getCurrentMask(fp_except& m) noexcept
{
m = fpgetmask();
}
- void restoreMask() throw()
+ void restoreMask() noexcept
{
fpsetsticky(0); // clear exception sticky flags
fpsetmask(savedMask);
diff --git a/src/common/classes/NoThrowTimeStamp.cpp b/src/common/classes/NoThrowTimeStamp.cpp
index f7cb9ff4eb..8542e0ee69 100644
--- a/src/common/classes/NoThrowTimeStamp.cpp
+++ b/src/common/classes/NoThrowTimeStamp.cpp
@@ -49,7 +49,7 @@ const ISC_TIMESTAMP NoThrowTimeStamp::MAX_TIMESTAMP =
const ISC_TIME NoThrowTimeStamp::POW_10_TABLE[] =
{1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000};
-NoThrowTimeStamp NoThrowTimeStamp::getCurrentTimeStamp(const char** error) throw()
+NoThrowTimeStamp NoThrowTimeStamp::getCurrentTimeStamp(const char** error) noexcept
{
if (error)
*error = NULL;
@@ -148,7 +148,7 @@ NoThrowTimeStamp NoThrowTimeStamp::getCurrentTimeStamp(const char** error) throw
return result;
}
-int NoThrowTimeStamp::yday(const struct tm* times) throw()
+int NoThrowTimeStamp::yday(const struct tm* times) noexcept
{
// Convert a calendar date to the day-of-year.
//
@@ -175,7 +175,7 @@ int NoThrowTimeStamp::yday(const struct tm* times) throw()
}
-void NoThrowTimeStamp::decode_date(ISC_DATE nday, struct tm* times) throw()
+void NoThrowTimeStamp::decode_date(ISC_DATE nday, struct tm* times) noexcept
{
// Convert a numeric day to [day, month, year].
//
@@ -232,7 +232,7 @@ void NoThrowTimeStamp::decode_date(ISC_DATE nday, struct tm* times) throw()
}
-ISC_DATE NoThrowTimeStamp::encode_date(const struct tm* times) throw()
+ISC_DATE NoThrowTimeStamp::encode_date(const struct tm* times) noexcept
{
// Convert a calendar date to a numeric day
// (the number of days since the base date)
@@ -257,7 +257,7 @@ ISC_DATE NoThrowTimeStamp::encode_date(const struct tm* times) throw()
(153 * month + 2) / 5 + day + 1721119 - 2400001);
}
-void NoThrowTimeStamp::decode_time(ISC_TIME ntime, int* hours, int* minutes, int* seconds, int* fractions) throw()
+void NoThrowTimeStamp::decode_time(ISC_TIME ntime, int* hours, int* minutes, int* seconds, int* fractions) noexcept
{
fb_assert(hours);
fb_assert(minutes);
@@ -275,20 +275,20 @@ void NoThrowTimeStamp::decode_time(ISC_TIME ntime, int* hours, int* minutes, int
}
}
-ISC_TIME NoThrowTimeStamp::encode_time(int hours, int minutes, int seconds, int fractions) throw()
+ISC_TIME NoThrowTimeStamp::encode_time(int hours, int minutes, int seconds, int fractions) noexcept
{
fb_assert(fractions >= 0 && fractions < ISC_TIME_SECONDS_PRECISION);
return ((hours * 60 + minutes) * 60 + seconds) * ISC_TIME_SECONDS_PRECISION + fractions;
}
-void NoThrowTimeStamp::decode_timestamp(const ISC_TIMESTAMP ts, struct tm* times, int* fractions) throw()
+void NoThrowTimeStamp::decode_timestamp(const ISC_TIMESTAMP ts, struct tm* times, int* fractions) noexcept
{
decode_date(ts.timestamp_date, times);
decode_time(ts.timestamp_time, ×->tm_hour, ×->tm_min, ×->tm_sec, fractions);
}
-ISC_TIMESTAMP NoThrowTimeStamp::encode_timestamp(const struct tm* times, const int fractions) throw()
+ISC_TIMESTAMP NoThrowTimeStamp::encode_timestamp(const struct tm* times, const int fractions) noexcept
{
fb_assert(fractions >= 0 && fractions < ISC_TIME_SECONDS_PRECISION);
diff --git a/src/common/classes/NoThrowTimeStamp.h b/src/common/classes/NoThrowTimeStamp.h
index ee776ea30f..3ea51f6e30 100644
--- a/src/common/classes/NoThrowTimeStamp.h
+++ b/src/common/classes/NoThrowTimeStamp.h
@@ -117,7 +117,7 @@ public:
}
// Assign current date/time to the timestamp
- void validate() throw()
+ void validate() noexcept
{
if (isEmpty())
{
@@ -138,7 +138,7 @@ public:
const ISC_TIMESTAMP& value() const { return mValue; }
// Return current timestamp value
- static NoThrowTimeStamp getCurrentTimeStamp(const char** error) throw();
+ static NoThrowTimeStamp getCurrentTimeStamp(const char** error) noexcept;
// Validation routines
static bool isValidDate(const ISC_DATE ndate)
@@ -157,18 +157,18 @@ public:
}
// ISC date/time helper routines
- static ISC_DATE encode_date(const struct tm* times) throw();
- static ISC_TIME encode_time(int hours, int minutes, int seconds, int fractions = 0) throw();
- static ISC_TIMESTAMP encode_timestamp(const struct tm* times, const int fractions = 0) throw();
+ static ISC_DATE encode_date(const struct tm* times) noexcept;
+ static ISC_TIME encode_time(int hours, int minutes, int seconds, int fractions = 0) noexcept;
+ static ISC_TIMESTAMP encode_timestamp(const struct tm* times, const int fractions = 0) noexcept;
- static void decode_date(ISC_DATE nday, struct tm* times) throw();
- static void decode_time(ISC_TIME ntime, int* hours, int* minutes, int* seconds, int* fractions = NULL) throw();
- static void decode_timestamp(const ISC_TIMESTAMP ntimestamp, struct tm* times, int* fractions = NULL) throw();
+ static void decode_date(ISC_DATE nday, struct tm* times) noexcept;
+ static void decode_time(ISC_TIME ntime, int* hours, int* minutes, int* seconds, int* fractions = NULL) noexcept;
+ static void decode_timestamp(const ISC_TIMESTAMP ntimestamp, struct tm* times, int* fractions = NULL) noexcept;
static void add10msec(ISC_TIMESTAMP* v, SINT64 msec, SINT64 multiplier);
static void round_time(ISC_TIME& ntime, const int precision);
- static inline bool isLeapYear(const int year) throw()
+ static inline bool isLeapYear(const int year) noexcept
{
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
@@ -191,7 +191,7 @@ public:
private:
ISC_TIMESTAMP mValue;
- static int yday(const struct tm* times) throw();
+ static int yday(const struct tm* times) noexcept;
};
} // namespace Firebird
diff --git a/src/common/classes/SafeArg.h b/src/common/classes/SafeArg.h
index 8db91f5009..6c2bfe0b5c 100644
--- a/src/common/classes/SafeArg.h
+++ b/src/common/classes/SafeArg.h
@@ -165,7 +165,7 @@ public:
SafeArg& operator<<(void* c);
void dump(const TEXT* target[], FB_SIZE_T v_size) const;
const safe_cell& getCell(FB_SIZE_T index) const;
- FB_SIZE_T getCount() const throw();
+ FB_SIZE_T getCount() const noexcept;
private:
FB_SIZE_T m_count;
@@ -188,7 +188,7 @@ inline SafeArg& SafeArg::clear()
return *this;
}
-inline FB_SIZE_T SafeArg::getCount() const throw()
+inline FB_SIZE_T SafeArg::getCount() const noexcept
{
return m_count;
}
diff --git a/src/common/classes/array.h b/src/common/classes/array.h
index ba2a1fc9e7..be36050873 100644
--- a/src/common/classes/array.h
+++ b/src/common/classes/array.h
@@ -134,19 +134,19 @@ public:
freeData();
}
- void clear() throw()
+ void clear() noexcept
{
count = 0;
}
protected:
- const T& getElement(size_type index) const throw()
+ const T& getElement(size_type index) const noexcept
{
fb_assert(index < count);
return data[index];
}
- T& getElement(size_type index) throw()
+ T& getElement(size_type index) noexcept
{
fb_assert(index < count);
return data[index];
@@ -174,12 +174,12 @@ public:
return *this;
}
- const T& operator[](size_type index) const throw()
+ const T& operator[](size_type index) const noexcept
{
return getElement(index);
}
- T& operator[](size_type index) throw()
+ T& operator[](size_type index) noexcept
{
return getElement(index);
}
@@ -266,14 +266,14 @@ public:
count += itemsCount;
}
- T* remove(const size_type index) throw()
+ T* remove(const size_type index) noexcept
{
fb_assert(index < count);
memmove(data + index, data + index + 1, sizeof(T) * (--count - index));
return &data[index];
}
- T* removeRange(const size_type from, const size_type to) throw()
+ T* removeRange(const size_type from, const size_type to) noexcept
{
fb_assert(from <= to);
fb_assert(to <= count);
@@ -282,7 +282,7 @@ public:
return &data[from];
}
- T* removeCount(const size_type index, const size_type n) throw()
+ T* removeCount(const size_type index, const size_type n) noexcept
{
fb_assert(index + n <= count);
memmove(data + index, data + index + n, sizeof(T) * (count - index - n));
@@ -290,7 +290,7 @@ public:
return &data[index];
}
- T* remove(T* itr) throw()
+ T* remove(T* itr) noexcept
{
const size_type index = itr - begin();
fb_assert(index < count);
@@ -298,12 +298,12 @@ public:
return &data[index];
}
- T* remove(T* itrFrom, T* itrTo) throw()
+ T* remove(T* itrFrom, T* itrTo) noexcept
{
return removeRange(itrFrom - begin(), itrTo - begin());
}
- void shrink(size_type newCount) throw()
+ void shrink(size_type newCount) noexcept
{
fb_assert(newCount <= count);
count = newCount;
@@ -363,7 +363,7 @@ public:
memcpy(data, items, sizeof(T) * count);
}
- size_type getCount() const throw() { return count; }
+ size_type getCount() const noexcept { return count; }
bool isEmpty() const { return count == 0; }
diff --git a/src/common/classes/fb_string.cpp b/src/common/classes/fb_string.cpp
index 64da705c03..8f09ce2a2e 100644
--- a/src/common/classes/fb_string.cpp
+++ b/src/common/classes/fb_string.cpp
@@ -126,7 +126,7 @@ namespace Firebird
memset(stringBuffer, c, sizeL);
}
- void AbstractString::adjustRange(const size_type length, size_type& pos, size_type& n) throw()
+ void AbstractString::adjustRange(const size_type length, size_type& pos, size_type& n) noexcept
{
if (pos == npos) {
pos = length > n ? length - n : 0;
@@ -171,7 +171,7 @@ namespace Firebird
return stringBuffer + p0;
}
- void AbstractString::baseErase(size_type p0, size_type n) throw()
+ void AbstractString::baseErase(size_type p0, size_type n) noexcept
{
adjustRange(length(), p0, n);
memmove(stringBuffer + p0, stringBuffer + p0 + n, stringLength - (p0 + n) + 1);
diff --git a/src/common/classes/fb_string.h b/src/common/classes/fb_string.h
index 99d227e0ba..20fdd88a4a 100644
--- a/src/common/classes/fb_string.h
+++ b/src/common/classes/fb_string.h
@@ -153,7 +153,7 @@ namespace Firebird
stringBuffer[stringLength] = 0;
}
- void shrinkBuffer() throw()
+ void shrinkBuffer() noexcept
{
// Shrink buffer if we decide it is beneficial
}
@@ -209,7 +209,7 @@ namespace Firebird
}
// Trim the range making sure that it fits inside specified length
- static void adjustRange(const size_type length, size_type& pos, size_type& n) throw();
+ static void adjustRange(const size_type length, size_type& pos, size_type& n) noexcept;
pointer baseAssign(const size_type n);
@@ -217,7 +217,7 @@ namespace Firebird
pointer baseInsert(const size_type p0, const size_type n);
- void baseErase(size_type p0, size_type n) throw();
+ void baseErase(size_type p0, size_type n) noexcept;
enum TrimType {TrimLeft, TrimRight, TrimBoth};
@@ -237,7 +237,7 @@ namespace Firebird
{
return stringLength;
}
- size_type getCount() const throw()
+ size_type getCount() const noexcept
{
return stringLength;
}
@@ -523,22 +523,22 @@ namespace Firebird
insert(it - c_str(), first, last - first);
}
- AbstractString& erase(size_type p0 = 0, size_type n = npos) throw()
+ AbstractString& erase(size_type p0 = 0, size_type n = npos) noexcept
{
baseErase(p0, n);
return *this;
}
- AbstractString& clear() throw()
+ AbstractString& clear() noexcept
{
erase();
return *this;
}
- iterator erase(iterator it) throw()
+ iterator erase(iterator it) noexcept
{
erase(it - c_str(), 1);
return it;
}
- iterator erase(iterator first, iterator last) throw()
+ iterator erase(iterator first, iterator last) noexcept
{
erase(first - c_str(), last - first);
return first;
diff --git a/src/common/classes/init.h b/src/common/classes/init.h
index beb07d52d8..8593a526d0 100644
--- a/src/common/classes/init.h
+++ b/src/common/classes/init.h
@@ -147,15 +147,15 @@ public:
FB_NEW InstanceControl::InstanceLink(this);
}
- T* operator->() throw()
+ T* operator->() noexcept
{
return instance;
}
- operator T&() throw()
+ operator T&() noexcept
{
return *instance;
}
- T* operator&() throw()
+ T* operator&() noexcept
{
return instance;
}
diff --git a/src/common/classes/objects_array.h b/src/common/classes/objects_array.h
index d48f9b7557..cfa34ff764 100644
--- a/src/common/classes/objects_array.h
+++ b/src/common/classes/objects_array.h
@@ -377,7 +377,7 @@ namespace Firebird
delete getPointer(i);
}
- size_type getCount() const throw()
+ size_type getCount() const noexcept
{
return inherited::getCount();
}
@@ -768,7 +768,7 @@ namespace Firebird
PointersArray() : values(), pointers() { }
~PointersArray() { }
- size_type getCount() const throw()
+ size_type getCount() const noexcept
{
fb_assert(values.getCount() == pointers.getCount());
return values.getCount();
diff --git a/src/common/classes/stack.h b/src/common/classes/stack.h
index fa15d4bff5..2407efa982 100644
--- a/src/common/classes/stack.h
+++ b/src/common/classes/stack.h
@@ -655,7 +655,7 @@ namespace Firebird {
}
}
- FB_SIZE_T getCount() const throw()
+ FB_SIZE_T getCount() const noexcept
{
FB_SIZE_T rc = 0;
for (Entry* entry = stk; entry; entry = entry->next)
diff --git a/src/common/classes/vector.h b/src/common/classes/vector.h
index 3f6e1d3124..d142f4033e 100644
--- a/src/common/classes/vector.h
+++ b/src/common/classes/vector.h
@@ -42,26 +42,26 @@ class Vector
public:
Vector() : count(0) {}
- T& operator[](FB_SIZE_T index) throw()
+ T& operator[](FB_SIZE_T index) noexcept
{
fb_assert(index < count);
return data[index];
}
- const T& operator[](FB_SIZE_T index) const throw()
+ const T& operator[](FB_SIZE_T index) const noexcept
{
fb_assert(index < count);
return data[index];
}
- T* begin() throw() { return data; }
- T* end() throw() { return data + count; }
- const T* begin() const throw() { return data; }
- const T* end() const throw() { return data + count; }
- bool hasData() const throw() { return (count != 0); }
- FB_SIZE_T getCount() const throw() { return count; }
- FB_SIZE_T getCapacity() const throw() { return Capacity; }
- void clear() throw() { count = 0; }
+ T* begin() noexcept { return data; }
+ T* end() noexcept { return data + count; }
+ const T* begin() const noexcept { return data; }
+ const T* end() const noexcept { return data + count; }
+ bool hasData() const noexcept { return (count != 0); }
+ FB_SIZE_T getCount() const noexcept { return count; }
+ FB_SIZE_T getCapacity() const noexcept { return Capacity; }
+ void clear() noexcept { count = 0; }
void insert(FB_SIZE_T index, const T& item)
{
@@ -78,14 +78,14 @@ public:
return ++count;
}
- T* remove(FB_SIZE_T index) throw()
+ T* remove(FB_SIZE_T index) noexcept
{
fb_assert(index < count);
memmove(data + index, data + index + 1, sizeof(T) * (--count - index));
return &data[index];
}
- T* removeCount(const FB_SIZE_T index, const FB_SIZE_T n) throw()
+ T* removeCount(const FB_SIZE_T index, const FB_SIZE_T n) noexcept
{
fb_assert(index + n <= count);
memmove(data + index, data + index + n, sizeof(T) * (count - index - n));
@@ -93,13 +93,13 @@ public:
return &data[index];
}
- void shrink(FB_SIZE_T newCount) throw()
+ void shrink(FB_SIZE_T newCount) noexcept
{
fb_assert(newCount <= count);
count = newCount;
}
- void join(const Vector& L) throw()
+ void join(const Vector& L) noexcept
{
fb_assert(count + L.count <= Capacity);
memcpy(data + count, L.data, sizeof(T) * L.count);
@@ -107,7 +107,7 @@ public:
}
// prepare vector to be used as a buffer of capacity items
- T* getBuffer(FB_SIZE_T capacityL) throw()
+ T* getBuffer(FB_SIZE_T capacityL) noexcept
{
fb_assert(capacityL <= Capacity);
count = capacityL;
diff --git a/src/common/fb_exception.cpp b/src/common/fb_exception.cpp
index 4f143640f5..0d70a89e4f 100644
--- a/src/common/fb_exception.cpp
+++ b/src/common/fb_exception.cpp
@@ -16,9 +16,9 @@ namespace Firebird {
// ********************************* Exception *******************************
-Exception::~Exception() throw() { }
+Exception::~Exception() noexcept { }
-void Exception::stuffException(DynamicStatusVector& status_vector) const throw()
+void Exception::stuffException(DynamicStatusVector& status_vector) const noexcept
{
StaticStatusVector status;
stuffException(status);
@@ -34,14 +34,14 @@ void Exception::stuffException(DynamicStatusVector& status_vector) const throw()
}
}
-void Exception::stuffException(CheckStatusWrapper* status_vector) const throw()
+void Exception::stuffException(CheckStatusWrapper* status_vector) const noexcept
{
StaticStatusVector status;
stuffException(status);
fb_utils::setIStatus(status_vector, status.begin());
}
-void Exception::processUnexpectedException(ISC_STATUS* vector) throw()
+void Exception::processUnexpectedException(ISC_STATUS* vector) noexcept
{
// do not use stuffException() here to avoid endless loop
try
@@ -62,13 +62,13 @@ void Exception::processUnexpectedException(ISC_STATUS* vector) throw()
// ********************************* status_exception *******************************
-status_exception::status_exception() throw()
+status_exception::status_exception() noexcept
: m_status_vector(m_buffer)
{
fb_utils::init_status(m_status_vector);
}
-status_exception::status_exception(const ISC_STATUS *status_vector) throw()
+status_exception::status_exception(const ISC_STATUS *status_vector) noexcept
: m_status_vector(m_buffer)
{
fb_utils::init_status(m_status_vector);
@@ -79,7 +79,7 @@ status_exception::status_exception(const ISC_STATUS *status_vector) throw()
}
}
-status_exception::status_exception(const status_exception& from) throw()
+status_exception::status_exception(const status_exception& from) noexcept
: m_status_vector(m_buffer)
{
fb_utils::init_status(m_status_vector);
@@ -87,7 +87,7 @@ status_exception::status_exception(const status_exception& from) throw()
set_status(from.m_status_vector);
}
-void status_exception::set_status(const ISC_STATUS *new_vector) throw()
+void status_exception::set_status(const ISC_STATUS *new_vector) noexcept
{
fb_assert(new_vector != 0);
unsigned len = fb_utils::statusLength(new_vector);
@@ -112,7 +112,7 @@ void status_exception::set_status(const ISC_STATUS *new_vector) throw()
}
}
-status_exception::~status_exception() throw()
+status_exception::~status_exception() noexcept
{
delete[] findDynamicStrings(fb_utils::statusLength(m_status_vector), m_status_vector);
if (m_status_vector != m_buffer)
@@ -121,7 +121,7 @@ status_exception::~status_exception() throw()
}
}
-const char* status_exception::what() const throw()
+const char* status_exception::what() const noexcept
{
return "Firebird::status_exception";
}
@@ -143,7 +143,7 @@ void status_exception::raise(const Arg::StatusVector& statusVector)
throw status_exception(statusVector.value());
}
-void status_exception::stuffByException(StaticStatusVector& status) const throw()
+void status_exception::stuffByException(StaticStatusVector& status) const noexcept
{
try
{
@@ -162,12 +162,12 @@ void BadAlloc::raise()
throw BadAlloc();
}
-void BadAlloc::stuffByException(StaticStatusVector& status) const throw()
+void BadAlloc::stuffByException(StaticStatusVector& status) const noexcept
{
fb_utils::statusBadAlloc(status.makeEmergencyStatus());
}
-const char* BadAlloc::what() const throw()
+const char* BadAlloc::what() const noexcept
{
return "Firebird::BadAlloc";
}
@@ -179,7 +179,7 @@ void LongJump::raise()
throw LongJump();
}
-void LongJump::stuffByException(StaticStatusVector& status) const throw()
+void LongJump::stuffByException(StaticStatusVector& status) const noexcept
{
ISC_STATUS sv[] = {isc_arg_gds, isc_random, isc_arg_string,
(ISC_STATUS)(IPTR) "Unexpected call to Firebird::LongJump::stuffException()", isc_arg_end};
@@ -194,7 +194,7 @@ void LongJump::stuffByException(StaticStatusVector& status) const throw()
}
}
-const char* LongJump::what() const throw()
+const char* LongJump::what() const noexcept
{
return "Firebird::LongJump";
}
@@ -286,7 +286,7 @@ fatal_exception::fatal_exception(const char* message) :
// Keep in sync with the constructor above, please; "message" becomes 4th element
// after initialization of status vector in constructor.
-const char* fatal_exception::what() const throw()
+const char* fatal_exception::what() const noexcept
{
return reinterpret_cast(value()[3]);
}
diff --git a/src/common/security.h b/src/common/security.h
index c9ed3ca65c..fc43cb5d3a 100644
--- a/src/common/security.h
+++ b/src/common/security.h
@@ -88,7 +88,7 @@ public:
value.assign(newValue, len);
}
- void clear() throw()
+ void clear() noexcept
{
e = s = 0;
value.erase(); // should not call allocation function - no throw
@@ -142,7 +142,7 @@ public:
value = newValue;
}
- void clear() throw()
+ void clear() noexcept
{
e = s = 0;
value = 0;
@@ -235,7 +235,7 @@ public:
class StackUserData final : public UserData
{
public:
- void* operator new(size_t, void* memory) throw()
+ void* operator new(size_t, void* memory) noexcept
{
return memory;
}
diff --git a/src/common/utils.cpp b/src/common/utils.cpp
index 958fe1c419..91b3397402 100644
--- a/src/common/utils.cpp
+++ b/src/common/utils.cpp
@@ -1326,7 +1326,7 @@ Firebird::PathName getPrefix(unsigned int prefType, const char* name)
}
unsigned int copyStatus(ISC_STATUS* const to, const unsigned int space,
- const ISC_STATUS* const from, const unsigned int count) throw()
+ const ISC_STATUS* const from, const unsigned int count) noexcept
{
unsigned int copied = 0;
@@ -1351,7 +1351,7 @@ unsigned int copyStatus(ISC_STATUS* const to, const unsigned int space,
}
unsigned int mergeStatus(ISC_STATUS* const dest, unsigned int space,
- const Firebird::IStatus* from) throw()
+ const Firebird::IStatus* from) noexcept
{
const ISC_STATUS* s;
unsigned int copied = 0;
@@ -1386,7 +1386,7 @@ unsigned int mergeStatus(ISC_STATUS* const dest, unsigned int space,
return copied;
}
-void copyStatus(Firebird::CheckStatusWrapper* to, const Firebird::IStatus* from) throw()
+void copyStatus(Firebird::CheckStatusWrapper* to, const Firebird::IStatus* from) noexcept
{
to->init();
@@ -1397,7 +1397,7 @@ void copyStatus(Firebird::CheckStatusWrapper* to, const Firebird::IStatus* from)
to->setWarnings(from->getWarnings());
}
-void setIStatus(Firebird::CheckStatusWrapper* to, const ISC_STATUS* from) throw()
+void setIStatus(Firebird::CheckStatusWrapper* to, const ISC_STATUS* from) noexcept
{
try
{
@@ -1419,7 +1419,7 @@ void setIStatus(Firebird::CheckStatusWrapper* to, const ISC_STATUS* from) throw(
}
}
-unsigned int statusLength(const ISC_STATUS* const status) throw()
+unsigned int statusLength(const ISC_STATUS* const status) noexcept
{
unsigned int l = 0;
for(;;)
@@ -1432,7 +1432,7 @@ unsigned int statusLength(const ISC_STATUS* const status) throw()
}
}
-bool cmpStatus(unsigned int len, const ISC_STATUS* a, const ISC_STATUS* b) throw()
+bool cmpStatus(unsigned int len, const ISC_STATUS* a, const ISC_STATUS* b) noexcept
{
for (unsigned i = 0; i < len; )
{
@@ -1480,7 +1480,7 @@ bool cmpStatus(unsigned int len, const ISC_STATUS* a, const ISC_STATUS* b) throw
}
unsigned int subStatus(const ISC_STATUS* in, unsigned int cin,
- const ISC_STATUS* sub, unsigned int csub) throw()
+ const ISC_STATUS* sub, unsigned int csub) noexcept
{
for (unsigned pos = 0; csub <= cin - pos; )
{
@@ -1767,7 +1767,7 @@ unsigned sqlTypeToDsc(unsigned runOffset, unsigned sqlType, unsigned sqlLength,
return runOffset + sizeof(SSHORT);
}
-const ISC_STATUS* nextCode(const ISC_STATUS* v) throw()
+const ISC_STATUS* nextCode(const ISC_STATUS* v) noexcept
{
do
{
diff --git a/src/common/utils_proto.h b/src/common/utils_proto.h
index e70e3c0689..981a3fc579 100644
--- a/src/common/utils_proto.h
+++ b/src/common/utils_proto.h
@@ -160,22 +160,22 @@ namespace fb_utils
}
unsigned int copyStatus(ISC_STATUS* const to, const unsigned int space,
- const ISC_STATUS* const from, const unsigned int count) throw();
- void copyStatus(Firebird::CheckStatusWrapper* to, const Firebird::IStatus* from) throw();
- unsigned int mergeStatus(ISC_STATUS* const to, unsigned int space, const Firebird::IStatus* from) throw();
- void setIStatus(Firebird::CheckStatusWrapper* to, const ISC_STATUS* from) throw();
- unsigned int statusLength(const ISC_STATUS* const status) throw();
+ const ISC_STATUS* const from, const unsigned int count) noexcept;
+ void copyStatus(Firebird::CheckStatusWrapper* to, const Firebird::IStatus* from) noexcept;
+ unsigned int mergeStatus(ISC_STATUS* const to, unsigned int space, const Firebird::IStatus* from) noexcept;
+ void setIStatus(Firebird::CheckStatusWrapper* to, const ISC_STATUS* from) noexcept;
+ unsigned int statusLength(const ISC_STATUS* const status) noexcept;
unsigned int subStatus(const ISC_STATUS* in, unsigned int cin,
- const ISC_STATUS* sub, unsigned int csub) throw();
- bool cmpStatus(unsigned int len, const ISC_STATUS* a, const ISC_STATUS* b) throw();
- const ISC_STATUS* nextCode(const ISC_STATUS* v) throw();
+ const ISC_STATUS* sub, unsigned int csub) noexcept;
+ bool cmpStatus(unsigned int len, const ISC_STATUS* a, const ISC_STATUS* b) noexcept;
+ const ISC_STATUS* nextCode(const ISC_STATUS* v) noexcept;
- inline unsigned nextArg(const ISC_STATUS v) throw()
+ inline unsigned nextArg(const ISC_STATUS v) noexcept
{
return v == isc_arg_cstring ? 3 : 2;
}
- inline bool isStr(const ISC_STATUS v) throw()
+ inline bool isStr(const ISC_STATUS v) noexcept
{
switch (v)
{
diff --git a/src/dsql/DsqlBatch.cpp b/src/dsql/DsqlBatch.cpp
index 46e6b56ec1..95bbfecbbe 100644
--- a/src/dsql/DsqlBatch.cpp
+++ b/src/dsql/DsqlBatch.cpp
@@ -167,7 +167,7 @@ Attachment* DsqlBatch::getAttachment() const
return m_dsqlRequest->req_dbb->dbb_attachment;
}
-void DsqlBatch::setInterfacePtr(JBatch* interfacePtr) throw()
+void DsqlBatch::setInterfacePtr(JBatch* interfacePtr) noexcept
{
fb_assert(!m_batch);
m_batch = interfacePtr;
diff --git a/src/dsql/DsqlBatch.h b/src/dsql/DsqlBatch.h
index 1ee17dea5f..5d9d048a6c 100644
--- a/src/dsql/DsqlBatch.h
+++ b/src/dsql/DsqlBatch.h
@@ -65,7 +65,7 @@ public:
unsigned parLength, const UCHAR* par);
Attachment* getAttachment() const;
- void setInterfacePtr(JBatch* interfacePtr) throw();
+ void setInterfacePtr(JBatch* interfacePtr) noexcept;
void add(thread_db* tdbb, ULONG count, const void* inBuffer);
void addBlob(thread_db* tdbb, ULONG length, const void* inBuffer, ISC_QUAD* blobId, unsigned parLength, const unsigned char* par);
diff --git a/src/dsql/DsqlCursor.cpp b/src/dsql/DsqlCursor.cpp
index 5c64381724..676a9d72f7 100644
--- a/src/dsql/DsqlCursor.cpp
+++ b/src/dsql/DsqlCursor.cpp
@@ -60,7 +60,7 @@ Attachment* DsqlCursor::getAttachment() const
return m_dsqlRequest->req_dbb->dbb_attachment;
}
-void DsqlCursor::setInterfacePtr(JResultSet* interfacePtr) throw()
+void DsqlCursor::setInterfacePtr(JResultSet* interfacePtr) noexcept
{
fb_assert(!m_resultSet);
m_resultSet = interfacePtr;
diff --git a/src/dsql/DsqlCursor.h b/src/dsql/DsqlCursor.h
index 6bd652a6aa..cc1abe36f9 100644
--- a/src/dsql/DsqlCursor.h
+++ b/src/dsql/DsqlCursor.h
@@ -40,7 +40,7 @@ public:
jrd_tra* getTransaction() const;
Attachment* getAttachment() const;
- void setInterfacePtr(JResultSet* interfacePtr) throw();
+ void setInterfacePtr(JResultSet* interfacePtr) noexcept;
static void close(thread_db* tdbb, DsqlCursor* cursor);
diff --git a/src/gpre/gpre.h b/src/gpre/gpre.h
index cd628bd33a..9d7832eea6 100644
--- a/src/gpre/gpre.h
+++ b/src/gpre/gpre.h
@@ -1624,7 +1624,7 @@ public:
{
fb_utils::copy_terminate(msg, errmsg, sizeof(msg));
}
- const char* what() const throw()
+ const char* what() const noexcept
{
return msg[0] ? msg : "gpre_exception";
}
diff --git a/src/include/fb_exception.h b/src/include/fb_exception.h
index 54a654906b..9d4f9ee933 100644
--- a/src/include/fb_exception.h
+++ b/src/include/fb_exception.h
@@ -48,43 +48,43 @@ typedef SimpleStatusVector<> StaticStatusVector;
class Exception
{
protected:
- Exception() throw() { }
- static void processUnexpectedException(ISC_STATUS* vector) throw();
+ Exception() noexcept { }
+ static void processUnexpectedException(ISC_STATUS* vector) noexcept;
public:
- void stuffException(StaticStatusVector& status_vector) const throw()
+ void stuffException(StaticStatusVector& status_vector) const noexcept
{
stuffByException(status_vector);
}
- void stuffException(DynamicStatusVector& status_vector) const throw();
- void stuffException(CheckStatusWrapper* status_vector) const throw();
- virtual ~Exception() throw();
+ void stuffException(DynamicStatusVector& status_vector) const noexcept;
+ void stuffException(CheckStatusWrapper* status_vector) const noexcept;
+ virtual ~Exception() noexcept;
private:
- virtual void stuffByException(StaticStatusVector& status_vector) const throw() = 0;
+ virtual void stuffByException(StaticStatusVector& status_vector) const noexcept = 0;
public:
- virtual const char* what() const throw() = 0;
+ virtual const char* what() const noexcept = 0;
};
// Used as jmpbuf to unwind when needed
class LongJump : public Exception
{
public:
- virtual void stuffByException(StaticStatusVector& status_vector) const throw();
- virtual const char* what() const throw();
+ virtual void stuffByException(StaticStatusVector& status_vector) const noexcept;
+ virtual const char* what() const noexcept;
static void raise();
- LongJump() throw() : Exception() { }
+ LongJump() noexcept : Exception() { }
};
// Used in MemoryPool
class BadAlloc : public std::bad_alloc, public Exception
{
public:
- BadAlloc() throw() : std::bad_alloc(), Exception() { }
- virtual void stuffByException(StaticStatusVector& status_vector) const throw();
- virtual const char* what() const throw();
+ BadAlloc() noexcept : std::bad_alloc(), Exception() { }
+ virtual void stuffByException(StaticStatusVector& status_vector) const noexcept;
+ virtual const char* what() const noexcept;
static void raise();
};
@@ -92,15 +92,15 @@ public:
class status_exception : public Exception
{
public:
- explicit status_exception(const ISC_STATUS *status_vector) throw();
- status_exception(const status_exception&) throw();
+ explicit status_exception(const ISC_STATUS *status_vector) noexcept;
+ status_exception(const status_exception&) noexcept;
- virtual ~status_exception() throw();
+ virtual ~status_exception() noexcept;
- virtual void stuffByException(StaticStatusVector& status_vector) const throw();
- virtual const char* what() const throw();
+ virtual void stuffByException(StaticStatusVector& status_vector) const noexcept;
+ virtual const char* what() const noexcept;
- const ISC_STATUS* value() const throw() { return m_status_vector; }
+ const ISC_STATUS* value() const noexcept { return m_status_vector; }
[[noreturn]] static void raise(const ISC_STATUS* status_vector);
[[noreturn]] static void raise(const Arg::StatusVector& statusVector);
@@ -109,9 +109,9 @@ public:
protected:
// Create exception with undefined status vector, this constructor allows
// derived classes create empty exception ...
- status_exception() throw();
+ status_exception() noexcept;
// .. and adjust it later using somehow created status vector.
- void set_status(const ISC_STATUS *new_vector) throw();
+ void set_status(const ISC_STATUS *new_vector) noexcept;
private:
ISC_STATUS* m_status_vector;
@@ -164,7 +164,7 @@ class fatal_exception : public status_exception
public:
explicit fatal_exception(const char* message);
static void raiseFmt(const char* format, ...);
- const char* what() const throw();
+ const char* what() const noexcept;
static void raise(const char* message);
};
diff --git a/src/jrd/Attachment.cpp b/src/jrd/Attachment.cpp
index 737248695e..28ec35e890 100644
--- a/src/jrd/Attachment.cpp
+++ b/src/jrd/Attachment.cpp
@@ -1066,7 +1066,7 @@ void StableAttachmentPart::doOnIdleTimer(TimerImpl*)
JRD_shutdown_attachment(att);
}
-JAttachment* Attachment::getInterface() throw()
+JAttachment* Attachment::getInterface() noexcept
{
return att_stable->getInterface();
}
diff --git a/src/jrd/Attachment.h b/src/jrd/Attachment.h
index 34838d3fa0..20a8d1b2bd 100644
--- a/src/jrd/Attachment.h
+++ b/src/jrd/Attachment.h
@@ -307,7 +307,7 @@ public:
: att(handle), jAtt(NULL), shutError(0)
{ }
- Attachment* getHandle() throw()
+ Attachment* getHandle() noexcept
{
return att;
}
@@ -743,17 +743,17 @@ public:
bool backupStateReadLock(thread_db* tdbb, SSHORT wait);
void backupStateReadUnLock(thread_db* tdbb);
- StableAttachmentPart* getStable() throw()
+ StableAttachmentPart* getStable() noexcept
{
return att_stable;
}
- void setStable(StableAttachmentPart *js) throw()
+ void setStable(StableAttachmentPart *js) noexcept
{
att_stable = js;
}
- JAttachment* getInterface() throw();
+ JAttachment* getInterface() noexcept;
unsigned int getIdleTimeout() const
{
diff --git a/src/jrd/EngineInterface.h b/src/jrd/EngineInterface.h
index b2e2568ce9..3f06df7e2e 100644
--- a/src/jrd/EngineInterface.h
+++ b/src/jrd/EngineInterface.h
@@ -74,7 +74,7 @@ public:
return sAtt;
}
- blb* getHandle() throw()
+ blb* getHandle() noexcept
{
return blob;
}
@@ -118,7 +118,7 @@ public:
public:
JTransaction(jrd_tra* handle, StableAttachmentPart* sa);
- jrd_tra* getHandle() throw()
+ jrd_tra* getHandle() noexcept
{
return transaction;
}
@@ -178,7 +178,7 @@ public:
StableAttachmentPart* getAttachment();
- DsqlCursor* getHandle() throw()
+ DsqlCursor* getHandle() noexcept
{
return cursor;
}
@@ -224,7 +224,7 @@ public:
StableAttachmentPart* getAttachment();
- DsqlBatch* getHandle() throw()
+ DsqlBatch* getHandle() noexcept
{
return batch;
}
@@ -260,7 +260,7 @@ public:
return sAtt;
}
- Applier* getHandle() throw()
+ Applier* getHandle() noexcept
{
return applier;
}
@@ -315,7 +315,7 @@ public:
return sAtt;
}
- DsqlRequest* getHandle() throw()
+ DsqlRequest* getHandle() noexcept
{
return statement;
}
@@ -356,7 +356,7 @@ public:
return sAtt;
}
- Statement* getHandle() throw()
+ Statement* getHandle() noexcept
{
return rq;
}
@@ -379,7 +379,7 @@ public:
public:
JEvents(int aId, StableAttachmentPart* sa, Firebird::IEventCallback* aCallback);
- JEvents* getHandle() throw()
+ JEvents* getHandle() noexcept
{
return this;
}
@@ -463,15 +463,15 @@ public:
public:
explicit JAttachment(StableAttachmentPart* js);
- StableAttachmentPart* getStable() throw()
+ StableAttachmentPart* getStable() noexcept
{
return att;
}
- Jrd::Attachment* getHandle() throw();
- const Jrd::Attachment* getHandle() const throw();
+ Jrd::Attachment* getHandle() noexcept;
+ const Jrd::Attachment* getHandle() const noexcept;
- StableAttachmentPart* getAttachment() throw()
+ StableAttachmentPart* getAttachment() noexcept
{
return att;
}
diff --git a/src/jrd/SysFunction.cpp b/src/jrd/SysFunction.cpp
index 078d1fa7ee..2cd6ee977b 100644
--- a/src/jrd/SysFunction.cpp
+++ b/src/jrd/SysFunction.cpp
@@ -209,7 +209,7 @@ const int ONE_DAY = 86400;
const unsigned MAX_CTX_VAR_SIZE = 255;
// auxiliary functions
-double fbcot(double value) throw();
+double fbcot(double value) noexcept;
// generic setParams functions
void setParamsDouble(DataTypeUtilBase* dataTypeUtil, const SysFunction* function, int argsCount, dsc** args);
@@ -431,7 +431,7 @@ static const char
TRUE_VALUE[] = "TRUE";
-double fbcot(double value) throw()
+double fbcot(double value) noexcept
{
return 1.0 / tan(value);
}
diff --git a/src/jrd/jrd.cpp b/src/jrd/jrd.cpp
index aa852404a1..524e5e38ff 100644
--- a/src/jrd/jrd.cpp
+++ b/src/jrd/jrd.cpp
@@ -268,12 +268,12 @@ JAttachment::JAttachment(StableAttachmentPart* sa)
{
}
-Attachment* JAttachment::getHandle() throw()
+Attachment* JAttachment::getHandle() noexcept
{
return att ? att->getHandle() : NULL;
}
-const Attachment* JAttachment::getHandle() const throw()
+const Attachment* JAttachment::getHandle() const noexcept
{
return att ? att->getHandle() : NULL;
}
@@ -1418,7 +1418,7 @@ static void successful_completion(CheckStatusWrapper* s, ISC_STATUS acceptCode =
// Stuff exception transliterated to the client charset.
static ISC_STATUS transliterateException(thread_db* tdbb, const Exception& ex, FbStatusVector* vector,
- const char* func) throw()
+ const char* func) noexcept
{
ex.stuffException(vector);
@@ -1438,7 +1438,7 @@ static ISC_STATUS transliterateException(thread_db* tdbb, const Exception& ex, F
// Transliterate status vector to the client charset.
-void JRD_transliterate(thread_db* tdbb, Firebird::IStatus* vector) throw()
+void JRD_transliterate(thread_db* tdbb, Firebird::IStatus* vector) noexcept
{
Jrd::Attachment* attachment = tdbb->getAttachment();
USHORT charSet;
diff --git a/src/jrd/jrd_proto.h b/src/jrd/jrd_proto.h
index d7f4024eea..adf745168d 100644
--- a/src/jrd/jrd_proto.h
+++ b/src/jrd/jrd_proto.h
@@ -76,7 +76,7 @@ void JRD_shutdown_attachment(Jrd::Attachment* attachment);
void JRD_shutdown_attachments(Jrd::Database* dbb);
void JRD_cancel_operation(Jrd::thread_db* tdbb, Jrd::Attachment* attachment, int option);
void JRD_make_role_name(Jrd::MetaName& userIdRole, const int dialect);
-void JRD_transliterate(Jrd::thread_db* tdbb, Firebird::IStatus* vector) throw();
+void JRD_transliterate(Jrd::thread_db* tdbb, Firebird::IStatus* vector) noexcept;
bool JRD_shutdown_database(Jrd::Database* dbb, const unsigned flags = 0);
// JRD_shutdown_database() flags
diff --git a/src/jrd/svc.h b/src/jrd/svc.h
index 957c7a5685..df508fe312 100644
--- a/src/jrd/svc.h
+++ b/src/jrd/svc.h
@@ -286,7 +286,7 @@ private:
// Does info buffer have enough space for SLONG?
static bool ck_space_for_numeric(UCHAR*& info, const UCHAR* const end);
// Make status vector permamnent, if one present in worker thread's space
- void makePermanentStatusVector() throw();
+ void makePermanentStatusVector() noexcept;
// Read SPB on attach
void getOptions(Firebird::ClumpletReader&);
// Invoke appropriate service thread entry and finalize it correctly
diff --git a/src/plugins/crypt/arc4/Arc4.cpp b/src/plugins/crypt/arc4/Arc4.cpp
index 6f46de5310..462b4eb91b 100644
--- a/src/plugins/crypt/arc4/Arc4.cpp
+++ b/src/plugins/crypt/arc4/Arc4.cpp
@@ -37,7 +37,7 @@ namespace
class Cypher : public GlobalStorage
{
public:
- Cypher(unsigned int l, const unsigned char* key) throw()
+ Cypher(unsigned int l, const unsigned char* key) noexcept
: s1(0), s2(0)
{
for (unsigned int n = 0; n < sizeof(state); ++n)
@@ -52,7 +52,7 @@ public:
}
}
- void transform(unsigned int length, const void* from, void* to) throw()
+ void transform(unsigned int length, const void* from, void* to) noexcept
{
unsigned char* t = static_cast(to);
const unsigned char* f = static_cast(from);
@@ -72,7 +72,7 @@ private:
unsigned char s1;
unsigned char s2;
- void swap(unsigned char& c1, unsigned char& c2) throw()
+ void swap(unsigned char& c1, unsigned char& c2) noexcept
{
unsigned char temp = c1;
c1 = c2;
diff --git a/src/remote/client/interface.cpp b/src/remote/client/interface.cpp
index 5f4d2a9c83..e482eb81ee 100644
--- a/src/remote/client/interface.cpp
+++ b/src/remote/client/interface.cpp
@@ -1139,7 +1139,7 @@ static const unsigned ANALYZE_LOOPBACK = 0x02;
static const unsigned ANALYZE_MOUNTS = 0x04;
static const unsigned ANALYZE_EMP_NAME = 0x08;
-inline static void reset(IStatus* status) throw()
+inline static void reset(IStatus* status) noexcept
{
status->init();
}
diff --git a/src/remote/remote.cpp b/src/remote/remote.cpp
index d55b9955fc..693b70e441 100644
--- a/src/remote/remote.cpp
+++ b/src/remote/remote.cpp
@@ -837,25 +837,25 @@ ServerCallbackBase::~ServerCallbackBase()
}
/*
-void Rdb::set_async_vector(ISC_STATUS* userStatus) throw()
+void Rdb::set_async_vector(ISC_STATUS* userStatus) noexcept
{
rdb_async_status_vector = userStatus;
rdb_async_thread_id = getThreadId();
}
-void Rdb::reset_async_vector() throw()
+void Rdb::reset_async_vector() noexcept
{
rdb_async_thread_id = 0;
rdb_async_status_vector = NULL;
}
-ISC_STATUS* Rdb::get_status_vector() throw()
+ISC_STATUS* Rdb::get_status_vector() noexcept
{
return rdb_async_thread_id == getThreadId() ? rdb_async_status_vector : rdb_status_vector;
}
*/
-void Rrq::saveStatus(const Firebird::Exception& ex) throw()
+void Rrq::saveStatus(const Firebird::Exception& ex) noexcept
{
if (rrqStatus.isSuccess())
{
@@ -866,7 +866,7 @@ void Rrq::saveStatus(const Firebird::Exception& ex) throw()
}
}
-void Rrq::saveStatus(Firebird::IStatus* v) throw()
+void Rrq::saveStatus(Firebird::IStatus* v) noexcept
{
if (rrqStatus.isSuccess())
{
diff --git a/src/remote/remote.h b/src/remote/remote.h
index 76f55d0dbc..c90009faca 100644
--- a/src/remote/remote.h
+++ b/src/remote/remote.h
@@ -415,8 +415,8 @@ public:
static ISC_STATUS badHandle() { return isc_bad_req_handle; }
- void saveStatus(const Firebird::Exception& ex) throw();
- void saveStatus(Firebird::IStatus* ex) throw();
+ void saveStatus(const Firebird::Exception& ex) noexcept;
+ void saveStatus(Firebird::IStatus* ex) noexcept;
};
diff --git a/src/yvalve/PluginManager.cpp b/src/yvalve/PluginManager.cpp
index 7a852689fb..4bd33e949c 100644
--- a/src/yvalve/PluginManager.cpp
+++ b/src/yvalve/PluginManager.cpp
@@ -347,7 +347,7 @@ namespace
return NULL;
}
- const char* getName() const throw()
+ const char* getName() const noexcept
{
return name.nullStr();
}
@@ -484,7 +484,7 @@ namespace
return findPluginConfig(pluginLoaderConfig, confName);
}
- const PluginModule* getPluggedModule() const throw()
+ const PluginModule* getPluggedModule() const noexcept
{
return module;
}
@@ -496,7 +496,7 @@ namespace
return plugName.c_str();
}
- void setReleaseDelay(ISC_UINT64 microSeconds) throw()
+ void setReleaseDelay(ISC_UINT64 microSeconds) noexcept
{
#ifdef DEBUG_PLUGINS
fprintf(stderr, "Set delay for ConfiguredPlugin %s:%p\n", plugName.c_str(), this);
diff --git a/src/yvalve/utl.cpp b/src/yvalve/utl.cpp
index 94f4f3fd6d..c2946a7eb7 100644
--- a/src/yvalve/utl.cpp
+++ b/src/yvalve/utl.cpp
@@ -3430,7 +3430,7 @@ const char* circularAlloc(const char* s, unsigned len)
// CVC: Do not let "perm" be incremented before "trans", because it may lead to serious memory errors,
// since our code blindly passes the same vector twice.
-void makePermanentVector(ISC_STATUS* perm, const ISC_STATUS* trans) throw()
+void makePermanentVector(ISC_STATUS* perm, const ISC_STATUS* trans) noexcept
{
try
{
@@ -3490,7 +3490,7 @@ void makePermanentVector(ISC_STATUS* perm, const ISC_STATUS* trans) throw()
} // anonymous namespace
-void makePermanentVector(ISC_STATUS* v) throw()
+void makePermanentVector(ISC_STATUS* v) noexcept
{
makePermanentVector(v, v);
}
diff --git a/src/yvalve/utl_proto.h b/src/yvalve/utl_proto.h
index 31069d5439..e9600f45d4 100644
--- a/src/yvalve/utl_proto.h
+++ b/src/yvalve/utl_proto.h
@@ -82,7 +82,7 @@ namespace Firebird
void setLogin(Firebird::ClumpletWriter& dpb, bool spbFlag);
// Put status vector strings into strings circular buffer
-void makePermanentVector(ISC_STATUS* v) throw();
+void makePermanentVector(ISC_STATUS* v) noexcept;
namespace Why
{
diff --git a/src/yvalve/why.cpp b/src/yvalve/why.cpp
index 5432501068..0af0f9d017 100644
--- a/src/yvalve/why.cpp
+++ b/src/yvalve/why.cpp
@@ -876,7 +876,7 @@ namespace Why
class StatusVector : public AutoIface >
{
public:
- explicit StatusVector(ISC_STATUS* v = NULL) throw()
+ explicit StatusVector(ISC_STATUS* v = NULL) noexcept
: localVector(v ? v : localStatus)
{ }