From 24eea824773da5b5b7239680401f5a9f7687e29c Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 14 Apr 2015 14:50:14 +0200 Subject: [PATCH] Toolchains: Add C++98 as a language standard. This was curiously missing from the CompilerFlag enum, so e.g. setting "QMAKE_CXXFLAGS += -std=c++98" in a .pro file did not have the desired effect on higher-level code such as the code model. Change-Id: Ia4323b699a2ccea9d3cbde10b05affe87d955277 Reviewed-by: Nikolai Kosjar Reviewed-by: Tobias Hunger --- src/plugins/cpptools/cppprojects.cpp | 2 ++ src/plugins/projectexplorer/gcctoolchain.cpp | 1 + src/plugins/projectexplorer/toolchain.h | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/cpptools/cppprojects.cpp b/src/plugins/cpptools/cppprojects.cpp index db84381fce9..e6ebee607cf 100644 --- a/src/plugins/cpptools/cppprojects.cpp +++ b/src/plugins/cpptools/cppprojects.cpp @@ -86,6 +86,8 @@ void ProjectPart::evaluateToolchain(const ToolChain *tc, languageVersion = CXX14; else if (flags & ToolChain::StandardCxx11) languageVersion = CXX11; + else if (flags & ToolChain::StandardCxx98) + languageVersion = CXX98; else languageVersion = CXX11; diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index 320bf869767..1ad40a8702c 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -448,6 +448,7 @@ ToolChain::CompilerFlags GccToolChain::compilerFlags(const QStringList &cxxflags const QByteArray std = flag.mid(5).toLatin1(); if (std == "c++98" || std == "c++03") { flags &= ~CompilerFlags(StandardCxx11 | StandardCxx14 | StandardCxx17 | GnuExtensions); + flags |= StandardCxx98; } else if (std == "gnu++98" || std == "gnu++03") { flags &= ~CompilerFlags(StandardCxx11 | StandardCxx14 | StandardCxx17); flags |= GnuExtensions; diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index 2ac1dd1baed..1ad894741bf 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -101,7 +101,8 @@ public: OpenMP = 0x40, ObjectiveC = 0x80, StandardCxx14 = 0x100, - StandardCxx17 = 0x200 + StandardCxx17 = 0x200, + StandardCxx98 = 0x400, }; Q_DECLARE_FLAGS(CompilerFlags, CompilerFlag)