From 16ca70994b4fd630abf184a07cb679a8428f73b5 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 5 Jul 2016 13:52:43 +0200 Subject: [PATCH] Clang: Fix assert in code completion test Assertion failed: IncludeBriefComments == this- >IncludeBriefCommentsInCodeCompletion, file C:\dev\src\llvm-381\tools \clang\lib\Frontend\ASTUnit.cpp, line 2337 Only occurs when linked again a debug llvm. Change-Id: I6a37875fe95852ee2afcef7f6b6b38e9669a6584 Reviewed-by: Nikolai Kosjar --- .../unittest/clangcodecompleteresultstest.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/unit/unittest/clangcodecompleteresultstest.cpp b/tests/unit/unittest/clangcodecompleteresultstest.cpp index b16c2266ed8..4e266c01425 100644 --- a/tests/unit/unittest/clangcodecompleteresultstest.cpp +++ b/tests/unit/unittest/clangcodecompleteresultstest.cpp @@ -47,6 +47,12 @@ using ClangBackEnd::TranslationUnit; using ClangBackEnd::UnsavedFiles; using ClangBackEnd::ProjectPart; +static unsigned completionOptions(const TranslationUnit &translationUnit) +{ + return translationUnit.defaultOptions() & CXTranslationUnit_IncludeBriefCommentsInCodeCompletion + ? CXCodeComplete_IncludeBriefComments : 0; +} + TEST(ClangCodeCompleteResults, GetData) { ProjectPart projectPart(Utf8StringLiteral("projectPartId")); @@ -58,7 +64,11 @@ TEST(ClangCodeCompleteResults, GetData) Utf8StringVector(), translationUnits); Utf8String nativeFilePath = FilePath::toNativeSeparators(translationUnit.filePath()); - CXCodeCompleteResults *cxCodeCompleteResults = clang_codeCompleteAt(translationUnit.cxTranslationUnit(), nativeFilePath.constData(), 49, 1, 0, 0, 0); + CXCodeCompleteResults *cxCodeCompleteResults = + clang_codeCompleteAt(translationUnit.cxTranslationUnit(), + nativeFilePath.constData(), + 49, 1, 0, 0, + completionOptions(translationUnit)); ClangCodeCompleteResults codeCompleteResults(cxCodeCompleteResults); @@ -85,7 +95,11 @@ TEST(ClangCodeCompleteResults, MoveClangCodeCompleteResults) Utf8StringVector(), translationUnits); Utf8String nativeFilePath = FilePath::toNativeSeparators(translationUnit.filePath()); - CXCodeCompleteResults *cxCodeCompleteResults = clang_codeCompleteAt(translationUnit.cxTranslationUnit(), nativeFilePath.constData(), 49, 1, 0, 0, 0); + CXCodeCompleteResults *cxCodeCompleteResults = + clang_codeCompleteAt(translationUnit.cxTranslationUnit(), + nativeFilePath.constData(), + 49, 1, 0, 0, + completionOptions(translationUnit)); ClangCodeCompleteResults codeCompleteResults(cxCodeCompleteResults);