QbsProjectManager: Consider "c++23" for cpp.cxxLanguageVersion

Fixes: QTCREATORBUG-26663
Change-Id: Ie22ce49cb724c434121c3d4b62b4580139a4706b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2021-12-06 14:50:06 +01:00
parent db1c6f5b08
commit 02f93f68d6

View File

@@ -794,7 +794,9 @@ static void getExpandedCompilerFlags(QStringList &cFlags, QStringList &cxxFlags,
cFlags = cxxFlags = commonFlags;
const auto cxxLanguageVersion = arrayToStringList(getCppProp("cxxLanguageVersion"));
if (cxxLanguageVersion.contains("c++20"))
if (cxxLanguageVersion.contains("c++23"))
cxxFlags << "-std=c++2b";
else if (cxxLanguageVersion.contains("c++20"))
cxxFlags << "-std=c++20";
else if (cxxLanguageVersion.contains("c++17"))
cxxFlags << "-std=c++17";
@@ -850,9 +852,12 @@ static void getExpandedCompilerFlags(QStringList &cFlags, QStringList &cxxFlags,
cxxFlags << "/TP";
if (!enableRtti.isUndefined())
cxxFlags << QLatin1String(enableRtti.toBool() ? "/GR" : "/GR-");
if (getCppProp("cxxLanguageVersion").toArray().contains("c++20"))
const QJsonArray cxxLanguageVersion = getCppProp("cxxLanguageVersion").toArray();
if (cxxLanguageVersion.contains("c++23"))
cxxFlags << "/std:c++latest";
else if (cxxLanguageVersion.contains("c++20"))
cxxFlags << "/std:c++20";
else if (getCppProp("cxxLanguageVersion").toArray().contains("c++17"))
else if (cxxLanguageVersion.contains("c++17"))
cxxFlags << "/std:c++17";
}
}