aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSergio Martins <smartins@kde.org>2018-03-13 12:21:24 +0000
committerSergio Martins <smartins@kde.org>2018-03-13 12:21:24 +0000
commit8404219d174ffb4aaf7a713704db0abf93ffa47a (patch)
tree7bd65dc422e9bb8d487153cd2737384e05836ef9 /src
parent5e241ba130bbc9537aaa948f7f134065c28b3836 (diff)
Don't recommend QStringLiteral in Q_GLOBAL_STATIC_WITH_ARGS
Doesn't compile since it got noexcept BUG: 391807
Diffstat (limited to 'src')
-rw-r--r--src/checks/level2/qstring-allocations.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/checks/level2/qstring-allocations.cpp b/src/checks/level2/qstring-allocations.cpp
index 298c8170..96e21b95 100644
--- a/src/checks/level2/qstring-allocations.cpp
+++ b/src/checks/level2/qstring-allocations.cpp
@@ -208,6 +208,13 @@ void QStringAllocations::VisitCtor(Stmt *stm)
auto qlatin1Ctor = qlatin1expr.qlatin1ctorexpr;
+
+ if (qlatin1Ctor->getLocStart().isMacroID()) {
+ auto macroName = Lexer::getImmediateMacroName(qlatin1Ctor->getLocStart(), sm(), lo());
+ if (macroName == "Q_GLOBAL_STATIC_WITH_ARGS") // bug #391807
+ return;
+ }
+
vector<FixItHint> fixits;
if (qlatin1expr.enableFixit && isFixitEnabled(QLatin1StringAllocations)) {
if (!qlatin1Ctor->getLocStart().isMacroID()) {