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:
Nikolai Kosjar
2017-01-12 18:01:12 +01:00
parent 4416eecc02
commit e4e6572661
21 changed files with 228 additions and 72 deletions

View File

@@ -14,37 +14,19 @@
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="clangCodeModelIsEnabledHint">
<property name="text">
<string>&lt;i&gt;The Clang Code Model is enabled because the corresponding plugin is loaded.&lt;/i&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="clangCodeModelIsDisabledHint">
<property name="text">
<string>&lt;i&gt;The Clang Code Model is disabled because the corresponding plugin is not loaded.&lt;/i&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="clangSettingsGroupBox">
<property name="title">
<string>Clang Code Model Warnings</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3"/>
</widget>
</item>
<item>
<widget class="QGroupBox" name="anotherGroupBox">
<property name="title">
<string>Files to Skip</string>
<string>General</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="interpretAmbiguousHeadersAsCHeaders">
<property name="text">
<string>Interpret ambiguous headers as C headers</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ignorePCHCheckBox">
<property name="toolTip">
@@ -101,6 +83,31 @@
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="clangCodeModelIsEnabledHint">
<property name="text">
<string>&lt;i&gt;The Clang Code Model is enabled because the corresponding plugin is loaded.&lt;/i&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="clangCodeModelIsDisabledHint">
<property name="text">
<string>&lt;i&gt;The Clang Code Model is disabled because the corresponding plugin is not loaded.&lt;/i&gt;</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="clangSettingsGroupBox">
<property name="title">
<string>Clang Code Model Warnings</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3"/>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">