From 5c8b1cd220ab92350de8245d75373a0e785a42fc Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Thu, 27 Sep 2012 00:24:09 +0000 Subject: [PATCH] [libclang] Always report a CXCursor_MacroDefinition for code-completion results for a macro name, not CXCursor_NotImplemented. llvm-svn: 164740 --- clang/lib/Frontend/ASTUnit.cpp | 4 +--- clang/lib/Sema/SemaCodeComplete.cpp | 4 +++- clang/test/Index/complete-preprocessor.m | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index c6c710a..22476ca 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -2256,7 +2256,6 @@ void AugmentedCodeCompleteConsumer::ProcessCodeCompleteResults(Sema &S, // Adjust priority based on similar type classes. unsigned Priority = C->Priority; - CXCursorKind CursorKind = C->Kind; CodeCompletionString *Completion = C->Completion; if (!Context.getPreferredType().isNull()) { if (C->Kind == CXCursor_MacroDefinition) { @@ -2290,12 +2289,11 @@ void AugmentedCodeCompleteConsumer::ProcessCodeCompleteResults(Sema &S, CodeCompletionBuilder Builder(getAllocator(), getCodeCompletionTUInfo(), CCP_CodePattern, C->Availability); Builder.AddTypedTextChunk(C->Completion->getTypedText()); - CursorKind = CXCursor_NotImplemented; Priority = CCP_CodePattern; Completion = Builder.TakeString(); } - AllResults.push_back(Result(Completion, Priority, CursorKind, + AllResults.push_back(Result(Completion, Priority, C->Kind, C->Availability)); } diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index e065904..1fc5d8f 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -7168,7 +7168,9 @@ void Sema::CodeCompletePreprocessorMacroName(bool IsDefinition) { M != MEnd; ++M) { Builder.AddTypedTextChunk(Builder.getAllocator().CopyString( M->first->getName())); - Results.AddResult(Builder.TakeString()); + Results.AddResult(CodeCompletionResult(Builder.TakeString(), + CCP_CodePattern, + CXCursor_MacroDefinition)); } Results.ExitScope(); } else if (IsDefinition) { diff --git a/clang/test/Index/complete-preprocessor.m b/clang/test/Index/complete-preprocessor.m index bea9d32..baeb4e9 100644 --- a/clang/test/Index/complete-preprocessor.m +++ b/clang/test/Index/complete-preprocessor.m @@ -53,8 +53,8 @@ FOO(in,t) value; // CHECK-CC2-NEXT: NotImplemented:{TypedText undef}{HorizontalSpace }{Placeholder macro} (40) // CHECK-CC2-NEXT: NotImplemented:{TypedText warning}{HorizontalSpace }{Placeholder message} (40) // RUN: c-index-test -code-completion-at=%s:9:8 %s | FileCheck -check-prefix=CHECK-CC3 %s -// CHECK-CC3: NotImplemented:{TypedText BAR} (40) -// CHECK-CC3: NotImplemented:{TypedText FOO} (40) +// CHECK-CC3: macro definition:{TypedText BAR} (40) +// CHECK-CC3: macro definition:{TypedText FOO} (40) // RUN: c-index-test -code-completion-at=%s:11:12 %s | FileCheck -check-prefix=CHECK-CC3 %s // RUN: c-index-test -code-completion-at=%s:11:13 %s | FileCheck -check-prefix=CHECK-CC3 %s // RUN: c-index-test -code-completion-at=%s:11:5 %s | FileCheck -check-prefix=CHECK-CC4 %s -- 2.7.4