[NFC] Don't define static function in header (UninitializedObject.h)
authorAndrei Elovikov <andrei.elovikov@intel.com>
Mon, 20 Aug 2018 13:45:38 +0000 (13:45 +0000)
committerAndrei Elovikov <andrei.elovikov@intel.com>
Mon, 20 Aug 2018 13:45:38 +0000 (13:45 +0000)
Summary:
See also http://lists.llvm.org/pipermail/cfe-users/2016-January/000854.html for
the reasons why it's bad.

Reviewers: Szelethus, erichkeane

Reviewed By: Szelethus

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D50963

llvm-svn: 340174

clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp

index ee9bcec..bcecfb7 100644 (file)
@@ -233,7 +233,7 @@ private:
 /// value is undefined or not, such as ints and doubles, can be analyzed with
 /// ease. This also helps ensuring that every special field type is handled
 /// correctly.
-static bool isPrimitiveType(const QualType &T) {
+inline bool isPrimitiveType(const QualType &T) {
   return T->isBuiltinType() || T->isEnumeralType() || T->isMemberPointerType();
 }
 
index e459d98..5817ea7 100644 (file)
@@ -215,12 +215,10 @@ bool FindUninitializedFields::isPointerOrReferenceUninit(
     llvm_unreachable("All cases are handled!");
   }
 
-  // Temporary variable to avoid warning from -Wunused-function.
-  bool IsPrimitive = isPrimitiveType(DynT->getPointeeType());
-  assert((IsPrimitive || DynT->isAnyPointerType() || DynT->isReferenceType()) &&
+  assert((isPrimitiveType(DynT->getPointeeType()) || DynT->isAnyPointerType() ||
+          DynT->isReferenceType()) &&
          "At this point FR must either have a primitive dynamic type, or it "
          "must be a null, undefined, unknown or concrete pointer!");
-  (void)IsPrimitive;
 
   if (isPrimitiveUninit(DerefdV)) {
     if (NeedsCastBack)