r284340 - Revert "[analyzer] Make MallocChecker more robust against custom redeclarations"

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 16 12:26:08 PDT 2016


Author: dcoughlin
Date: Sun Oct 16 14:26:07 2016
New Revision: 284340

URL: http://llvm.org/viewvc/llvm-project?rev=284340&view=rev
Log:
Revert "[analyzer] Make MallocChecker more robust against custom redeclarations"

This reverts commit r284335.

It appears to be causing test-suite compile-time and execution-time
performance measurements to take longer than expected on several bots.
This is surprising, because r284335 is a static-analyzer-only change.

Removed:
    cfe/trunk/test/Analysis/malloc-custom.c
Modified:
    cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp

Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp?rev=284340&r1=284339&r2=284340&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/MallocChecker.cpp Sun Oct 16 14:26:07 2016
@@ -778,8 +778,6 @@ void MallocChecker::checkPostStmt(const
           State = MallocMemAux(C, CE, CE->getArg(0), UndefinedVal(), State);
       }
     } else if (FunI == II_kmalloc) {
-      if (CE->getNumArgs() < 1)
-        return;
       llvm::Optional<ProgramStateRef> MaybeState =
         performKernelMalloc(CE, C, State);
       if (MaybeState.hasValue())
@@ -809,8 +807,6 @@ void MallocChecker::checkPostStmt(const
     } else if (FunI == II_strndup) {
       State = MallocUpdateRefState(C, CE, State);
     } else if (FunI == II_alloca || FunI == II_win_alloca) {
-      if (CE->getNumArgs() < 1)
-        return;
       State = MallocMemAux(C, CE, CE->getArg(0), UndefinedVal(), State,
                            AF_Alloca);
       State = ProcessZeroAllocation(C, CE, 0, State);

Removed: cfe/trunk/test/Analysis/malloc-custom.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/malloc-custom.c?rev=284339&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/malloc-custom.c (original)
+++ cfe/trunk/test/Analysis/malloc-custom.c (removed)
@@ -1,32 +0,0 @@
-// RUN: %clang_cc1 -analyze -analyzer-checker=core,unix.Malloc -Wno-incompatible-library-redeclaration -verify %s
-
-// Various tests to make the the analyzer is robust against custom
-// redeclarations of memory routines.
-//
-// You wouldn't expect to see much of this in normal code, but, for example,
-// CMake tests can generate these.
-
-// expected-no-diagnostics
-
-char alloca();
-char malloc();
-char realloc();
-char kmalloc();
-char valloc();
-char calloc();
-
-char free();
-char kfree();
-
-void testCustomArgumentlessAllocation() {
-  alloca(); // no-crash
-  malloc(); // no-crash
-  realloc(); // no-crash
-  kmalloc(); // no-crash
-  valloc(); // no-crash
-  calloc(); // no-crash
-
-  free(); // no-crash
-  kfree(); // no-crash
-}
-




More information about the cfe-commits mailing list