mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-02-02 09:20:39 +01:00
Add noexcept(false) to most of dtors
This commit is contained in:
parent
5327ed835c
commit
957768cab0
4
extern/cloop/src/cloop/Generator.cpp
vendored
4
extern/cloop/src/cloop/Generator.cpp
vendored
@ -322,7 +322,7 @@ void CppGenerator::generate()
|
||||
fprintf(out, "\t\t{\n");
|
||||
fprintf(out, "\t\t}\n");
|
||||
fprintf(out, "\n");
|
||||
fprintf(out, "\t\t~%s%s()\n", prefix.c_str(), interface->name.c_str());
|
||||
fprintf(out, "\t\t~%s%s() noexcept(false)\n", prefix.c_str(), interface->name.c_str());
|
||||
fprintf(out, "\t\t{\n");
|
||||
fprintf(out, "\t\t}\n");
|
||||
fprintf(out, "\n");
|
||||
@ -656,7 +656,7 @@ void CppGenerator::generate()
|
||||
fprintf(out, "\t\t}\n");
|
||||
fprintf(out, "\n");
|
||||
fprintf(out, "\tpublic:\n");
|
||||
fprintf(out, "\t\tvirtual ~%s%sImpl()\n", prefix.c_str(), interface->name.c_str());
|
||||
fprintf(out, "\t\tvirtual ~%s%sImpl() noexcept(false)\n", prefix.c_str(), interface->name.c_str());
|
||||
fprintf(out, "\t\t{\n");
|
||||
fprintf(out, "\t\t}\n");
|
||||
fprintf(out, "\n");
|
||||
|
20
extern/cloop/src/tests/test1/CalcCppApi.h
vendored
20
extern/cloop/src/tests/test1/CalcCppApi.h
vendored
@ -71,7 +71,7 @@ namespace calc
|
||||
{
|
||||
}
|
||||
|
||||
~IDisposable()
|
||||
~IDisposable() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ namespace calc
|
||||
{
|
||||
}
|
||||
|
||||
~IStatus()
|
||||
~IStatus() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ namespace calc
|
||||
{
|
||||
}
|
||||
|
||||
~IFactory()
|
||||
~IFactory() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -200,7 +200,7 @@ namespace calc
|
||||
{
|
||||
}
|
||||
|
||||
~ICalculator()
|
||||
~ICalculator() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -266,7 +266,7 @@ namespace calc
|
||||
{
|
||||
}
|
||||
|
||||
~ICalculator2()
|
||||
~ICalculator2() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -340,7 +340,7 @@ namespace calc
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~IDisposableImpl()
|
||||
virtual ~IDisposableImpl() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -416,7 +416,7 @@ namespace calc
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~IStatusImpl()
|
||||
virtual ~IStatusImpl() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -528,7 +528,7 @@ namespace calc
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~IFactoryImpl()
|
||||
virtual ~IFactoryImpl() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -638,7 +638,7 @@ namespace calc
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~ICalculatorImpl()
|
||||
virtual ~ICalculatorImpl() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -790,7 +790,7 @@ namespace calc
|
||||
}
|
||||
|
||||
public:
|
||||
virtual ~ICalculator2Impl()
|
||||
virtual ~ICalculator2Impl() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
~Instance()
|
||||
~Instance() noexcept(false)
|
||||
{
|
||||
if (hasData())
|
||||
{
|
||||
|
@ -96,7 +96,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
~Message()
|
||||
~Message() noexcept(false)
|
||||
{
|
||||
delete[] buffer;
|
||||
#ifndef INTERNAL_FIREBIRD
|
||||
|
@ -77,7 +77,7 @@ public:
|
||||
fb_assert(!m_prev_item || m_prev_item == item);
|
||||
}
|
||||
|
||||
~BurpGblHolder()
|
||||
~BurpGblHolder() noexcept(false)
|
||||
{
|
||||
BurpGlobals* gbl = BurpGlobals::getSpecific();
|
||||
gbl->taskItem = m_prev_item;
|
||||
@ -140,7 +140,7 @@ BackupRelationTask::BackupRelationTask(BurpGlobals* tdgbl) : Task(),
|
||||
}
|
||||
}
|
||||
|
||||
BackupRelationTask::~BackupRelationTask()
|
||||
BackupRelationTask::~BackupRelationTask() noexcept(false)
|
||||
{
|
||||
for (Item** p = m_items.begin(); p < m_items.end(); p++)
|
||||
{
|
||||
@ -612,7 +612,7 @@ bool BackupRelationTask::fileWriter(Item& item)
|
||||
return true;
|
||||
}
|
||||
|
||||
BackupRelationTask::Item::EnsureUnlockBuffer::~EnsureUnlockBuffer()
|
||||
BackupRelationTask::Item::EnsureUnlockBuffer::~EnsureUnlockBuffer() noexcept(false)
|
||||
{
|
||||
if (m_item && m_item->m_buffer)
|
||||
m_item->m_buffer->unlock(true);
|
||||
@ -1098,7 +1098,7 @@ void RestoreRelationTask::putCleanBuffer(IOBuffer* buf)
|
||||
m_cleanBuffers.push(buf);
|
||||
}
|
||||
|
||||
RestoreRelationTask::Item::EnsureUnlockBuffer::~EnsureUnlockBuffer()
|
||||
RestoreRelationTask::Item::EnsureUnlockBuffer::~EnsureUnlockBuffer() noexcept(false)
|
||||
{
|
||||
if (m_item && m_item->m_buffer)
|
||||
m_item->m_buffer->unlock(true);
|
||||
|
@ -81,7 +81,7 @@ public:
|
||||
m_request = 0;
|
||||
}
|
||||
|
||||
~ReadRelationReq()
|
||||
~ReadRelationReq() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
}
|
||||
@ -177,7 +177,7 @@ public:
|
||||
m_resync = true;
|
||||
}
|
||||
|
||||
~WriteRelationReq()
|
||||
~WriteRelationReq() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
}
|
||||
@ -239,7 +239,7 @@ class BackupRelationTask : public Firebird::Task
|
||||
{
|
||||
public:
|
||||
BackupRelationTask(BurpGlobals* tdgbl);
|
||||
~BackupRelationTask();
|
||||
~BackupRelationTask() noexcept(false);
|
||||
|
||||
void SetRelation(burp_rel* relation);
|
||||
|
||||
@ -273,7 +273,7 @@ public:
|
||||
{
|
||||
public:
|
||||
EnsureUnlockBuffer(Item* item) : m_item(item) {}
|
||||
~EnsureUnlockBuffer();
|
||||
~EnsureUnlockBuffer() noexcept(false);
|
||||
|
||||
private:
|
||||
Item* m_item;
|
||||
@ -346,7 +346,7 @@ class RestoreRelationTask : public Firebird::Task
|
||||
{
|
||||
public:
|
||||
RestoreRelationTask(BurpGlobals* tdgbl);
|
||||
~RestoreRelationTask();
|
||||
~RestoreRelationTask() noexcept(false);
|
||||
|
||||
void SetRelation(BurpGlobals* tdgbl, burp_rel* relation);
|
||||
|
||||
@ -378,7 +378,7 @@ public:
|
||||
{
|
||||
public:
|
||||
EnsureUnlockBuffer(Item* item) : m_item(item) {}
|
||||
~EnsureUnlockBuffer();
|
||||
~EnsureUnlockBuffer() noexcept(false);
|
||||
|
||||
private:
|
||||
Item* m_item;
|
||||
@ -593,7 +593,7 @@ public:
|
||||
m_task->burpOutMutex.enter(FB_FUNCTION);
|
||||
}
|
||||
|
||||
~BurpMaster()
|
||||
~BurpMaster() noexcept(false)
|
||||
{
|
||||
if (m_task)
|
||||
m_task->burpOutMutex.leave();
|
||||
|
@ -946,7 +946,7 @@ public:
|
||||
: gbl_pool(ownPool ? MemoryPool::createPool(getDefaultMemoryPool()) : getDefaultMemoryPool())
|
||||
{ }
|
||||
|
||||
~GblPool()
|
||||
~GblPool() noexcept(false)
|
||||
{
|
||||
if (gbl_pool != getDefaultMemoryPool())
|
||||
Firebird::MemoryPool::deletePool(gbl_pool);
|
||||
|
@ -788,7 +788,7 @@ SimilarToRegex::SimilarToRegex(MemoryPool& pool, unsigned flags,
|
||||
finalizer = pool.registerFinalizer(finalize, this);
|
||||
}
|
||||
|
||||
SimilarToRegex::~SimilarToRegex()
|
||||
SimilarToRegex::~SimilarToRegex() noexcept(false)
|
||||
{
|
||||
getPool().unregisterFinalizer(finalizer);
|
||||
}
|
||||
@ -860,7 +860,7 @@ SubstringSimilarRegex::SubstringSimilarRegex(MemoryPool& pool, unsigned flags,
|
||||
finalizer = pool.registerFinalizer(finalize, this);
|
||||
}
|
||||
|
||||
SubstringSimilarRegex::~SubstringSimilarRegex()
|
||||
SubstringSimilarRegex::~SubstringSimilarRegex() noexcept(false)
|
||||
{
|
||||
getPool().unregisterFinalizer(finalizer);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ public:
|
||||
public:
|
||||
SimilarToRegex(MemoryPool& pool, unsigned flags,
|
||||
const char* patternStr, unsigned patternLen, const char* escapeStr, unsigned escapeLen);
|
||||
~SimilarToRegex();
|
||||
~SimilarToRegex() noexcept(false);
|
||||
|
||||
public:
|
||||
static bool isSpecialChar(ULONG c)
|
||||
@ -96,7 +96,7 @@ class SubstringSimilarRegex : public PermanentStorage
|
||||
public:
|
||||
SubstringSimilarRegex(MemoryPool& pool, unsigned flags,
|
||||
const char* patternStr, unsigned patternLen, const char* escapeStr, unsigned escapeLen);
|
||||
~SubstringSimilarRegex();
|
||||
~SubstringSimilarRegex() noexcept(false);
|
||||
|
||||
private:
|
||||
static void finalize(SubstringSimilarRegex* self);
|
||||
|
@ -85,7 +85,7 @@ protected:
|
||||
virtual bool compare(const StatusVector& /*v*/) const noexcept { return false; }
|
||||
|
||||
ImplBase(ISC_STATUS k, ISC_STATUS c) noexcept : kind(k), code(c) { }
|
||||
virtual ~ImplBase() { }
|
||||
virtual ~ImplBase() noexcept(false) { }
|
||||
};
|
||||
|
||||
Base(ISC_STATUS k, ISC_STATUS c);
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
fb_utils::init_status(this->getBuffer(3));
|
||||
}
|
||||
|
||||
~DynamicVector()
|
||||
~DynamicVector() noexcept(false)
|
||||
{
|
||||
delete[] findDynamicStrings(this->getCount(), this->begin());
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ bool Worker::waitFor(int timeout)
|
||||
|
||||
/// class Coordinator
|
||||
|
||||
Coordinator::~Coordinator()
|
||||
Coordinator::~Coordinator() noexcept(false)
|
||||
{
|
||||
MutexLockGuard guard(m_mutex, FB_FUNCTION);
|
||||
|
||||
|
@ -49,7 +49,7 @@ class Task
|
||||
{
|
||||
public:
|
||||
Task() {};
|
||||
virtual ~Task() {};
|
||||
virtual ~Task() noexcept(false) {};
|
||||
|
||||
// task item to handle
|
||||
class WorkItem
|
||||
@ -59,7 +59,7 @@ public:
|
||||
m_task(task)
|
||||
{}
|
||||
|
||||
virtual ~WorkItem() {}
|
||||
virtual ~WorkItem() noexcept(false) {}
|
||||
|
||||
Task* m_task;
|
||||
};
|
||||
@ -84,7 +84,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~Worker() {}
|
||||
virtual ~Worker() noexcept(false) {}
|
||||
|
||||
void setTask(Task* task)
|
||||
{
|
||||
@ -119,7 +119,7 @@ public:
|
||||
m_activeThreads(*m_pool)
|
||||
{}
|
||||
|
||||
~Coordinator();
|
||||
~Coordinator() noexcept(false);
|
||||
|
||||
void runSync(Task*);
|
||||
|
||||
@ -165,7 +165,7 @@ class WorkerThread final
|
||||
public:
|
||||
enum STATE {STARTING, IDLE, RUNNING, STOPPING, SHUTDOWN};
|
||||
|
||||
~WorkerThread()
|
||||
~WorkerThread() noexcept(false)
|
||||
{
|
||||
shutdown(true);
|
||||
|
||||
|
@ -82,7 +82,7 @@ public:
|
||||
// Different versions of clumplets may have different kinds
|
||||
ClumpletReader(const KindList* kl, const UCHAR* buffer, FB_SIZE_T buffLen, FPTR_VOID raise = NULL);
|
||||
ClumpletReader(MemoryPool& pool, const KindList* kl, const UCHAR* buffer, FB_SIZE_T buffLen, FPTR_VOID raise = NULL);
|
||||
virtual ~ClumpletReader() { }
|
||||
virtual ~ClumpletReader() noexcept(false) { }
|
||||
|
||||
// Create a copy of reader
|
||||
ClumpletReader(MemoryPool& pool, const ClumpletReader& from);
|
||||
|
@ -34,7 +34,7 @@ namespace Firebird {
|
||||
class File
|
||||
{
|
||||
public:
|
||||
virtual ~File() {}
|
||||
virtual ~File() noexcept(false) {}
|
||||
|
||||
virtual FB_SIZE_T read(offset_t, void*, FB_SIZE_T) = 0;
|
||||
virtual FB_SIZE_T write(offset_t, const void*, FB_SIZE_T) = 0;
|
||||
|
@ -145,7 +145,7 @@ public:
|
||||
: AutoStorage(a_pool), tree(&getPool()), mCount(0)
|
||||
{ }
|
||||
|
||||
~GenericMap()
|
||||
~GenericMap() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ private:
|
||||
check(&status);
|
||||
}
|
||||
|
||||
void removePlugin()
|
||||
void removePlugin() noexcept
|
||||
{
|
||||
if (hasData())
|
||||
{
|
||||
|
@ -96,7 +96,7 @@ namespace Firebird
|
||||
public:
|
||||
Entry() : previousElement(NULL) { }
|
||||
|
||||
virtual ~Entry()
|
||||
virtual ~Entry() noexcept(false)
|
||||
{
|
||||
unLink();
|
||||
}
|
||||
@ -172,7 +172,7 @@ namespace Firebird
|
||||
clean();
|
||||
}
|
||||
|
||||
~HashTable()
|
||||
~HashTable() noexcept(false)
|
||||
{
|
||||
// by default we let hash entries be cleaned by someone else
|
||||
cleanup(NULL);
|
||||
@ -346,7 +346,7 @@ namespace Firebird
|
||||
class HashContext
|
||||
{
|
||||
public:
|
||||
virtual ~HashContext()
|
||||
virtual ~HashContext() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -377,7 +377,7 @@ namespace Firebird
|
||||
LibTomCryptHashContext(MemoryPool& pool, const Descriptor* descriptor);
|
||||
|
||||
public:
|
||||
virtual ~LibTomCryptHashContext();
|
||||
virtual ~LibTomCryptHashContext() noexcept(false);
|
||||
|
||||
public:
|
||||
virtual void update(const void* data, FB_SIZE_T length);
|
||||
@ -441,7 +441,7 @@ namespace Firebird
|
||||
{
|
||||
public:
|
||||
Crc32HashContext(MemoryPool& pool);
|
||||
~Crc32HashContext();
|
||||
~Crc32HashContext() noexcept(false);
|
||||
|
||||
virtual void update(const void* data, FB_SIZE_T length);
|
||||
virtual void finish(dsc& result);
|
||||
|
@ -52,6 +52,7 @@ class VersionedIface : public C
|
||||
{
|
||||
public:
|
||||
VersionedIface() { }
|
||||
~VersionedIface() noexcept(false) { }
|
||||
|
||||
private:
|
||||
VersionedIface(const VersionedIface&);
|
||||
@ -63,7 +64,7 @@ template <class C>
|
||||
class AutoIface : public VersionedIface<C>
|
||||
{
|
||||
public:
|
||||
AutoIface() { }
|
||||
AutoIface() noexcept(false) { }
|
||||
};
|
||||
|
||||
// Helps to implement disposable interfaces
|
||||
@ -71,7 +72,7 @@ template <class C>
|
||||
class DisposeIface : public VersionedIface<C>, public GlobalStorage
|
||||
{
|
||||
public:
|
||||
DisposeIface() { }
|
||||
DisposeIface() noexcept(false) { }
|
||||
|
||||
void dispose() override
|
||||
{
|
||||
@ -99,7 +100,7 @@ public:
|
||||
#endif
|
||||
|
||||
protected:
|
||||
virtual ~RefCntIface()
|
||||
virtual ~RefCntIface() noexcept(false)
|
||||
{
|
||||
refCntDPrt('_');
|
||||
fb_assert(refCounter == 0);
|
||||
@ -309,7 +310,7 @@ public:
|
||||
flagOsUnload = true;
|
||||
}
|
||||
|
||||
~UnloadDetectorHelper()
|
||||
~UnloadDetectorHelper() noexcept(false)
|
||||
{
|
||||
if (flagOsUnload)
|
||||
{
|
||||
|
@ -56,7 +56,7 @@ namespace Firebird
|
||||
protected:
|
||||
RefCounted() : m_refCnt(0) {}
|
||||
|
||||
virtual ~RefCounted()
|
||||
virtual ~RefCounted() noexcept(false)
|
||||
{
|
||||
fb_assert(m_refCnt.value() == 0);
|
||||
}
|
||||
@ -133,7 +133,7 @@ namespace Firebird
|
||||
r.ptr = nullptr;
|
||||
}
|
||||
|
||||
~RefPtr()
|
||||
~RefPtr() noexcept(false)
|
||||
{
|
||||
if (ptr)
|
||||
{
|
||||
|
@ -57,7 +57,7 @@ namespace Firebird
|
||||
lock->enter(f);
|
||||
}
|
||||
|
||||
~RefMutexGuard()
|
||||
~RefMutexGuard() noexcept(false)
|
||||
{
|
||||
lock->leave();
|
||||
}
|
||||
@ -117,7 +117,7 @@ namespace Firebird
|
||||
RefCounted<Mtx>::addRef(m_mutex);
|
||||
}
|
||||
|
||||
~EnsureUnlock()
|
||||
~EnsureUnlock() noexcept(false)
|
||||
{
|
||||
while (m_locked)
|
||||
leave();
|
||||
@ -183,7 +183,7 @@ namespace Firebird
|
||||
m_ref->addRef();
|
||||
}
|
||||
|
||||
~LateRefGuard()
|
||||
~LateRefGuard() noexcept(false)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -143,7 +143,7 @@ public:
|
||||
fb_assert(obj);
|
||||
}
|
||||
|
||||
~Sync()
|
||||
~Sync() noexcept(false)
|
||||
{
|
||||
fb_assert(state != SYNC_INVALID);
|
||||
|
||||
@ -232,7 +232,7 @@ public:
|
||||
lock(type);
|
||||
}
|
||||
|
||||
~SyncLockGuard()
|
||||
~SyncLockGuard() noexcept(false)
|
||||
{
|
||||
if (state != SYNC_NONE)
|
||||
unlock();
|
||||
@ -252,7 +252,7 @@ public:
|
||||
sync.unlock();
|
||||
}
|
||||
|
||||
~SyncUnlockGuard()
|
||||
~SyncUnlockGuard() noexcept(false)
|
||||
{
|
||||
if (oldState != SYNC_NONE)
|
||||
sync.lock(oldState);
|
||||
|
@ -31,7 +31,7 @@ class UserBlob
|
||||
{
|
||||
public:
|
||||
explicit UserBlob(ISC_STATUS* status);
|
||||
~UserBlob();
|
||||
~UserBlob() noexcept(false);
|
||||
bool open(FB_API_HANDLE& db, FB_API_HANDLE& trans, ISC_QUAD& blobid);
|
||||
bool open(FB_API_HANDLE& db, FB_API_HANDLE& trans, ISC_QUAD& blobid,
|
||||
USHORT bpb_len, const UCHAR* bpb);
|
||||
@ -71,7 +71,7 @@ inline UserBlob::UserBlob(ISC_STATUS* status)
|
||||
memset(m_default_status, 0, sizeof(m_default_status));
|
||||
}
|
||||
|
||||
inline UserBlob::~UserBlob()
|
||||
inline UserBlob::~UserBlob() noexcept(false)
|
||||
{
|
||||
close(true);
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ public:
|
||||
add(item);
|
||||
}
|
||||
|
||||
~Array()
|
||||
~Array() noexcept(false)
|
||||
{
|
||||
freeData();
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ public:
|
||||
v.ptr = nullptr;
|
||||
}
|
||||
|
||||
~AutoPtr()
|
||||
~AutoPtr() noexcept(false)
|
||||
{
|
||||
Clear<Where>::clear(ptr);
|
||||
}
|
||||
@ -212,7 +212,7 @@ public:
|
||||
oldValue(*aValue)
|
||||
{ }
|
||||
|
||||
~AutoSaveRestore()
|
||||
~AutoSaveRestore() noexcept(false)
|
||||
{
|
||||
*value = oldValue;
|
||||
}
|
||||
@ -286,7 +286,7 @@ public:
|
||||
(aPointer->*aSetter)(newValue);
|
||||
}
|
||||
|
||||
~AutoSetRestore2()
|
||||
~AutoSetRestore2() noexcept(false)
|
||||
{
|
||||
(pointer->*setter)(oldValue);
|
||||
}
|
||||
@ -310,7 +310,7 @@ public:
|
||||
: clean(clFunc)
|
||||
{ }
|
||||
|
||||
~Cleanup()
|
||||
~Cleanup() noexcept(false)
|
||||
{
|
||||
clean();
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ public:
|
||||
Condition() { init(); }
|
||||
explicit Condition(MemoryPool&) { init(); }
|
||||
|
||||
~Condition()
|
||||
~Condition() noexcept(false)
|
||||
{
|
||||
if (events[SIGNAL] && !CloseHandle(events[SIGNAL]))
|
||||
system_call_failed::raise("CloseHandle(SIGNAL)");
|
||||
@ -163,7 +163,7 @@ public:
|
||||
Condition() { init(); }
|
||||
explicit Condition(MemoryPool&) { init(); }
|
||||
|
||||
~Condition()
|
||||
~Condition() noexcept(false)
|
||||
{
|
||||
int err = pthread_cond_destroy(&cv);
|
||||
if (err != 0)
|
||||
|
@ -251,7 +251,7 @@ public:
|
||||
instance = inst;
|
||||
}
|
||||
|
||||
~TraditionalDelete()
|
||||
~TraditionalDelete() noexcept(false)
|
||||
{
|
||||
if (instance)
|
||||
instance->dtor();
|
||||
|
@ -79,7 +79,7 @@ public:
|
||||
InitializeCriticalSection(&spinlock);
|
||||
}
|
||||
|
||||
~Mutex()
|
||||
~Mutex() noexcept(false)
|
||||
{
|
||||
#if defined DEV_BUILD
|
||||
if (spinlock.OwningThread != 0)
|
||||
@ -196,7 +196,7 @@ public:
|
||||
Mutex() { init(); }
|
||||
explicit Mutex(MemoryPool&) { init(); }
|
||||
|
||||
~Mutex()
|
||||
~Mutex() noexcept(false)
|
||||
{
|
||||
fb_assert(lockCount == 0);
|
||||
int rc = pthread_mutex_destroy(&mlock);
|
||||
@ -290,7 +290,7 @@ public:
|
||||
system_call_failed::raise("pthread_spin_init");
|
||||
}
|
||||
|
||||
~Spinlock()
|
||||
~Spinlock() noexcept(false)
|
||||
{
|
||||
if (pthread_spin_destroy(&spinlock))
|
||||
system_call_failed::raise("pthread_spin_destroy");
|
||||
@ -338,7 +338,7 @@ public:
|
||||
lock->enter(aReason);
|
||||
}
|
||||
|
||||
~RaiiLockGuard()
|
||||
~RaiiLockGuard() noexcept(false)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -384,7 +384,7 @@ public:
|
||||
lock->leave();
|
||||
}
|
||||
|
||||
~RaiiUnlockGuard()
|
||||
~RaiiUnlockGuard() noexcept(false)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -79,7 +79,7 @@ private:
|
||||
public:
|
||||
RWLock() { init(); }
|
||||
explicit RWLock(Firebird::MemoryPool&) { init(); }
|
||||
~RWLock()
|
||||
~RWLock() noexcept(false)
|
||||
{
|
||||
if (readers_semaphore && !CloseHandle(readers_semaphore))
|
||||
system_call_failed::raise("CloseHandle");
|
||||
@ -229,7 +229,7 @@ public:
|
||||
RWLock() { init(); }
|
||||
explicit RWLock(class MemoryPool&) { init(); }
|
||||
|
||||
~RWLock()
|
||||
~RWLock() noexcept(false)
|
||||
{
|
||||
#ifdef DEV_BUILD
|
||||
fb_assert(lockCounter.value() == 0);
|
||||
@ -337,7 +337,7 @@ public:
|
||||
lock->beginRead(aReason);
|
||||
}
|
||||
|
||||
~ReadLockGuard()
|
||||
~ReadLockGuard() noexcept(false)
|
||||
{
|
||||
release();
|
||||
}
|
||||
@ -376,7 +376,7 @@ public:
|
||||
lock->beginWrite(aReason);
|
||||
}
|
||||
|
||||
~WriteLockGuard()
|
||||
~WriteLockGuard() noexcept(false)
|
||||
{
|
||||
release();
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ namespace Firebird {
|
||||
system_call_failed::raise("CreateSemaphore");
|
||||
}
|
||||
|
||||
Semaphore::~Semaphore()
|
||||
Semaphore::~Semaphore() noexcept(false)
|
||||
{
|
||||
if (hSemaphore && !CloseHandle(hSemaphore))
|
||||
system_call_failed::raise("CloseHandle");
|
||||
@ -108,7 +108,7 @@ namespace Firebird {
|
||||
}
|
||||
}
|
||||
|
||||
SignalSafeSemaphore::~SignalSafeSemaphore()
|
||||
SignalSafeSemaphore::~SignalSafeSemaphore() noexcept(false)
|
||||
{
|
||||
dispatch_release(semaphore);
|
||||
}
|
||||
@ -141,7 +141,7 @@ static const char* semName = "/firebird_temp_sem";
|
||||
#endif
|
||||
}
|
||||
|
||||
SignalSafeSemaphore::~SignalSafeSemaphore()
|
||||
SignalSafeSemaphore::~SignalSafeSemaphore() noexcept(false)
|
||||
{
|
||||
#ifdef WORKING_SEM_INIT
|
||||
if (sem_destroy(sem) == -1) {
|
||||
|
@ -61,7 +61,7 @@ public:
|
||||
Semaphore() { init(); }
|
||||
explicit Semaphore(MemoryPool&) { init(); }
|
||||
|
||||
~Semaphore();
|
||||
~Semaphore() noexcept(false);
|
||||
|
||||
#define CLASSES_SEMAPHORE_H_HAS_TRYENTER 1
|
||||
bool tryEnter(const int seconds = 0, int milliseconds = 0);
|
||||
@ -104,7 +104,7 @@ public:
|
||||
SignalSafeSemaphore() { init(); }
|
||||
explicit SignalSafeSemaphore(MemoryPool&) { init(); }
|
||||
|
||||
~SignalSafeSemaphore();
|
||||
~SignalSafeSemaphore() noexcept(false);
|
||||
|
||||
void enter()
|
||||
{
|
||||
@ -156,7 +156,7 @@ public:
|
||||
SignalSafeSemaphore() { init(); }
|
||||
explicit SignalSafeSemaphore(MemoryPool&) { init(); }
|
||||
|
||||
~SignalSafeSemaphore();
|
||||
~SignalSafeSemaphore() noexcept(false);
|
||||
void enter();
|
||||
|
||||
void release(SLONG count = 1)
|
||||
@ -226,7 +226,7 @@ public:
|
||||
Semaphore() { init(); }
|
||||
explicit Semaphore(MemoryPool&) { init(); }
|
||||
|
||||
~Semaphore();
|
||||
~Semaphore() noexcept(false);
|
||||
|
||||
bool tryEnter(const int seconds = 0, int milliseconds = 0);
|
||||
void enter();
|
||||
|
@ -196,7 +196,7 @@ namespace Firebird {
|
||||
stack.push(o);
|
||||
}
|
||||
|
||||
~AutoPushPop()
|
||||
~AutoPushPop() noexcept(false)
|
||||
{
|
||||
stack.pop();
|
||||
}
|
||||
@ -215,7 +215,7 @@ namespace Firebird {
|
||||
{
|
||||
}
|
||||
|
||||
~AutoRestore()
|
||||
~AutoRestore() noexcept(false)
|
||||
{
|
||||
FB_SIZE_T currentCount = stack.getCount();
|
||||
fb_assert(currentCount >= count);
|
||||
|
@ -183,7 +183,7 @@ public:
|
||||
level = 0;
|
||||
}
|
||||
|
||||
~BePlusTree()
|
||||
~BePlusTree() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
pool->deallocate(root);
|
||||
|
@ -266,7 +266,7 @@ ConfigFile::ConfigFile(MemoryPool& p, ConfigFile::Stream* s, USHORT fl)
|
||||
parse(s);
|
||||
}
|
||||
|
||||
ConfigFile::Stream::~Stream()
|
||||
ConfigFile::Stream::~Stream() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ public:
|
||||
class Stream
|
||||
{
|
||||
public:
|
||||
virtual ~Stream();
|
||||
virtual ~Stream() noexcept(false);
|
||||
virtual bool getLine(String&, unsigned int&) = 0;
|
||||
virtual const char* getFileName() const = 0;
|
||||
};
|
||||
|
@ -105,7 +105,7 @@ public:
|
||||
: ObjectsArray<ParsedPath>(), mode(NotInitialized)
|
||||
{ }
|
||||
|
||||
virtual ~DirectoryList() {clear();}
|
||||
virtual ~DirectoryList() noexcept(false) {clear();}
|
||||
|
||||
// Check, whether Path is inside this DirectoryList
|
||||
bool isPathInList(const PathName& path) const;
|
||||
|
@ -193,7 +193,7 @@ public:
|
||||
typedef void InitFunction(int fd);
|
||||
explicit FileLock(const char* fileName, InitFunction* init = NULL); // main ctor
|
||||
FileLock(const FileLock* main, int s); // creates additional lock for existing file
|
||||
~FileLock();
|
||||
~FileLock() noexcept(false);
|
||||
|
||||
// Main function to lock file
|
||||
int setlock(const LockMode mode);
|
||||
@ -263,7 +263,7 @@ class SharedMemoryBase
|
||||
{
|
||||
public:
|
||||
SharedMemoryBase(const TEXT* fileName, ULONG size, IpcObject* cb, bool skipLock);
|
||||
~SharedMemoryBase();
|
||||
~SharedMemoryBase() noexcept(false);
|
||||
|
||||
#ifdef HAVE_OBJECT_MAP
|
||||
UCHAR* mapObject(Firebird::CheckStatusWrapper* status, ULONG offset, ULONG size);
|
||||
@ -412,7 +412,7 @@ public:
|
||||
return m_locked;
|
||||
}
|
||||
|
||||
~SharedMutexGuard()
|
||||
~SharedMutexGuard() noexcept(false)
|
||||
{
|
||||
if (m_locked)
|
||||
m_shmem->mutexUnlock();
|
||||
|
@ -362,7 +362,7 @@ namespace {
|
||||
status_exception::raise(&status);
|
||||
}
|
||||
|
||||
~FileLockHolder()
|
||||
~FileLockHolder() noexcept(false)
|
||||
{
|
||||
if (lock)
|
||||
lock->unlock();
|
||||
@ -444,7 +444,7 @@ FileLock::FileLock(const char* fileName, InitFunction* init)
|
||||
}
|
||||
|
||||
|
||||
FileLock::~FileLock()
|
||||
FileLock::~FileLock() noexcept(false)
|
||||
{
|
||||
unlock();
|
||||
|
||||
@ -2884,7 +2884,7 @@ void SharedMemoryBase::mutexUnlock()
|
||||
}
|
||||
|
||||
|
||||
SharedMemoryBase::~SharedMemoryBase()
|
||||
SharedMemoryBase::~SharedMemoryBase() noexcept(false)
|
||||
{
|
||||
/**************************************
|
||||
*
|
||||
|
@ -366,7 +366,7 @@ namespace os_utils
|
||||
{
|
||||
public:
|
||||
CtrlCHandler();
|
||||
~CtrlCHandler();
|
||||
~CtrlCHandler() noexcept(false);
|
||||
|
||||
bool getTerminated() const
|
||||
{
|
||||
|
@ -122,7 +122,7 @@ namespace {
|
||||
{
|
||||
sigActive = true;
|
||||
}
|
||||
~SignalMutex()
|
||||
~SignalMutex() noexcept(false)
|
||||
{
|
||||
Firebird::MutexLockGuard guard(mutex, "~SignalMutex()");
|
||||
sigActive = false;
|
||||
|
@ -444,7 +444,7 @@ CtrlCHandler::CtrlCHandler()
|
||||
procTerm = ISC_signal(SIGTERM, handler, 0);
|
||||
}
|
||||
|
||||
CtrlCHandler::~CtrlCHandler()
|
||||
CtrlCHandler::~CtrlCHandler() noexcept(false)
|
||||
{
|
||||
if (procInt)
|
||||
ISC_signal_cancel(SIGINT, handler, 0);
|
||||
|
@ -630,7 +630,7 @@ CtrlCHandler::CtrlCHandler()
|
||||
SetConsoleCtrlHandler(handler, TRUE);
|
||||
}
|
||||
|
||||
CtrlCHandler::~CtrlCHandler()
|
||||
CtrlCHandler::~CtrlCHandler() noexcept(false)
|
||||
{
|
||||
SetConsoleCtrlHandler(handler, FALSE);
|
||||
}
|
||||
|
@ -497,7 +497,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~ICUModules()
|
||||
~ICUModules() noexcept(false)
|
||||
{
|
||||
ModulesMap::Accessor modulesAccessor(&modules);
|
||||
for (bool found = modulesAccessor.getFirst(); found; found = modulesAccessor.getNext())
|
||||
|
@ -201,7 +201,7 @@ typedef Firebird::GenericMap<
|
||||
class ExecInSecurityDb
|
||||
{
|
||||
public:
|
||||
virtual ~ExecInSecurityDb() { }
|
||||
virtual ~ExecInSecurityDb() noexcept(false) { }
|
||||
|
||||
void executeInSecurityDb(jrd_tra* tra);
|
||||
|
||||
@ -681,7 +681,7 @@ public:
|
||||
void store(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch, jrd_tra* transaction);
|
||||
bool modify(thread_db* tdbb, DsqlCompilerScratch* dsqlScratch, jrd_tra* transaction);
|
||||
|
||||
virtual ~TriggerDefinition()
|
||||
virtual ~TriggerDefinition() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -154,7 +154,7 @@ DsqlBatch::DsqlBatch(DsqlDmlRequest* req, const dsql_msg* /*message*/, IMessageM
|
||||
}
|
||||
|
||||
|
||||
DsqlBatch::~DsqlBatch()
|
||||
DsqlBatch::~DsqlBatch() noexcept(false)
|
||||
{
|
||||
if (m_batch)
|
||||
m_batch->resetHandle();
|
||||
|
@ -52,7 +52,7 @@ class DsqlBatch
|
||||
public:
|
||||
DsqlBatch(DsqlDmlRequest* req, const dsql_msg* message, Firebird::IMessageMetadata* inMetadata,
|
||||
Firebird::ClumpletReader& pb);
|
||||
~DsqlBatch();
|
||||
~DsqlBatch() noexcept(false);
|
||||
|
||||
static const ULONG RAM_BATCH = 128 * 1024;
|
||||
static const ULONG BUFFER_LIMIT = 16 * 1024 * 1024;
|
||||
|
@ -44,7 +44,7 @@ DsqlCursor::DsqlCursor(DsqlDmlRequest* req, ULONG flags)
|
||||
TRA_link_cursor(m_dsqlRequest->req_transaction, this);
|
||||
}
|
||||
|
||||
DsqlCursor::~DsqlCursor()
|
||||
DsqlCursor::~DsqlCursor() noexcept(false)
|
||||
{
|
||||
if (m_resultSet)
|
||||
m_resultSet->resetHandle();
|
||||
|
@ -36,7 +36,7 @@ class DsqlCursor
|
||||
|
||||
public:
|
||||
DsqlCursor(DsqlDmlRequest* req, ULONG flags);
|
||||
~DsqlCursor();
|
||||
~DsqlCursor() noexcept(false);
|
||||
|
||||
jrd_tra* getTransaction() const;
|
||||
Attachment* getAttachment() const;
|
||||
|
@ -44,7 +44,7 @@ DsqlStatementCache::DsqlStatementCache(MemoryPool& o, Attachment* attachment)
|
||||
maxCacheSize = dbb->dbb_config->getMaxStatementCacheSize();
|
||||
}
|
||||
|
||||
DsqlStatementCache::~DsqlStatementCache()
|
||||
DsqlStatementCache::~DsqlStatementCache() noexcept(false)
|
||||
{
|
||||
shutdown(JRD_get_thread_data());
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ private:
|
||||
|
||||
public:
|
||||
explicit DsqlStatementCache(MemoryPool& o, Attachment* attachment);
|
||||
~DsqlStatementCache();
|
||||
~DsqlStatementCache() noexcept(false);
|
||||
|
||||
DsqlStatementCache(const DsqlStatementCache&) = delete;
|
||||
DsqlStatementCache& operator=(const DsqlStatementCache&) = delete;
|
||||
|
@ -236,7 +236,7 @@ DsqlDmlRequest* DsqlDmlStatement::createRequest(thread_db* tdbb, dsql_dbb* dbb)
|
||||
|
||||
// DsqlDdlStatement
|
||||
|
||||
DsqlDdlStatement::~DsqlDdlStatement()
|
||||
DsqlDdlStatement::~DsqlDdlStatement() noexcept(false)
|
||||
{
|
||||
dsqlAttachment->deletePool(&scratch->getPool());
|
||||
}
|
||||
@ -298,7 +298,7 @@ DsqlDdlRequest* DsqlDdlStatement::createRequest(thread_db* tdbb, dsql_dbb* dbb)
|
||||
|
||||
// DsqlTransactionStatement
|
||||
|
||||
DsqlTransactionStatement::~DsqlTransactionStatement()
|
||||
DsqlTransactionStatement::~DsqlTransactionStatement() noexcept(false)
|
||||
{
|
||||
dsqlAttachment->deletePool(&scratch->getPool());
|
||||
}
|
||||
|
@ -262,7 +262,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~DsqlDdlStatement();
|
||||
~DsqlDdlStatement() noexcept(false);
|
||||
|
||||
public:
|
||||
bool mustBeReplicated() const override;
|
||||
@ -283,7 +283,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~DsqlTransactionStatement();
|
||||
~DsqlTransactionStatement() noexcept(false);
|
||||
|
||||
public:
|
||||
void dsqlPass(thread_db* tdbb, DsqlCompilerScratch* scratch, ntrace_result_t* traceResult) override;
|
||||
@ -303,7 +303,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~DsqlSessionManagementStatement();
|
||||
~DsqlSessionManagementStatement() noexcept(false);
|
||||
|
||||
public:
|
||||
void dsqlPass(thread_db* tdbb, DsqlCompilerScratch* scratch, ntrace_result_t* traceResult) override;
|
||||
|
@ -73,7 +73,7 @@ typedef Firebird::Array<NestConst<ValueExprNode> > NestValueArray;
|
||||
class Printable
|
||||
{
|
||||
public:
|
||||
virtual ~Printable()
|
||||
virtual ~Printable() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -116,7 +116,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~Node()
|
||||
virtual ~Node() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -203,7 +203,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~NodeCopier()
|
||||
virtual ~NodeCopier() noexcept(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -280,7 +280,7 @@ Jrd::Attachment::Attachment(MemoryPool* pool, Database* dbb, JProvider* provider
|
||||
}
|
||||
|
||||
|
||||
Jrd::Attachment::~Attachment()
|
||||
Jrd::Attachment::~Attachment() noexcept(false)
|
||||
{
|
||||
if (att_idle_timer)
|
||||
att_idle_timer->stop();
|
||||
|
@ -284,7 +284,7 @@ public:
|
||||
return threadId == getThreadId();
|
||||
}
|
||||
|
||||
~Sync()
|
||||
~Sync() noexcept(false)
|
||||
{
|
||||
if (threadId == getThreadId())
|
||||
{
|
||||
@ -417,7 +417,7 @@ public:
|
||||
init(f, optional);
|
||||
}
|
||||
|
||||
~SyncGuard()
|
||||
~SyncGuard() noexcept(false)
|
||||
{
|
||||
if (jStable)
|
||||
jStable->getSync()->leave();
|
||||
@ -854,7 +854,7 @@ public:
|
||||
|
||||
private:
|
||||
Attachment(MemoryPool* pool, Database* dbb, JProvider* provider);
|
||||
~Attachment();
|
||||
~Attachment() noexcept(false);
|
||||
|
||||
unsigned int att_idle_timeout; // seconds
|
||||
unsigned int att_stmt_timeout; // milliseconds
|
||||
@ -977,7 +977,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
~AttachmentsRefHolder()
|
||||
~AttachmentsRefHolder() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
}
|
||||
@ -1011,7 +1011,7 @@ public:
|
||||
|
||||
void initDone();
|
||||
|
||||
virtual ~SysStableAttachment()
|
||||
virtual ~SysStableAttachment() noexcept(false)
|
||||
{
|
||||
Attachment* attachment = getHandle();
|
||||
if (attachment)
|
||||
|
@ -177,7 +177,7 @@ namespace Jrd {
|
||||
hdr->hdr_end = HDR_SIZE + length;
|
||||
}
|
||||
|
||||
~CchHdr()
|
||||
~CchHdr() noexcept(false)
|
||||
{
|
||||
CCH_RELEASE(tdbb, &window);
|
||||
}
|
||||
@ -318,7 +318,7 @@ namespace Jrd {
|
||||
threadLock = FB_NEW_RPT(getPool(), 0) Lock(tdbb, 0, LCK_crypt);
|
||||
}
|
||||
|
||||
CryptoManager::~CryptoManager()
|
||||
CryptoManager::~CryptoManager() noexcept(false)
|
||||
{
|
||||
if (cryptThreadId)
|
||||
Thread::waitForCompletion(cryptThreadId);
|
||||
|
@ -104,7 +104,7 @@ public:
|
||||
bs.ioBegin(tdbb);
|
||||
}
|
||||
|
||||
~IoGuard()
|
||||
~IoGuard() noexcept(false)
|
||||
{
|
||||
bs.ioEnd(tdbb);
|
||||
}
|
||||
@ -131,7 +131,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
~LockGuard()
|
||||
~LockGuard() noexcept(false)
|
||||
{
|
||||
if (flagLocked)
|
||||
{
|
||||
@ -269,7 +269,7 @@ public:
|
||||
typedef Firebird::GetPlugins<Firebird::IDbCryptPlugin> Factory;
|
||||
|
||||
explicit CryptoManager(thread_db* tdbb);
|
||||
~CryptoManager();
|
||||
~CryptoManager() noexcept(false);
|
||||
|
||||
void shutdown(thread_db* tdbb);
|
||||
|
||||
|
@ -135,7 +135,7 @@ namespace Jrd
|
||||
return dbb_file_id;
|
||||
}
|
||||
|
||||
Database::~Database()
|
||||
Database::~Database() noexcept(false)
|
||||
{
|
||||
if (dbb_linger_timer)
|
||||
{
|
||||
@ -533,7 +533,7 @@ namespace Jrd
|
||||
return entry->holder;
|
||||
}
|
||||
|
||||
Database::GlobalObjectHolder::~GlobalObjectHolder()
|
||||
Database::GlobalObjectHolder::~GlobalObjectHolder() noexcept(false)
|
||||
{
|
||||
// dtor is executed under g_mutex protection
|
||||
Database::GlobalObjectHolder::DbId* entry = g_hashTable->lookup(m_id);
|
||||
|
@ -302,7 +302,7 @@ class Database : public pool_alloc<type_dbb>
|
||||
|
||||
int release() const override;
|
||||
|
||||
~GlobalObjectHolder();
|
||||
~GlobalObjectHolder() noexcept(false);
|
||||
|
||||
LockManager* getLockManager();
|
||||
EventManager* getEventManager();
|
||||
@ -618,7 +618,7 @@ private:
|
||||
dbb_pools.add(p);
|
||||
}
|
||||
|
||||
~Database();
|
||||
~Database() noexcept(false);
|
||||
|
||||
public:
|
||||
AttNumber generateAttachmentId();
|
||||
|
@ -98,7 +98,7 @@ struct DbgInfo : public PermanentStorage
|
||||
{
|
||||
}
|
||||
|
||||
~DbgInfo()
|
||||
~DbgInfo() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
@ -637,7 +637,7 @@ ExtEngineManager::ExternalContextImpl::ExternalContextImpl(thread_db* tdbb,
|
||||
(internalAttachment->getProvider(), internalAttachment->getInterface());
|
||||
}
|
||||
|
||||
ExtEngineManager::ExternalContextImpl::~ExternalContextImpl()
|
||||
ExtEngineManager::ExternalContextImpl::~ExternalContextImpl() noexcept(false)
|
||||
{
|
||||
releaseTransaction();
|
||||
|
||||
@ -761,7 +761,7 @@ ExtEngineManager::Function::Function(thread_db* tdbb, ExtEngineManager* aExtMana
|
||||
}
|
||||
|
||||
|
||||
ExtEngineManager::Function::~Function()
|
||||
ExtEngineManager::Function::~Function() noexcept(false)
|
||||
{
|
||||
//Database::Checkout dcoHolder(database);
|
||||
function->dispose();
|
||||
@ -798,7 +798,7 @@ ExtEngineManager::Procedure::Procedure(thread_db* tdbb, ExtEngineManager* aExtMa
|
||||
}
|
||||
|
||||
|
||||
ExtEngineManager::Procedure::~Procedure()
|
||||
ExtEngineManager::Procedure::~Procedure() noexcept(false)
|
||||
{
|
||||
//Database::Checkout dcoHolder(database);
|
||||
procedure->dispose();
|
||||
@ -838,7 +838,7 @@ ExtEngineManager::ResultSet::ResultSet(thread_db* tdbb, UCHAR* inMsg, UCHAR* out
|
||||
}
|
||||
|
||||
|
||||
ExtEngineManager::ResultSet::~ResultSet()
|
||||
ExtEngineManager::ResultSet::~ResultSet() noexcept(false)
|
||||
{
|
||||
if (resultSet)
|
||||
{
|
||||
@ -922,7 +922,7 @@ ExtEngineManager::Trigger::Trigger(thread_db* tdbb, MemoryPool& pool, CompilerSc
|
||||
}
|
||||
|
||||
|
||||
ExtEngineManager::Trigger::~Trigger()
|
||||
ExtEngineManager::Trigger::~Trigger() noexcept(false)
|
||||
{
|
||||
trigger->dispose();
|
||||
}
|
||||
@ -1127,7 +1127,7 @@ void ExtEngineManager::Trigger::setValues(thread_db* tdbb, Request* request, Arr
|
||||
//---------------------
|
||||
|
||||
|
||||
ExtEngineManager::~ExtEngineManager()
|
||||
ExtEngineManager::~ExtEngineManager() noexcept(false)
|
||||
{
|
||||
fb_assert(enginesAttachments.count() == 0);
|
||||
/*
|
||||
|
@ -151,7 +151,7 @@ private:
|
||||
|
||||
public:
|
||||
ExternalContextImpl(thread_db* tdbb, Firebird::IExternalEngine* aEngine);
|
||||
virtual ~ExternalContextImpl();
|
||||
virtual ~ExternalContextImpl() noexcept(false);
|
||||
|
||||
void releaseTransaction();
|
||||
void setTransaction(thread_db* tdbb);
|
||||
@ -231,7 +231,7 @@ public:
|
||||
RoutineMetadata* aMetadata,
|
||||
Firebird::IExternalFunction* aFunction,
|
||||
const Jrd::Function* aUdf);
|
||||
~Function();
|
||||
~Function() noexcept(false);
|
||||
|
||||
void execute(thread_db* tdbb, UCHAR* inMsg, UCHAR* outMsg) const;
|
||||
|
||||
@ -250,7 +250,7 @@ public:
|
||||
RoutineMetadata* aMetadata,
|
||||
Firebird::IExternalProcedure* aProcedure,
|
||||
const jrd_prc* aPrc);
|
||||
~Procedure();
|
||||
~Procedure() noexcept(false);
|
||||
|
||||
ResultSet* open(thread_db* tdbb, UCHAR* inMsg, UCHAR* outMsg) const;
|
||||
|
||||
@ -265,7 +265,7 @@ public:
|
||||
{
|
||||
public:
|
||||
ResultSet(thread_db* tdbb, UCHAR* inMsg, UCHAR* outMsg, const Procedure* aProcedure);
|
||||
~ResultSet();
|
||||
~ResultSet() noexcept(false);
|
||||
|
||||
bool fetch(thread_db* tdbb);
|
||||
|
||||
@ -284,7 +284,7 @@ public:
|
||||
Trigger(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, ExtEngineManager* aExtManager,
|
||||
Firebird::IExternalEngine* aEngine, RoutineMetadata* aMetadata,
|
||||
Firebird::IExternalTrigger* aTrigger, const Jrd::Trigger* aTrg);
|
||||
~Trigger();
|
||||
~Trigger() noexcept(false);
|
||||
|
||||
void execute(thread_db* tdbb, Request* request, unsigned action,
|
||||
record_param* oldRpb, record_param* newRpb) const;
|
||||
@ -307,7 +307,7 @@ public:
|
||||
|
||||
public:
|
||||
explicit ExtEngineManager(MemoryPool& p);
|
||||
~ExtEngineManager();
|
||||
~ExtEngineManager() noexcept(false);
|
||||
|
||||
public:
|
||||
static void initialize();
|
||||
|
@ -71,7 +71,7 @@ namespace Jrd
|
||||
virtual bool checkCache(thread_db* tdbb) const;
|
||||
virtual void clearCache(thread_db* tdbb);
|
||||
|
||||
virtual ~Function()
|
||||
virtual ~Function() noexcept(false)
|
||||
{
|
||||
delete fun_external;
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ void GarbageCollector::RelationData::swept(const TraNumber oldest_snapshot, Page
|
||||
}
|
||||
|
||||
|
||||
GarbageCollector::~GarbageCollector()
|
||||
GarbageCollector::~GarbageCollector() noexcept(false)
|
||||
{
|
||||
SyncLockGuard exGuard(&m_sync, SYNC_EXCLUSIVE, "GarbageCollector::~GarbageCollector");
|
||||
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
: m_pool(p), m_relations(m_pool), m_nextRelID(0)
|
||||
{}
|
||||
|
||||
~GarbageCollector();
|
||||
~GarbageCollector() noexcept(false);
|
||||
|
||||
TraNumber addPage(const USHORT relID, const ULONG pageno, const TraNumber tranid);
|
||||
PageBitmap* getPages(const TraNumber oldest_snapshot, USHORT &relID);
|
||||
@ -80,7 +80,7 @@ private:
|
||||
: m_pool(p), m_pages(p), m_relID(relID)
|
||||
{}
|
||||
|
||||
~RelationData()
|
||||
~RelationData() noexcept(false)
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ GlobalRWLock::GlobalRWLock(thread_db* tdbb, MemoryPool& p, lck_t lckType,
|
||||
memcpy(cachedLock->getKeyPtr(), lockStr, lockLen);
|
||||
}
|
||||
|
||||
GlobalRWLock::~GlobalRWLock()
|
||||
GlobalRWLock::~GlobalRWLock() noexcept(false)
|
||||
{
|
||||
delete cachedLock;
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ public:
|
||||
lck_t lckType, bool lock_caching = true,
|
||||
FB_SIZE_T lockLen = 0, const UCHAR* lockStr = NULL);
|
||||
|
||||
virtual ~GlobalRWLock();
|
||||
virtual ~GlobalRWLock() noexcept(false);
|
||||
|
||||
// This function returns false if it cannot take the lock
|
||||
bool lockWrite(thread_db* tdbb, SSHORT wait);
|
||||
|
@ -57,7 +57,7 @@ InitCDS::InitCDS(MemoryPool&)
|
||||
cds::gc::dhp::smr::construct();
|
||||
}
|
||||
|
||||
InitCDS::~InitCDS()
|
||||
InitCDS::~InitCDS() noexcept(false)
|
||||
{
|
||||
cds::gc::dhp::smr::destruct(true);
|
||||
|
||||
|
@ -43,7 +43,7 @@ class InitCDS
|
||||
public:
|
||||
|
||||
explicit InitCDS(MemoryPool&);
|
||||
~InitCDS();
|
||||
~InitCDS() noexcept(false);
|
||||
|
||||
// Creates memory pool that will not be deleted until cds finish its work.
|
||||
// Should be used to allocate structures by cds classes.
|
||||
|
@ -302,7 +302,7 @@ Mapping::Cache::Cache(const NoCaseString& aliasDb, const NoCaseString& db)
|
||||
enableDuplicates();
|
||||
}
|
||||
|
||||
Mapping::Cache::~Cache()
|
||||
Mapping::Cache::~Cache() noexcept(false)
|
||||
{
|
||||
cleanup(eraseEntry);
|
||||
}
|
||||
@ -647,7 +647,7 @@ public:
|
||||
cleanupSync(*getDefaultMemoryPool(), clearDelivery, THREAD_high)
|
||||
{ }
|
||||
|
||||
~MappingIpc()
|
||||
~MappingIpc() noexcept(false)
|
||||
{
|
||||
shutdown();
|
||||
}
|
||||
@ -964,7 +964,7 @@ private:
|
||||
data->mutexLock();
|
||||
}
|
||||
|
||||
~Guard()
|
||||
~Guard() noexcept(false)
|
||||
{
|
||||
data->mutexUnlock();
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ public:
|
||||
{
|
||||
public:
|
||||
Cache(const Firebird::NoCaseString& aliasDb, const Firebird::NoCaseString& db);
|
||||
~Cache();
|
||||
~Cache() noexcept(false);
|
||||
|
||||
bool populate(Firebird::IAttachment *att);
|
||||
void map(bool flagWild, ExtInfo& info, AuthWriter& newBlock);
|
||||
|
@ -160,7 +160,7 @@ Dictionary::Dictionary(MemoryPool& p)
|
||||
{ }
|
||||
|
||||
#if DIC_STATS > 0
|
||||
Dictionary::~Dictionary()
|
||||
Dictionary::~Dictionary() noexcept(false)
|
||||
{
|
||||
#define LINESEP "\n\t\t"
|
||||
gds__log("Dictionary statistics:" LINESEP
|
||||
|
@ -65,7 +65,7 @@ public:
|
||||
Dictionary(MemoryPool& p);
|
||||
|
||||
#if DIC_STATS > 0
|
||||
~Dictionary();
|
||||
~Dictionary() noexcept(false);
|
||||
#endif
|
||||
|
||||
class Word
|
||||
|
@ -167,7 +167,7 @@ MonitoringData::MonitoringData(Database* dbb)
|
||||
}
|
||||
|
||||
|
||||
MonitoringData::~MonitoringData()
|
||||
MonitoringData::~MonitoringData() noexcept(false)
|
||||
{
|
||||
Guard guard(this);
|
||||
|
||||
|
@ -218,7 +218,7 @@ public:
|
||||
: m_snapshot(pool), m_map(pool), m_counter(0)
|
||||
{}
|
||||
|
||||
virtual ~SnapshotData()
|
||||
virtual ~SnapshotData() noexcept(false)
|
||||
{
|
||||
clearSnapshot();
|
||||
}
|
||||
@ -274,7 +274,7 @@ public:
|
||||
data->acquire();
|
||||
}
|
||||
|
||||
~Guard()
|
||||
~Guard() noexcept(false)
|
||||
{
|
||||
data->release();
|
||||
}
|
||||
@ -321,7 +321,7 @@ public:
|
||||
typedef Firebird::HalfStaticArray<AttNumber, 64> SessionList;
|
||||
|
||||
explicit MonitoringData(Database*);
|
||||
~MonitoringData();
|
||||
~MonitoringData() noexcept(false);
|
||||
|
||||
bool initialize(Firebird::SharedMemoryBase*, bool) override;
|
||||
void mutexBug(int osErrorCode, const char* text) override;
|
||||
|
@ -402,7 +402,7 @@ PreparedStatement::PreparedStatement(thread_db* tdbb, MemoryPool& pool,
|
||||
}
|
||||
|
||||
|
||||
PreparedStatement::~PreparedStatement()
|
||||
PreparedStatement::~PreparedStatement() noexcept(false)
|
||||
{
|
||||
thread_db* tdbb = JRD_get_thread_data();
|
||||
|
||||
|
@ -264,7 +264,7 @@ public:
|
||||
jrd_tra* transaction, const Firebird::string& text, bool isInternalRequest);
|
||||
PreparedStatement(thread_db* tdbb, Firebird::MemoryPool& aPool, Attachment* attachment,
|
||||
jrd_tra* transaction, const Builder& aBuilder, bool isInternalRequest);
|
||||
~PreparedStatement();
|
||||
~PreparedStatement() noexcept(false);
|
||||
|
||||
private:
|
||||
void init(thread_db* tdbb, Attachment* attachment, jrd_tra* transaction,
|
||||
|
@ -366,7 +366,7 @@ ProfilerManager::ProfilerManager(thread_db* tdbb)
|
||||
});
|
||||
}
|
||||
|
||||
ProfilerManager::~ProfilerManager()
|
||||
ProfilerManager::~ProfilerManager() noexcept(false)
|
||||
{
|
||||
flushTimer->stop();
|
||||
}
|
||||
@ -820,7 +820,7 @@ ProfilerListener::ProfilerListener(thread_db* tdbb)
|
||||
cleanupSync.run(this);
|
||||
}
|
||||
|
||||
ProfilerListener::~ProfilerListener()
|
||||
ProfilerListener::~ProfilerListener() noexcept(false)
|
||||
{
|
||||
exiting = true;
|
||||
|
||||
|
@ -108,7 +108,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
~RecordSourceStopWatcher()
|
||||
~RecordSourceStopWatcher() noexcept(false)
|
||||
{
|
||||
if (profilerManager)
|
||||
{
|
||||
@ -176,7 +176,7 @@ private:
|
||||
ProfilerManager(thread_db* tdbb);
|
||||
|
||||
public:
|
||||
~ProfilerManager();
|
||||
~ProfilerManager() noexcept(false);
|
||||
|
||||
public:
|
||||
static ProfilerManager* create(thread_db* tdbb);
|
||||
|
@ -195,7 +195,7 @@ namespace Jrd
|
||||
fb_assert(!record || record->m_temp_active);
|
||||
}
|
||||
|
||||
~AutoTempRecord()
|
||||
~AutoTempRecord() noexcept(false)
|
||||
{
|
||||
release();
|
||||
}
|
||||
|
@ -512,7 +512,7 @@ jrd_rel::GCExclusive::GCExclusive(thread_db* tdbb, jrd_rel* relation) :
|
||||
{
|
||||
}
|
||||
|
||||
jrd_rel::GCExclusive::~GCExclusive()
|
||||
jrd_rel::GCExclusive::~GCExclusive() noexcept(false)
|
||||
{
|
||||
release();
|
||||
delete m_lock;
|
||||
|
@ -309,7 +309,7 @@ public:
|
||||
spt_relation = relation;
|
||||
}
|
||||
|
||||
~RelPagesSnapshot() { clear(); }
|
||||
~RelPagesSnapshot() noexcept(false) { clear(); }
|
||||
|
||||
void clear();
|
||||
private:
|
||||
@ -354,7 +354,7 @@ public:
|
||||
{
|
||||
public:
|
||||
GCShared(thread_db* tdbb, jrd_rel* relation);
|
||||
~GCShared();
|
||||
~GCShared() noexcept(false);
|
||||
|
||||
bool gcEnabled() const
|
||||
{
|
||||
@ -373,7 +373,7 @@ public:
|
||||
{
|
||||
public:
|
||||
GCExclusive(thread_db* tdbb, jrd_rel* relation);
|
||||
~GCExclusive();
|
||||
~GCExclusive() noexcept(false);
|
||||
|
||||
bool acquire(int wait);
|
||||
void release();
|
||||
@ -469,7 +469,7 @@ inline jrd_rel::GCShared::GCShared(thread_db* tdbb, jrd_rel* relation)
|
||||
m_relation->downgradeGCLock(m_tdbb);
|
||||
}
|
||||
|
||||
inline jrd_rel::GCShared::~GCShared()
|
||||
inline jrd_rel::GCShared::~GCShared() noexcept(false)
|
||||
{
|
||||
if (m_gcEnabled)
|
||||
--m_relation->rel_sweep_count;
|
||||
|
@ -45,7 +45,7 @@ ResultSet::ResultSet(thread_db* tdbb, PreparedStatement* aStmt, jrd_tra* aTransa
|
||||
}
|
||||
|
||||
|
||||
ResultSet::~ResultSet()
|
||||
ResultSet::~ResultSet() noexcept(false)
|
||||
{
|
||||
if (!stmt)
|
||||
return;
|
||||
|
@ -47,7 +47,7 @@ friend class PreparedStatement;
|
||||
|
||||
public:
|
||||
ResultSet(thread_db* tdbb, PreparedStatement* aStmt, jrd_tra* aTransaction);
|
||||
~ResultSet();
|
||||
~ResultSet() noexcept(false);
|
||||
|
||||
public:
|
||||
bool fetch(thread_db* tdbb);
|
||||
|
@ -627,7 +627,7 @@ AutoSavePoint::AutoSavePoint(thread_db* tdbb, jrd_tra* trans)
|
||||
m_number = savepoint->getNumber();
|
||||
}
|
||||
|
||||
AutoSavePoint::~AutoSavePoint()
|
||||
AutoSavePoint::~AutoSavePoint() noexcept(false)
|
||||
{
|
||||
if (m_number && !(m_tdbb->getDatabase()->dbb_flags & DBB_bugcheck))
|
||||
{
|
||||
|
@ -82,7 +82,7 @@ namespace Jrd
|
||||
: vct_next(NULL), vct_relation(NULL), vct_records(NULL), vct_undo(NULL)
|
||||
{}
|
||||
|
||||
~VerbAction()
|
||||
~VerbAction() noexcept(false)
|
||||
{
|
||||
delete vct_records;
|
||||
delete vct_undo;
|
||||
@ -123,7 +123,7 @@ namespace Jrd
|
||||
m_next(NULL), m_actions(NULL), m_freeActions(NULL)
|
||||
{}
|
||||
|
||||
~Savepoint()
|
||||
~Savepoint() noexcept(false)
|
||||
{
|
||||
while (m_actions)
|
||||
{
|
||||
@ -331,7 +331,7 @@ namespace Jrd
|
||||
{
|
||||
public:
|
||||
AutoSavePoint(thread_db* tdbb, jrd_tra* trans);
|
||||
~AutoSavePoint();
|
||||
~AutoSavePoint() noexcept(false);
|
||||
|
||||
void release();
|
||||
void rollback(bool preserveLocks = false);
|
||||
|
@ -166,7 +166,7 @@ TempSpace::TempSpace(MemoryPool& p, const PathName& prefix, bool dynamic)
|
||||
// Destructor
|
||||
//
|
||||
|
||||
TempSpace::~TempSpace()
|
||||
TempSpace::~TempSpace() noexcept(false)
|
||||
{
|
||||
while (head)
|
||||
{
|
||||
|
@ -35,7 +35,7 @@ class TempSpace : public Firebird::File
|
||||
{
|
||||
public:
|
||||
TempSpace(MemoryPool& pool, const Firebird::PathName& prefix, bool dynamic = true);
|
||||
virtual ~TempSpace();
|
||||
virtual ~TempSpace() noexcept(false);
|
||||
|
||||
FB_SIZE_T read(offset_t offset, void* buffer, FB_SIZE_T length);
|
||||
FB_SIZE_T write(offset_t offset, const void* buffer, FB_SIZE_T length);
|
||||
|
@ -264,7 +264,7 @@ void UserManagement::openAllManagers()
|
||||
}
|
||||
}
|
||||
|
||||
UserManagement::~UserManagement()
|
||||
UserManagement::~UserManagement() noexcept(false)
|
||||
{
|
||||
for (ULONG i = 0; i < commands.getCount(); ++i)
|
||||
{
|
||||
|
@ -56,7 +56,7 @@ class UserManagement : public SnapshotData
|
||||
{
|
||||
public:
|
||||
explicit UserManagement(jrd_tra* tra);
|
||||
~UserManagement();
|
||||
~UserManagement() noexcept(false);
|
||||
|
||||
// store userData for DFW-time processing
|
||||
USHORT put(Auth::DynamicUserData* userData);
|
||||
|
@ -71,7 +71,7 @@ WorkerStableAttachment::WorkerStableAttachment(FbStatusVector* status, Jrd::Atta
|
||||
initDone();
|
||||
}
|
||||
|
||||
WorkerStableAttachment::~WorkerStableAttachment()
|
||||
WorkerStableAttachment::~WorkerStableAttachment() noexcept(false)
|
||||
{
|
||||
fini();
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ protected:
|
||||
|
||||
private:
|
||||
explicit WorkerStableAttachment(FbStatusVector* status, Jrd::Attachment* att);
|
||||
virtual ~WorkerStableAttachment();
|
||||
virtual ~WorkerStableAttachment() noexcept(false);
|
||||
};
|
||||
|
||||
|
||||
|
@ -46,7 +46,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~AutoBlb()
|
||||
~AutoBlb() noexcept(false)
|
||||
{
|
||||
blob->BLB_close(tdbb);
|
||||
}
|
||||
|
@ -234,7 +234,7 @@ BtrPageGCLock::BtrPageGCLock(thread_db* tdbb)
|
||||
{
|
||||
}
|
||||
|
||||
BtrPageGCLock::~BtrPageGCLock()
|
||||
BtrPageGCLock::~BtrPageGCLock() noexcept(false)
|
||||
{
|
||||
// assert in debug build
|
||||
fb_assert(!lck_id);
|
||||
@ -379,7 +379,7 @@ IndexCondition::IndexCondition(thread_db* tdbb, index_desc* idx)
|
||||
m_request->req_rpb[0].rpb_number.setValid(true);
|
||||
}
|
||||
|
||||
IndexCondition::~IndexCondition()
|
||||
IndexCondition::~IndexCondition() noexcept(false)
|
||||
{
|
||||
if (m_request)
|
||||
{
|
||||
@ -461,7 +461,7 @@ IndexExpression::IndexExpression(thread_db* tdbb, index_desc* idx)
|
||||
m_request->req_rpb[0].rpb_number.setValid(true);
|
||||
}
|
||||
|
||||
IndexExpression::~IndexExpression()
|
||||
IndexExpression::~IndexExpression() noexcept(false)
|
||||
{
|
||||
if (m_request)
|
||||
{
|
||||
|
@ -206,7 +206,7 @@ public:
|
||||
memcpy(&irb_desc, idx, sizeof(irb_desc));
|
||||
}
|
||||
|
||||
~IndexRetrieval()
|
||||
~IndexRetrieval() noexcept(false)
|
||||
{
|
||||
delete irb_name;
|
||||
delete[] irb_value;
|
||||
@ -245,7 +245,7 @@ class BtrPageGCLock : public Lock
|
||||
|
||||
public:
|
||||
explicit BtrPageGCLock(thread_db* tdbb);
|
||||
~BtrPageGCLock();
|
||||
~BtrPageGCLock() noexcept(false);
|
||||
|
||||
void disablePageGC(thread_db* tdbb, const PageNumber &page);
|
||||
void enablePageGC(thread_db* tdbb);
|
||||
@ -341,7 +341,7 @@ public:
|
||||
: m_tdbb(other.m_tdbb), m_condition(other.m_condition), m_request(other.m_request)
|
||||
{}
|
||||
|
||||
~IndexCondition();
|
||||
~IndexCondition() noexcept(false);
|
||||
|
||||
bool evaluate(Record* record) const;
|
||||
|
||||
@ -360,7 +360,7 @@ public:
|
||||
: m_tdbb(other.m_tdbb), m_expression(other.m_expression), m_request(other.m_request)
|
||||
{}
|
||||
|
||||
~IndexExpression();
|
||||
~IndexExpression() noexcept(false);
|
||||
|
||||
dsc* evaluate(Record* record) const;
|
||||
|
||||
|
@ -88,7 +88,7 @@ EventManager::EventManager(const string& id, const Config* conf)
|
||||
}
|
||||
|
||||
|
||||
EventManager::~EventManager()
|
||||
EventManager::~EventManager() noexcept(false)
|
||||
{
|
||||
m_exiting = true;
|
||||
const SLONG process_offset = m_processOffset;
|
||||
|
@ -44,7 +44,7 @@ class EventManager final : public Firebird::GlobalStorage, public Firebird::IpcO
|
||||
|
||||
public:
|
||||
EventManager(const Firebird::string& id, const Firebird::Config* conf);
|
||||
~EventManager();
|
||||
~EventManager() noexcept(false);
|
||||
|
||||
static void init(Attachment*);
|
||||
|
||||
|
@ -79,7 +79,7 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
~StaticAllocator()
|
||||
~StaticAllocator() noexcept(false)
|
||||
{
|
||||
for (FB_SIZE_T i = 0; i < chunksToFree.getCount(); i++)
|
||||
pool.deallocate(chunksToFree[i]);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user