LogChannelDWARF.h revision 344779
1//===-- LogChannelDWARF.h ---------------------------------------*- 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#ifndef SymbolFileDWARF_LogChannelDWARF_h_
11#define SymbolFileDWARF_LogChannelDWARF_h_
12
13#include "lldb/Utility/Log.h"
14
15#define DWARF_LOG_DEBUG_INFO (1u << 1)
16#define DWARF_LOG_DEBUG_LINE (1u << 2)
17#define DWARF_LOG_DEBUG_PUBNAMES (1u << 3)
18#define DWARF_LOG_DEBUG_PUBTYPES (1u << 4)
19#define DWARF_LOG_DEBUG_ARANGES (1u << 5)
20#define DWARF_LOG_LOOKUPS (1u << 6)
21#define DWARF_LOG_TYPE_COMPLETION (1u << 7)
22#define DWARF_LOG_DEBUG_MAP (1u << 8)
23#define DWARF_LOG_ALL (UINT32_MAX)
24#define DWARF_LOG_DEFAULT (DWARF_LOG_DEBUG_INFO)
25
26namespace lldb_private {
27class LogChannelDWARF {
28  static Log::Channel g_channel;
29
30public:
31  static void Initialize();
32  static void Terminate();
33
34  static Log *GetLogIfAll(uint32_t mask) { return g_channel.GetLogIfAll(mask); }
35  static Log *GetLogIfAny(uint32_t mask) { return g_channel.GetLogIfAny(mask); }
36};
37}
38
39#endif // SymbolFileDWARF_LogChannelDWARF_h_
40