From: Andrei Elovikov Date: Mon, 20 Aug 2018 13:45:38 +0000 (+0000) Subject: [NFC] Don't define static function in header (UninitializedObject.h) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a2e82dd67e5e27c665d5230f497e2015a870251;p=clang [NFC] Don't define static function in header (UninitializedObject.h) 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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@340174 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h b/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h index ee9bcecb4e..bcecfb76ce 100644 --- a/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h +++ b/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h @@ -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(); } diff --git a/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp b/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp index e459d984f7..5817ea775f 100644 --- a/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp +++ b/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp @@ -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)