mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-21 03:53:04 +02:00
7bd8b6b601
Differential Revision: https://reviews.llvm.org/D42734 llvm-svn: 324899
63 lines
2.2 KiB
C++
63 lines
2.2 KiB
C++
//===- llvm/IR/DebugInfoFlags.def - Debug info flag definitions -*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Macros for running through debug info flags.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// TODO: Add other DW-based macros.
|
|
#ifndef HANDLE_DI_FLAG
|
|
#error "Missing macro definition of HANDLE_DI_FLAG"
|
|
#endif
|
|
|
|
HANDLE_DI_FLAG(0, Zero) // Use it as zero value.
|
|
// For example: void foo(DIFlags Flags = FlagZero).
|
|
HANDLE_DI_FLAG(1, Private)
|
|
HANDLE_DI_FLAG(2, Protected)
|
|
HANDLE_DI_FLAG(3, Public)
|
|
HANDLE_DI_FLAG((1 << 2), FwdDecl)
|
|
HANDLE_DI_FLAG((1 << 3), AppleBlock)
|
|
HANDLE_DI_FLAG((1 << 4), BlockByrefStruct)
|
|
HANDLE_DI_FLAG((1 << 5), Virtual)
|
|
HANDLE_DI_FLAG((1 << 6), Artificial)
|
|
HANDLE_DI_FLAG((1 << 7), Explicit)
|
|
HANDLE_DI_FLAG((1 << 8), Prototyped)
|
|
HANDLE_DI_FLAG((1 << 9), ObjcClassComplete)
|
|
HANDLE_DI_FLAG((1 << 10), ObjectPointer)
|
|
HANDLE_DI_FLAG((1 << 11), Vector)
|
|
HANDLE_DI_FLAG((1 << 12), StaticMember)
|
|
HANDLE_DI_FLAG((1 << 13), LValueReference)
|
|
HANDLE_DI_FLAG((1 << 14), RValueReference)
|
|
// 15 was formerly ExternalTypeRef, but this was never used.
|
|
HANDLE_DI_FLAG((1 << 15), Reserved)
|
|
HANDLE_DI_FLAG((1 << 16), SingleInheritance)
|
|
HANDLE_DI_FLAG((2 << 16), MultipleInheritance)
|
|
HANDLE_DI_FLAG((3 << 16), VirtualInheritance)
|
|
HANDLE_DI_FLAG((1 << 18), IntroducedVirtual)
|
|
HANDLE_DI_FLAG((1 << 19), BitField)
|
|
HANDLE_DI_FLAG((1 << 20), NoReturn)
|
|
HANDLE_DI_FLAG((1 << 21), MainSubprogram)
|
|
HANDLE_DI_FLAG((1 << 22), TypePassByValue)
|
|
HANDLE_DI_FLAG((1 << 23), TypePassByReference)
|
|
HANDLE_DI_FLAG((1 << 24), FixedEnum)
|
|
|
|
// To avoid needing a dedicated value for IndirectVirtualBase, we use
|
|
// the bitwise or of Virtual and FwdDecl, which does not otherwise
|
|
// make sense for inheritance.
|
|
HANDLE_DI_FLAG((1 << 2) | (1 << 5), IndirectVirtualBase)
|
|
|
|
#ifdef DI_FLAG_LARGEST_NEEDED
|
|
// intended to be used with ADT/BitmaskEnum.h
|
|
// NOTE: always must be equal to largest flag, check this when adding new flag
|
|
HANDLE_DI_FLAG((1 << 24), Largest)
|
|
#undef DI_FLAG_LARGEST_NEEDED
|
|
#endif
|
|
|
|
#undef HANDLE_DI_FLAG
|