zcov: / lib/Checker/Checker.cpp


Files: 1 Branches Taken: 52.9% 18 / 34
Generated: 2010-02-10 01:31 Branches Executed: 47.1% 16 / 34
Line Coverage: 100.0% 8 / 8


Programs: 1 Runs 2897


       1                 : //== Checker.h - Abstract interface for checkers -----------------*- C++ -*--=//
       2                 : //
       3                 : //                     The LLVM Compiler Infrastructure
       4                 : //
       5                 : // This file is distributed under the University of Illinois Open Source
       6                 : // License. See LICENSE.TXT for details.
       7                 : //
       8                 : //===----------------------------------------------------------------------===//
       9                 : //
      10                 : //  This file defines Checker and CheckerVisitor, classes used for creating
      11                 : //  domain-specific checks.
      12                 : //
      13                 : //===----------------------------------------------------------------------===//
      14                 : 
      15                 : #include "clang/Checker/PathSensitive/Checker.h"
      16                 : using namespace clang;
      17                 : 
                    47866: branch 0 taken
                    47866: branch 1 taken
                        0: branch 3 not taken
                        0: branch 4 not taken
                        0: branch 6 not taken
                    47866: branch 7 taken
      18            47866: Checker::~Checker() {}
      19                 : 
      20           895799: CheckerContext::~CheckerContext() {
      21                 :   // Do we need to autotransition?  'Dst' can get populated in a variety of
      22                 :   // ways, including 'addTransition()' adding the predecessor node to Dst
      23                 :   // without actually generated a new node.  We also shouldn't autotransition
      24                 :   // if we are building sinks or we generated a node and decided to not
      25                 :   // add it as a transition.
                   885128: branch 1 taken
                    10671: branch 2 taken
                   885128: branch 3 taken
                        0: branch 4 not taken
                   884868: branch 5 taken
                      260: branch 6 taken
                   884868: branch 7 taken
                    10931: branch 8 taken
                        0: branch 10 not taken
                        0: branch 11 not taken
                        0: branch 12 not taken
                        0: branch 13 not taken
                        0: branch 14 not taken
                        0: branch 15 not taken
                        0: branch 16 not taken
                        0: branch 17 not taken
      26           895799:   if (Dst.size() == size && !B.BuildSinks && !B.HasGeneratedNode) {
                   217867: branch 0 taken
                   667001: branch 1 taken
                     2169: branch 3 taken
                   215698: branch 4 taken
                     2169: branch 5 taken
                   882699: branch 6 taken
                   882699: branch 7 taken
                   882699: branch 8 taken
                        0: branch 10 not taken
                        0: branch 11 not taken
                        0: branch 12 not taken
                        0: branch 13 not taken
      27           884868:     if (ST && ST != B.GetState(Pred)) {
      28                 :       static int autoTransitionTag = 0;
      29             2169:       B.Tag = &autoTransitionTag;
      30             2169:       addTransition(ST);
      31                 :     }
      32                 :     else
      33           882699:       Dst.Add(Pred);
      34                 :   }
      35           895799: }

Generated: 2010-02-10 01:31 by zcov