r325496 - [CodeComplete] Avoid name clashes of 'Kind' inside CodeCompletionContext. NFC

Ilya Biryukov via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 19 05:53:50 PST 2018


Author: ibiryukov
Date: Mon Feb 19 05:53:49 2018
New Revision: 325496

URL: http://llvm.org/viewvc/llvm-project?rev=325496&view=rev
Log:
[CodeComplete] Avoid name clashes of 'Kind' inside CodeCompletionContext. NFC

CodeCompletionContext had declarations of field and enum inside, both named 'Kind'.
It caused gcc 4.8 to give an incorrent warning when refering to enum as
`enum CodeCompletionContext::Kind`.

Avoid that warning by renaming the private field to CCKind.

Modified:
    cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
    cfe/trunk/lib/Sema/CodeCompleteConsumer.cpp

Modified: cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h?rev=325496&r1=325495&r2=325496&view=diff
==============================================================================
--- cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h (original)
+++ cfe/trunk/include/clang/Sema/CodeCompleteConsumer.h Mon Feb 19 05:53:49 2018
@@ -271,7 +271,7 @@ public:
   using VisitedContextSet = llvm::SmallPtrSet<DeclContext*, 8>;
 
 private:
-  enum Kind Kind;
+  Kind CCKind;
 
   /// \brief The type that would prefer to see at this point (e.g., the type
   /// of an initializer or function parameter).
@@ -293,23 +293,22 @@ private:
 
 public:
   /// \brief Construct a new code-completion context of the given kind.
-  CodeCompletionContext(enum Kind Kind) : Kind(Kind), SelIdents(None) { }
+  CodeCompletionContext(Kind CCKind) : CCKind(CCKind), SelIdents(None) { }
 
   /// \brief Construct a new code-completion context of the given kind.
-  CodeCompletionContext(enum Kind Kind, QualType T,
+  CodeCompletionContext(Kind CCKind, QualType T,
                         ArrayRef<IdentifierInfo *> SelIdents = None)
-                        : Kind(Kind),
-                          SelIdents(SelIdents) {
-    if (Kind == CCC_DotMemberAccess || Kind == CCC_ArrowMemberAccess ||
-        Kind == CCC_ObjCPropertyAccess || Kind == CCC_ObjCClassMessage ||
-        Kind == CCC_ObjCInstanceMessage)
+      : CCKind(CCKind), SelIdents(SelIdents) {
+    if (CCKind == CCC_DotMemberAccess || CCKind == CCC_ArrowMemberAccess ||
+        CCKind == CCC_ObjCPropertyAccess || CCKind == CCC_ObjCClassMessage ||
+        CCKind == CCC_ObjCInstanceMessage)
       BaseType = T;
     else
       PreferredType = T;
   }
 
   /// \brief Retrieve the kind of code-completion context.
-  enum Kind getKind() const { return Kind; }
+  Kind getKind() const { return CCKind; }
 
   /// \brief Retrieve the type that this expression would prefer to have, e.g.,
   /// if the expression is a variable initializer or a function argument, the
@@ -352,7 +351,7 @@ public:
 };
 
 /// \brief Get string representation of \p Kind, useful for for debugging.
-llvm::StringRef getCompletionKindString(enum CodeCompletionContext::Kind Kind);
+llvm::StringRef getCompletionKindString(CodeCompletionContext::Kind Kind);
 
 /// \brief A "string" used to describe how code completion can
 /// be performed for an entity.

Modified: cfe/trunk/lib/Sema/CodeCompleteConsumer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/CodeCompleteConsumer.cpp?rev=325496&r1=325495&r2=325496&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/CodeCompleteConsumer.cpp (original)
+++ cfe/trunk/lib/Sema/CodeCompleteConsumer.cpp Mon Feb 19 05:53:49 2018
@@ -33,7 +33,7 @@ using namespace clang;
 //===----------------------------------------------------------------------===//
 
 bool CodeCompletionContext::wantConstructorResults() const {
-  switch (Kind) {
+  switch (CCKind) {
   case CCC_Recovery:
   case CCC_Statement:
   case CCC_Expression:
@@ -76,8 +76,8 @@ bool CodeCompletionContext::wantConstruc
   llvm_unreachable("Invalid CodeCompletionContext::Kind!");
 }
 
-StringRef clang::getCompletionKindString(enum CodeCompletionContext::Kind Kind) {
-  using CCKind = enum CodeCompletionContext::Kind;
+StringRef clang::getCompletionKindString(CodeCompletionContext::Kind Kind) {
+  using CCKind = CodeCompletionContext::Kind;
   switch (Kind) {
   case CCKind::CCC_Other:
     return "Other";




More information about the cfe-commits mailing list