LLVM  14.0.0git
NativeTypeBuiltin.cpp
Go to the documentation of this file.
1 //===- NativeTypeBuiltin.cpp -------------------------------------- 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 
11 
12 using namespace llvm;
13 using namespace llvm::codeview;
14 using namespace llvm::pdb;
15 
16 NativeTypeBuiltin::NativeTypeBuiltin(NativeSession &PDBSession, SymIndexId Id,
18  uint64_t L)
19  : NativeRawSymbol(PDBSession, PDB_SymType::BuiltinType, Id),
20  Session(PDBSession), Mods(Mods), Type(T), Length(L) {}
21 
23 
24 void NativeTypeBuiltin::dump(raw_ostream &OS, int Indent,
25  PdbSymbolIdField ShowIdFields,
26  PdbSymbolIdField RecurseIdFields) const {}
27 
30 }
31 
33 
35  return (Mods & ModifierOptions::Const) != ModifierOptions::None;
36 }
37 
39 
41  return (Mods & ModifierOptions::Unaligned) != ModifierOptions::None;
42 }
43 
45  return (Mods & ModifierOptions::Volatile) != ModifierOptions::None;
46 }
llvm
This file implements support for optimizing divisions by a constant.
Definition: AllocatorList.h:23
T
llvm::codeview::ModifierOptions
ModifierOptions
Equivalent to CV_modifier_t.
Definition: CodeView.h:302
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition: Type.h:45
llvm::pdb::PDB_SymType
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:243
llvm::pdb::NativeTypeBuiltin::~NativeTypeBuiltin
~NativeTypeBuiltin() override
Definition: NativeTypeBuiltin.cpp:22
llvm::pdb::NativeTypeBuiltin::isVolatileType
bool isVolatileType() const override
Definition: NativeTypeBuiltin.cpp:44
llvm::pdb::NativeTypeBuiltin::Mods
codeview::ModifierOptions Mods
Definition: NativeTypeBuiltin.h:41
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
FormatVariadic.h
llvm::None
const NoneType None
Definition: None.h:23
llvm::pdb
Definition: ConcreteSymbolEnumerator.h:20
llvm::pdb::NativeTypeBuiltin::getLength
uint64_t getLength() const override
Definition: NativeTypeBuiltin.cpp:38
uint64_t
llvm::pdb::NativeTypeBuiltin::getBuiltinType
PDB_BuiltinType getBuiltinType() const override
Definition: NativeTypeBuiltin.cpp:32
llvm::pdb::NativeTypeBuiltin::dump
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
Definition: NativeTypeBuiltin.cpp:24
llvm::pdb::NativeTypeBuiltin::Length
uint64_t Length
Definition: NativeTypeBuiltin.h:43
uint32_t
llvm::pdb::PDB_BuiltinType
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn....
Definition: PDBTypes.h:335
llvm::pdb::NativeTypeBuiltin::isUnalignedType
bool isUnalignedType() const override
Definition: NativeTypeBuiltin.cpp:40
llvm::pdb::NativeSession
Definition: NativeSession.h:28
llvm::codeview
Definition: AppendingTypeTableBuilder.h:22
llvm::pdb::PdbSymbolIdField
PdbSymbolIdField
Definition: IPDBRawSymbol.h:24
llvm::pdb::PDB_SymType::BuiltinType
@ BuiltinType
NativeTypeBuiltin.h
llvm::AMDGPU::VGPRIndexMode::Id
Id
Definition: SIDefines.h:231
llvm::pdb::NativeTypeBuiltin::isConstType
bool isConstType() const override
Definition: NativeTypeBuiltin.cpp:34
llvm::pdb::NativeTypeBuiltin::getSymTag
PDB_SymType getSymTag() const override
Definition: NativeTypeBuiltin.cpp:28
llvm::pdb::NativeTypeBuiltin::Type
PDB_BuiltinType Type
Definition: NativeTypeBuiltin.h:42
llvm::pdb::NativeRawSymbol
Definition: NativeRawSymbol.h:21