forked from qt-creator/qt-creator
Clang: Set LC_NUMERIC to "C" for clangbackend
The tidy check SuspiciousMissingCommaCheck uses the locale dependent stod() when reading settings and might throw std::invalid_argument for a locale different than "C". Fixes: QTCREATORBUG-21605 Change-Id: I69bf719a8fd94e13ce67b46238f536c85ab2eaa3 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
This commit is contained in:
@@ -34,6 +34,7 @@
|
|||||||
#include <clangcodemodelclientproxy.h>
|
#include <clangcodemodelclientproxy.h>
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <clocale>
|
||||||
|
|
||||||
using ClangBackEnd::ClangCodeModelClientProxy;
|
using ClangBackEnd::ClangCodeModelClientProxy;
|
||||||
using ClangBackEnd::ClangCodeModelServer;
|
using ClangBackEnd::ClangCodeModelServer;
|
||||||
@@ -75,6 +76,10 @@ int main(int argc, char *argv[])
|
|||||||
QCoreApplication::setApplicationVersion(QStringLiteral("1.0.0"));
|
QCoreApplication::setApplicationVersion(QStringLiteral("1.0.0"));
|
||||||
|
|
||||||
QCoreApplication application(argc, argv);
|
QCoreApplication application(argc, argv);
|
||||||
|
|
||||||
|
// Some tidy checks use locale-dependent conversion functions and thus might throw exceptions.
|
||||||
|
std::setlocale(LC_NUMERIC, "C");
|
||||||
|
|
||||||
CrashHandlerSetup setupCrashHandler(QCoreApplication::applicationName(),
|
CrashHandlerSetup setupCrashHandler(QCoreApplication::applicationName(),
|
||||||
CrashHandlerSetup::DisableRestart);
|
CrashHandlerSetup::DisableRestart);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user