C++: Disable C++ keywords in C files

In some (legacy) C files, new and delete may be used for regular identifier.

There are some limitations:
* Header files have no 'implicit' type, and may be parsed as C++ or ObjC depending on the
other files in the project.
* QMakeProject use a single ProjectPart for C and C++ files, so there will still be the issue.

Change-Id: Iec11687b35f7ccf1e7c0d091b143ae90d950e440
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Francois Ferrand
2016-02-26 18:48:39 +01:00
parent 285c8a7543
commit 7b2c09a118
11 changed files with 53 additions and 37 deletions

View File

@@ -45,6 +45,9 @@ void ProjectPart::updateLanguageFeatures()
{
const bool hasQt = qtVersion != NoQt;
languageFeatures.cxx11Enabled = languageVersion >= CXX11;
languageFeatures.cxxEnabled = languageVersion >= CXX98;
languageFeatures.c99Enabled = languageVersion >= C99;
languageFeatures.objCEnabled = languageExtensions & ObjectiveCExtensions;
languageFeatures.qtEnabled = hasQt;
languageFeatures.qtMocRunEnabled = hasQt;
if (!hasQt) {