forked from qt-creator/qt-creator
CppTools: Allow interpreting ambiguous headers as C headers
...instead of C++ headers. For the Clang Code Model this results in using "-x c-header" instead of "-x c++-header". This introduces a new option in Options > C++ > "Code Model" to configure this. Change-Id: I8a0ce8fa6155f5ef58743ebc7f1d0b500fbf6599 Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
@@ -58,6 +58,9 @@ static QString clangDiagnosticConfigsArrayOptionsKey()
|
||||
static QString pchUsageKey()
|
||||
{ return QLatin1String(Constants::CPPTOOLS_MODEL_MANAGER_PCH_USAGE); }
|
||||
|
||||
static QString interpretAmbiguousHeadersAsCHeadersKey()
|
||||
{ return QLatin1String(Constants::CPPTOOLS_INTERPRET_AMBIGIUOUS_HEADERS_AS_C_HEADERS); }
|
||||
|
||||
static QString skipIndexingBigFilesKey()
|
||||
{ return QLatin1String(Constants::CPPTOOLS_SKIP_INDEXING_BIG_FILES); }
|
||||
|
||||
@@ -88,6 +91,10 @@ void CppCodeModelSettings::fromSettings(QSettings *s)
|
||||
const QVariant pchUsageVariant = s->value(pchUsageKey(), initialPchUsage());
|
||||
setPCHUsage(static_cast<PCHUsage>(pchUsageVariant.toInt()));
|
||||
|
||||
const QVariant interpretAmbiguousHeadersAsCHeaders
|
||||
= s->value(interpretAmbiguousHeadersAsCHeadersKey(), false);
|
||||
setInterpretAmbigiousHeadersAsCHeaders(interpretAmbiguousHeadersAsCHeaders.toBool());
|
||||
|
||||
const QVariant skipIndexingBigFiles = s->value(skipIndexingBigFilesKey(), true);
|
||||
setSkipIndexingBigFiles(skipIndexingBigFiles.toBool());
|
||||
|
||||
@@ -116,6 +123,8 @@ void CppCodeModelSettings::toSettings(QSettings *s)
|
||||
|
||||
s->setValue(clangDiagnosticConfigKey(), clangDiagnosticConfigId().toSetting());
|
||||
s->setValue(pchUsageKey(), pchUsage());
|
||||
|
||||
s->setValue(interpretAmbiguousHeadersAsCHeadersKey(), interpretAmbigiousHeadersAsCHeaders());
|
||||
s->setValue(skipIndexingBigFilesKey(), skipIndexingBigFiles());
|
||||
s->setValue(indexerFileSizeLimitKey(), indexerFileSizeLimitInMb());
|
||||
|
||||
@@ -166,6 +175,16 @@ void CppCodeModelSettings::emitChanged()
|
||||
emit changed();
|
||||
}
|
||||
|
||||
bool CppCodeModelSettings::interpretAmbigiousHeadersAsCHeaders() const
|
||||
{
|
||||
return m_interpretAmbigiousHeadersAsCHeaders;
|
||||
}
|
||||
|
||||
void CppCodeModelSettings::setInterpretAmbigiousHeadersAsCHeaders(bool yesno)
|
||||
{
|
||||
m_interpretAmbigiousHeadersAsCHeaders = yesno;
|
||||
}
|
||||
|
||||
bool CppCodeModelSettings::skipIndexingBigFiles() const
|
||||
{
|
||||
return m_skipIndexingBigFiles;
|
||||
|
||||
Reference in New Issue
Block a user