]> granicus.if.org Git - clang/commitdiff
Fix issues missed during the review of r222099.
authorRichard Trieu <rtrieu@google.com>
Sat, 15 Nov 2014 06:37:39 +0000 (06:37 +0000)
committerRichard Trieu <rtrieu@google.com>
Sat, 15 Nov 2014 06:37:39 +0000 (06:37 +0000)
Shift some functions around, make a method in Sema private,
call the correct overloaded function.  No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222081 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Sema/Sema.h
lib/Sema/SemaChecking.cpp

index 905f60d2a07a68fb2bd4793756a1d44730ca9f18..96dec478bffb4385099dc62fb070f9d1cede2f82 100644 (file)
@@ -2771,8 +2771,6 @@ public:
                                       const AttributeList *AttrList);
 
   void checkUnusedDeclAttributes(Declarator &D);
-    
-  void CheckBoolLikeConversion(Expr *E, SourceLocation CC);
 
   /// Determine if type T is a valid subject for a nonnull and similar
   /// attributes. By default, we look through references (the behavior used by
@@ -8592,6 +8590,7 @@ private:
 
   void CheckFloatComparison(SourceLocation Loc, Expr* LHS, Expr* RHS);
   void CheckImplicitConversions(Expr *E, SourceLocation CC = SourceLocation());
+  void CheckBoolLikeConversion(Expr *E, SourceLocation CC);
   void CheckForIntOverflow(Expr *E);
   void CheckUnsequencedOperations(Expr *E);
 
index b27ce7c70980d206879df3875ccc6362604a9090..72fc3e37490c4fef1b84b6b609b8d3949b6e5520 100644 (file)
@@ -6526,6 +6526,14 @@ void CheckConditionalOperator(Sema &S, ConditionalOperator *E,
                             E->getType(), CC, &Suspicious);
 }
 
+/// CheckBoolLikeConversion - Check conversion of given expression to boolean.
+/// Input argument E is a logical expression.
+static void CheckBoolLikeConversion(Sema &S, Expr *E, SourceLocation CC) {
+  if (S.getLangOpts().Bool)
+    return;
+  CheckImplicitConversion(S, E->IgnoreParenImpCasts(), S.Context.BoolTy, CC);
+}
+
 /// AnalyzeImplicitConversions - Find and report any interesting
 /// implicit conversions in the given expression.  There are a couple
 /// of competing diagnostics here, -Wconversion and -Wsign-compare.
@@ -6606,12 +6614,12 @@ void AnalyzeImplicitConversions(Sema &S, Expr *OrigE, SourceLocation CC) {
     AnalyzeImplicitConversions(S, ChildExpr, CC);
   }
   if (BO && BO->isLogicalOp()) {
-    S.CheckBoolLikeConversion(BO->getLHS(), BO->getLHS()->getExprLoc());
-    S.CheckBoolLikeConversion(BO->getRHS(), BO->getRHS()->getExprLoc());
+    ::CheckBoolLikeConversion(S, BO->getLHS(), BO->getLHS()->getExprLoc());
+    ::CheckBoolLikeConversion(S, BO->getRHS(), BO->getRHS()->getExprLoc());
   }
   if (const UnaryOperator *U = dyn_cast<UnaryOperator>(E))
     if (U->getOpcode() == UO_LNot)
-      S.CheckBoolLikeConversion(U->getSubExpr(), CC);
+      ::CheckBoolLikeConversion(S, U->getSubExpr(), CC);
 }
 
 } // end anonymous namespace
@@ -6670,18 +6678,6 @@ static bool IsInAnyMacroBody(const SourceManager &SM, SourceLocation Loc) {
   return false;
 }
 
-/// CheckBoolLikeConversion - Check conversion of given expression to boolean.
-/// Input argument E is a logical expression.
-static void CheckBoolLikeConversion(Sema &S, Expr *E, SourceLocation CC) {
-  if (S.getLangOpts().Bool)
-    return;
-  CheckImplicitConversion(S, E->IgnoreParenImpCasts(), S.Context.BoolTy, CC);
-}
-
-void Sema::CheckBoolLikeConversion(Expr *E, SourceLocation CC) {
-  ::CheckBoolLikeConversion(*this, E, CC);
-}
-
 /// \brief Diagnose pointers that are always non-null.
 /// \param E the expression containing the pointer
 /// \param NullKind NPCK_NotNull if E is a cast to bool, otherwise, E is
@@ -6839,6 +6835,12 @@ void Sema::CheckImplicitConversions(Expr *E, SourceLocation CC) {
   AnalyzeImplicitConversions(*this, E, CC);
 }
 
+/// CheckBoolLikeConversion - Check conversion of given expression to boolean.
+/// Input argument E is a logical expression.
+void Sema::CheckBoolLikeConversion(Expr *E, SourceLocation CC) {
+  ::CheckBoolLikeConversion(*this, E, CC);
+}
+
 /// Diagnose when expression is an integer constant expression and its evaluation
 /// results in integer overflow
 void Sema::CheckForIntOverflow (Expr *E) {