diff options
author | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-02-24 12:12:14 -0300 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-03-10 13:42:51 +0100 |
commit | 4bf11c7df6aac526a9272a827fa96d099253cbcf (patch) | |
tree | 3952776591a935426e008ece5329e6d8ae1b3622 /src/plugins/cpptools | |
parent | aa796a9fc06dc1817b99355a333d2b0edce7215b (diff) |
CppTools: Add diagnostic message for non-existent absolute paths
Change-Id: I9a05a92c1adc37db0c918127715714d1f6d2a78d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r-- | src/plugins/cpptools/cpppreprocessor.cpp | 6 | ||||
-rw-r--r-- | src/plugins/cpptools/cpppreprocessor_test.cpp | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cpppreprocessor.cpp b/src/plugins/cpptools/cpppreprocessor.cpp index dd185a7e393..b2768850013 100644 --- a/src/plugins/cpptools/cpppreprocessor.cpp +++ b/src/plugins/cpptools/cpppreprocessor.cpp @@ -235,10 +235,12 @@ QString CppPreprocessor::cleanPath(const QString &path) QString CppPreprocessor::resolveFile_helper(const QString &fileName, IncludeType type) { - const QFileInfo fileInfo(fileName); - if (isInjectedFile(fileName) || fileInfo.isAbsolute()) + if (isInjectedFile(fileName)) return fileName; + if (QFileInfo(fileName).isAbsolute()) + return checkFile(fileName) ? fileName : QString(); + if (type == IncludeLocal && m_currentDoc) { const QFileInfo currentFileInfo(m_currentDoc->fileName()); const QString path = cleanPath(currentFileInfo.absolutePath()) + fileName; diff --git a/src/plugins/cpptools/cpppreprocessor_test.cpp b/src/plugins/cpptools/cpppreprocessor_test.cpp index 3178aa9771c..c37aa73b1ee 100644 --- a/src/plugins/cpptools/cpppreprocessor_test.cpp +++ b/src/plugins/cpptools/cpppreprocessor_test.cpp @@ -168,6 +168,7 @@ void CppToolsPlugin::test_cpppreprocessor_includes_allDiagnostics() QByteArray source = "#include <NotResolvable1>\n" "#include <NotResolvable2>\n" + "#include \"/some/nonexisting/file123.h\"\n" "\n" ; @@ -176,6 +177,6 @@ void CppToolsPlugin::test_cpppreprocessor_includes_allDiagnostics() QVERIFY(document); QCOMPARE(document->resolvedIncludes().size(), 0); - QCOMPARE(document->unresolvedIncludes().size(), 2); - QCOMPARE(document->diagnosticMessages().size(), 2); + QCOMPARE(document->unresolvedIncludes().size(), 3); + QCOMPARE(document->diagnosticMessages().size(), 3); } |