CPlusPlus: Reuse QScopeGuard instead of ExecuteOnDestruction

Change-Id: Ifb2cf839777c18b4f66a88b7f5106f05148b0c20
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2023-06-03 13:56:37 +02:00
parent deb74751fb
commit f1c04035a6
2 changed files with 14 additions and 13 deletions

View File

@@ -30,7 +30,6 @@
#include <cplusplus/Literals.h>
#include <cplusplus/cppassert.h>
#include <utils/executeondestruction.h>
#include <utils/filepath.h>
#include <utils/scopedswap.h>
@@ -40,6 +39,7 @@
#include <QLoggingCategory>
#include <QTime>
#include <QPair>
#include <QScopeGuard>
#include <cctype>
#include <deque>
@@ -1513,14 +1513,15 @@ bool Preprocessor::collectActualArguments(PPToken *tk, QVector<QVector<PPToken>
Q_ASSERT(tk);
Q_ASSERT(actuals);
ExecuteOnDestruction removeBlockedName;
if (m_state.m_tokenBuffer) {
removeBlockedName.reset([this] {
if (m_state.m_tokenBuffer && !m_state.m_tokenBuffer->blockedMacroNames.empty())
m_state.m_tokenBuffer->blockedMacroNames.pop_back();
});
QScopeGuard cleanup([this] {
if (m_state.m_tokenBuffer && !m_state.m_tokenBuffer->blockedMacroNames.empty())
m_state.m_tokenBuffer->blockedMacroNames.pop_back();
});
if (m_state.m_tokenBuffer)
m_state.m_tokenBuffer->blockedMacroNames.push_back(parentMacroName);
}
else
cleanup.dismiss();
lex(tk); // consume the identifier