Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
//===- CVDebugRecord.h ------------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
 
9
#ifndef LLVM_OBJECT_CVDEBUGRECORD_H
10
#define LLVM_OBJECT_CVDEBUGRECORD_H
11
 
12
#include "llvm/Support/Endian.h"
13
 
14
namespace llvm {
15
namespace OMF {
16
struct Signature {
17
  enum ID : uint32_t {
18
    PDB70 = 0x53445352, // RSDS
19
    PDB20 = 0x3031424e, // NB10
20
    CV50 = 0x3131424e,  // NB11
21
    CV41 = 0x3930424e,  // NB09
22
  };
23
 
24
  support::ulittle32_t CVSignature;
25
  support::ulittle32_t Offset;
26
};
27
}
28
 
29
namespace codeview {
30
struct PDB70DebugInfo {
31
  support::ulittle32_t CVSignature;
32
  uint8_t Signature[16];
33
  support::ulittle32_t Age;
34
  // char PDBFileName[];
35
};
36
 
37
struct PDB20DebugInfo {
38
  support::ulittle32_t CVSignature;
39
  support::ulittle32_t Offset;
40
  support::ulittle32_t Signature;
41
  support::ulittle32_t Age;
42
  // char PDBFileName[];
43
};
44
 
45
union DebugInfo {
46
  struct OMF::Signature Signature;
47
  struct PDB20DebugInfo PDB20;
48
  struct PDB70DebugInfo PDB70;
49
};
50
}
51
}
52
 
53
#endif
54