Line data Source code
1 : //===- NativeTypeBuiltin.cpp -------------------------------------- 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 : #include "llvm/DebugInfo/PDB/Native/NativeTypeBuiltin.h"
11 : #include "llvm/Support/FormatVariadic.h"
12 :
13 : using namespace llvm;
14 : using namespace llvm::codeview;
15 : using namespace llvm::pdb;
16 :
17 47 : NativeTypeBuiltin::NativeTypeBuiltin(NativeSession &PDBSession, SymIndexId Id,
18 : ModifierOptions Mods, PDB_BuiltinType T,
19 47 : uint64_t L)
20 : : NativeRawSymbol(PDBSession, PDB_SymType::BuiltinType, Id),
21 47 : Session(PDBSession), Mods(Mods), Type(T), Length(L) {}
22 :
23 94 : NativeTypeBuiltin::~NativeTypeBuiltin() {}
24 :
25 0 : void NativeTypeBuiltin::dump(raw_ostream &OS, int Indent,
26 : PdbSymbolIdField ShowIdFields,
27 0 : PdbSymbolIdField RecurseIdFields) const {}
28 :
29 284 : PDB_SymType NativeTypeBuiltin::getSymTag() const {
30 284 : return PDB_SymType::BuiltinType;
31 : }
32 :
33 307 : PDB_BuiltinType NativeTypeBuiltin::getBuiltinType() const { return Type; }
34 :
35 107 : bool NativeTypeBuiltin::isConstType() const {
36 214 : return (Mods & ModifierOptions::Const) != ModifierOptions::None;
37 : }
38 :
39 275 : uint64_t NativeTypeBuiltin::getLength() const { return Length; }
40 :
41 0 : bool NativeTypeBuiltin::isUnalignedType() const {
42 0 : return (Mods & ModifierOptions::Unaligned) != ModifierOptions::None;
43 : }
44 :
45 107 : bool NativeTypeBuiltin::isVolatileType() const {
46 214 : return (Mods & ModifierOptions::Volatile) != ModifierOptions::None;
47 : }
|