From ae1561d38e5ac05f9398bcd6a0acdf65305d8ec9 Mon Sep 17 00:00:00 2001 From: Kristof Umann Date: Tue, 19 Jun 2018 08:35:02 +0000 Subject: [PATCH] [analyzer] Made a buildbot happy. Since `isPrimitiveType` was only used in an assert, a builbot with `-Werror` and no asserts enabled failed to build it as it was unused. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@335030 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Checkers/UninitializedObjectChecker.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp b/lib/StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp index 63e4b817da..a517e81122 100644 --- a/lib/StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp @@ -384,15 +384,17 @@ bool FindUninitializedFields::isNonUnionUninit(const TypedValueRegion *R, continue; } - assert(isPrimitiveType(T) && "Non-primitive type! " - "At this point FR must be primitive!"); + if (isPrimitiveType(T)) { + SVal V = State->getSVal(FieldVal); - SVal V = State->getSVal(FieldVal); - - if (isPrimitiveUninit(V)) { - if (addFieldToUninits({LocalChain, FR})) - ContainsUninitField = true; + if (isPrimitiveUninit(V)) { + if (addFieldToUninits({LocalChain, FR})) + ContainsUninitField = true; + } + continue; } + + llvm_unreachable("All cases are handled!"); } // Checking bases. -- 2.50.1