forked from qt-creator/qt-creator
Clang: Disable a completion test for LLVM/Clang 10
For the case struct Foo; void f(Foo *foo) { foo->/*COMPLETE-HERE*/ } no completions are expected as "Foo" is only forward declared. This seems to be handled correctly in current LLVM/Clang master (upcoming version 11), but wasn't with previous versions as pointless non-member-completions were returned. As our workaround is not applicable anymore with LLVM/Clang 10, disable the corresponding test for that version as we cannot do anything about it. Change-Id: Ia02696175d0d532e16bc16a1010821b4aed20f8b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -61,6 +61,8 @@ CodeCompletions toCodeCompletions(const UnsavedFile &unsavedFile,
|
||||
return codeCompletions;
|
||||
}
|
||||
|
||||
// CLANG-UPGRADE-CHECK: Remove this workaround once we require LLVM/Clang 11 as that version makes
|
||||
// the workaround pointless.
|
||||
void filterUnknownContextResults(ClangCodeCompleteResults &results,
|
||||
const UnsavedFile &theUnsavedFile,
|
||||
uint line,
|
||||
|
@@ -530,7 +530,9 @@ TEST_F(CodeCompleterSlowTest, NoDotArrowCorrectionForColonColon)
|
||||
ASSERT_THAT(completions, Not(Contains(HasFixIts())));
|
||||
}
|
||||
|
||||
TEST_F(CodeCompleterSlowTest, NoGlobalCompletionAfterForwardDeclaredClassPointer)
|
||||
// Our workaround is not applicable with LLVM/Clang 10 anymore, so disable this test for that version.
|
||||
// Luckily, the workaround is not needed anymore with LLVM/Clang 11.
|
||||
TEST_F(CodeCompleterSlowTest, DISABLED_FOR_CLANG_10(NoGlobalCompletionAfterForwardDeclaredClassPointer))
|
||||
{
|
||||
auto myCompleter = setupCompleter(globalCompletionAfterForwardDeclaredClassPointer);
|
||||
const ClangBackEnd::CodeCompletions completions = myCompleter.complete(5, 10);
|
||||
|
@@ -25,6 +25,14 @@
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
#include <clang-c/Index.h>
|
||||
|
||||
#if CINDEX_VERSION_MAJOR == 0 && CINDEX_VERSION_MINOR == 59
|
||||
# define DISABLED_FOR_CLANG_10(x) DISABLED_##x
|
||||
#else
|
||||
# define DISABLED_FOR_CLANG_10(x) x
|
||||
#endif
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
# define DISABLED_ON_WINDOWS(x) DISABLED_##x
|
||||
#else
|
||||
|
Reference in New Issue
Block a user