summaryrefslogtreecommitdiff
path: root/src/tools/clangbackend/clangbackendmain.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2018-12-07 14:35:26 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2019-01-08 09:30:22 +0000
commit5719e7961e5f719f7a8faa15e59f823931c6dfca (patch)
tree590066b5ecad76478560bec3560c20b36051c809 /src/tools/clangbackend/clangbackendmain.cpp
parent6809848b23cc49c2bebd0c0db3c42490d0ad5eb6 (diff)
downloadqt-creator-5719e7961e5f719f7a8faa15e59f823931c6dfca.tar.gz
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>
Diffstat (limited to 'src/tools/clangbackend/clangbackendmain.cpp')
-rw-r--r--src/tools/clangbackend/clangbackendmain.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/tools/clangbackend/clangbackendmain.cpp b/src/tools/clangbackend/clangbackendmain.cpp
index efe5970a4d..5cbac3ce60 100644
--- a/src/tools/clangbackend/clangbackendmain.cpp
+++ b/src/tools/clangbackend/clangbackendmain.cpp
@@ -34,6 +34,7 @@
#include <clangcodemodelclientproxy.h>
#include <iostream>
+#include <clocale>
using ClangBackEnd::ClangCodeModelClientProxy;
using ClangBackEnd::ClangCodeModelServer;
@@ -75,6 +76,10 @@ int main(int argc, char *argv[])
QCoreApplication::setApplicationVersion(QStringLiteral("1.0.0"));
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::DisableRestart);