This revision was automatically updated to reflect the committed changes. sammccall marked an inline comment as done. Closed by commit rGfa3b87fbeb46: [CodeComplete] Constructor overload candidates report as vector(int) instead of… (authored by sammccall).
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70307/new/ https://reviews.llvm.org/D70307 Files: clang/lib/Sema/SemaCodeComplete.cpp clang/test/CodeCompletion/templates.cpp Index: clang/test/CodeCompletion/templates.cpp =================================================================== --- clang/test/CodeCompletion/templates.cpp +++ clang/test/CodeCompletion/templates.cpp @@ -24,5 +24,12 @@ // CHECK-CC2: foo // CHECK-CC2: in_base // CHECK-CC2: stop - +} + +template <typename> struct X; +template <typename T> struct X<T*> { X(double); }; +X<int*> x(42); +// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:32:11 %s -o - | FileCheck -check-prefix=CHECK-CONSTRUCTOR %s +// CHECK-CONSTRUCTOR: OVERLOAD: X(<#double#>) +// (rather than X<type-parameter-0-0 *>(<#double#>) Index: clang/lib/Sema/SemaCodeComplete.cpp =================================================================== --- clang/lib/Sema/SemaCodeComplete.cpp +++ clang/lib/Sema/SemaCodeComplete.cpp @@ -3653,6 +3653,10 @@ unsigned CurrentArg, Sema &S, CodeCompletionAllocator &Allocator, CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments) const { PrintingPolicy Policy = getCompletionPrintingPolicy(S); + // Show signatures of constructors as they are declared: + // vector(int n) rather than vector<string>(int n) + // This is less noisy without being less clear, and avoids tricky cases. + Policy.SuppressTemplateArgsInCXXConstructors = true; // FIXME: Set priority, availability appropriately. CodeCompletionBuilder Result(Allocator, CCTUInfo, 1,
Index: clang/test/CodeCompletion/templates.cpp =================================================================== --- clang/test/CodeCompletion/templates.cpp +++ clang/test/CodeCompletion/templates.cpp @@ -24,5 +24,12 @@ // CHECK-CC2: foo // CHECK-CC2: in_base // CHECK-CC2: stop - +} + +template <typename> struct X; +template <typename T> struct X<T*> { X(double); }; +X<int*> x(42); +// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:32:11 %s -o - | FileCheck -check-prefix=CHECK-CONSTRUCTOR %s +// CHECK-CONSTRUCTOR: OVERLOAD: X(<#double#>) +// (rather than X<type-parameter-0-0 *>(<#double#>) Index: clang/lib/Sema/SemaCodeComplete.cpp =================================================================== --- clang/lib/Sema/SemaCodeComplete.cpp +++ clang/lib/Sema/SemaCodeComplete.cpp @@ -3653,6 +3653,10 @@ unsigned CurrentArg, Sema &S, CodeCompletionAllocator &Allocator, CodeCompletionTUInfo &CCTUInfo, bool IncludeBriefComments) const { PrintingPolicy Policy = getCompletionPrintingPolicy(S); + // Show signatures of constructors as they are declared: + // vector(int n) rather than vector<string>(int n) + // This is less noisy without being less clear, and avoids tricky cases. + Policy.SuppressTemplateArgsInCXXConstructors = true; // FIXME: Set priority, availability appropriately. CodeCompletionBuilder Result(Allocator, CCTUInfo, 1,
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits