LCOV - code coverage report
Current view: top level - include/llvm/IR - DebugInfoFlags.def (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 34 34 100.0 %
Date: 2018-10-19 05:06:59 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===- llvm/IR/DebugInfoFlags.def - Debug info flag definitions -*- 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             : // Macros for running through debug info flags.
      11             : //
      12             : //===----------------------------------------------------------------------===//
      13             : 
      14             : // TODO: Add other DW-based macros.
      15             : #ifndef HANDLE_DI_FLAG
      16             : #error "Missing macro definition of HANDLE_DI_FLAG"
      17             : #endif
      18             : 
      19        3744 : HANDLE_DI_FLAG(0, Zero) // Use it as zero value.
      20             :                         // For example: void foo(DIFlags Flags = FlagZero).
      21       11325 : HANDLE_DI_FLAG(1, Private)
      22       11351 : HANDLE_DI_FLAG(2, Protected)
      23       11700 : HANDLE_DI_FLAG(3, Public)
      24       11585 : HANDLE_DI_FLAG((1 << 2), FwdDecl)
      25       11313 : HANDLE_DI_FLAG((1 << 3), AppleBlock)
      26       11287 : HANDLE_DI_FLAG((1 << 4), BlockByrefStruct)
      27       11301 : HANDLE_DI_FLAG((1 << 5), Virtual)
      28       14244 : HANDLE_DI_FLAG((1 << 6), Artificial)
      29       11287 : HANDLE_DI_FLAG((1 << 7), Explicit)
      30       14681 : HANDLE_DI_FLAG((1 << 8), Prototyped)
      31       11331 : HANDLE_DI_FLAG((1 << 9), ObjcClassComplete)
      32       12591 : HANDLE_DI_FLAG((1 << 10), ObjectPointer)
      33       11303 : HANDLE_DI_FLAG((1 << 11), Vector)
      34       11392 : HANDLE_DI_FLAG((1 << 12), StaticMember)
      35       11296 : HANDLE_DI_FLAG((1 << 13), LValueReference)
      36       11291 : HANDLE_DI_FLAG((1 << 14), RValueReference)
      37             : // 15 was formerly ExternalTypeRef, but this was never used.
      38       11286 : HANDLE_DI_FLAG((1 << 15), Reserved)
      39       11296 : HANDLE_DI_FLAG((1 << 16), SingleInheritance)
      40       11288 : HANDLE_DI_FLAG((2 << 16), MultipleInheritance)
      41       11288 : HANDLE_DI_FLAG((3 << 16), VirtualInheritance)
      42       11305 : HANDLE_DI_FLAG((1 << 18), IntroducedVirtual)
      43       11300 : HANDLE_DI_FLAG((1 << 19), BitField)
      44       11292 : HANDLE_DI_FLAG((1 << 20), NoReturn)
      45       11286 : HANDLE_DI_FLAG((1 << 21), MainSubprogram)
      46       11737 : HANDLE_DI_FLAG((1 << 22), TypePassByValue)
      47       11411 : HANDLE_DI_FLAG((1 << 23), TypePassByReference)
      48       11337 : HANDLE_DI_FLAG((1 << 24), FixedEnum)
      49       11318 : HANDLE_DI_FLAG((1 << 25), Thunk)
      50       11615 : HANDLE_DI_FLAG((1 << 26), Trivial)
      51       11292 : HANDLE_DI_FLAG((1 << 27), BigEndian)
      52       11292 : HANDLE_DI_FLAG((1 << 28), LittleEndian)
      53       11309 : HANDLE_DI_FLAG((1 << 29), AllCallsDescribed)
      54             : 
      55             : // To avoid needing a dedicated value for IndirectVirtualBase, we use
      56             : // the bitwise or of Virtual and FwdDecl, which does not otherwise
      57             : // make sense for inheritance.
      58       11287 : HANDLE_DI_FLAG((1 << 2) | (1 << 5), IndirectVirtualBase)
      59             : 
      60             : #ifdef DI_FLAG_LARGEST_NEEDED
      61             : // intended to be used with ADT/BitmaskEnum.h
      62             : // NOTE: always must be equal to largest flag, check this when adding new flag
      63             : HANDLE_DI_FLAG((1 << 29), Largest)
      64             : #undef DI_FLAG_LARGEST_NEEDED
      65             : #endif
      66             : 
      67             : #undef HANDLE_DI_FLAG

Generated by: LCOV version 1.13