diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.cpp b/src/plugins/cpptools/cppmodelmanagerinterface.cpp index 909ed4c2534..0de4f6e425a 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.cpp +++ b/src/plugins/cpptools/cppmodelmanagerinterface.cpp @@ -52,6 +52,16 @@ using namespace CppTools; using namespace ProjectExplorer; +ProjectPart::ProjectPart() + : cVersion(C89) + , cxxVersion(CXX11) + , cxxExtensions(NoExtensions) + , qtVersion(UnknownQt) + , cWarningFlags(ProjectExplorer::ToolChain::WarningsDefault) + , cxxWarningFlags(ProjectExplorer::ToolChain::WarningsDefault) +{ +} + /** * @brief Retrieves info from concrete compiler using it's flags. * @param tc Either nullptr or toolchain for project's active target. @@ -90,6 +100,9 @@ void ProjectPart::evaluateToolchain(const ToolChain *tc, if (cxx | ToolChain::OpenMP) cxxExtensions |= OpenMP; + cWarningFlags = tc->warningFlags(cflags); + cxxWarningFlags = tc->warningFlags(cxxflags); + QList headers = tc->systemHeaderPaths(cxxflags, sysRoot); foreach (const HeaderPath &header, headers) if (header.kind() == HeaderPath::FrameworkHeaderPath) diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index 706be56c638..2688bb97476 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.h +++ b/src/plugins/cpptools/cppmodelmanagerinterface.h @@ -34,6 +34,7 @@ #include "cppprojectfile.h" #include +#include #include #include @@ -43,10 +44,7 @@ namespace Core { class IEditor; } namespace CPlusPlus { class LookupContext; } -namespace ProjectExplorer { -class Project; -class ToolChain; -} +namespace ProjectExplorer { class Project; } namespace TextEditor { class BaseTextEditor; } namespace Utils { class FileName; } @@ -62,12 +60,7 @@ class CppIndexingSupport; class CPPTOOLS_EXPORT ProjectPart { public: - ProjectPart() - : cVersion(C89) - , cxxVersion(CXX11) - , cxxExtensions(NoExtensions) - , qtVersion(UnknownQt) - {} + ProjectPart(); void evaluateToolchain(const ProjectExplorer::ToolChain *tc, const QStringList &cxxflags, @@ -114,6 +107,8 @@ public: //attributes CXXVersion cxxVersion; CXXExtensions cxxExtensions; QtVersion qtVersion; + ProjectExplorer::ToolChain::WarningFlags cWarningFlags; + ProjectExplorer::ToolChain::WarningFlags cxxWarningFlags; }; class CPPTOOLS_EXPORT CppModelManagerInterface : public QObject