Clang: turn off delayed template parsing

Fix templates highlight and completion on Windows
Add UI to turn on/off delayed parsing (off by default)

Task-number: QTCREATORBUG-17222
Change-Id: I0cd5e0bcfff2789cd938e4096829f777ff15957a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2017-05-23 09:49:22 +02:00
parent 0784dd20fe
commit 78db7d7ed2
23 changed files with 255 additions and 139 deletions

View File

@@ -39,21 +39,32 @@ class ClangProjectSettings: public QObject
Q_OBJECT
public:
constexpr static const char* DelayedTemplateParsing = "-fdelayed-template-parsing";
constexpr static const char* NoDelayedTemplateParsing = "-fno-delayed-template-parsing";
constexpr static const char* GlobalWindowsCmdOptions = NoDelayedTemplateParsing;
ClangProjectSettings(ProjectExplorer::Project *project);
bool useGlobalWarningConfig() const;
void setUseGlobalWarningConfig(bool useGlobalWarningConfig);
bool useGlobalConfig() const;
void setUseGlobalConfig(bool useGlobalConfig);
Core::Id warningConfigId() const;
void setWarningConfigId(const Core::Id &warningConfigId);
QStringList commandLineOptions() const;
void setCommandLineOptions(const QStringList &options);
void load();
void store();
static QStringList globalCommandLineOptions();
private:
ProjectExplorer::Project *m_project;
bool m_useGlobalWarningConfig = true;
bool m_useGlobalConfig = true;
Core::Id m_warningConfigId;
QStringList m_customCommandLineOptions;
};
} // namespace Internal