1 //===- NativeTypeBuiltin.h ---------------------------------------- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEBUILTIN_H
10 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEBUILTIN_H
12 #include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
14 #include "llvm/DebugInfo/PDB/PDBTypes.h"
21 class NativeTypeBuiltin : public NativeRawSymbol {
23 NativeTypeBuiltin(NativeSession &PDBSession, SymIndexId Id,
24 codeview::ModifierOptions Mods, PDB_BuiltinType T,
26 ~NativeTypeBuiltin() override;
28 void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
29 PdbSymbolIdField RecurseIdFields) const override;
31 PDB_SymType getSymTag() const override;
33 PDB_BuiltinType getBuiltinType() const override;
34 bool isConstType() const override;
35 uint64_t getLength() const override;
36 bool isUnalignedType() const override;
37 bool isVolatileType() const override;
40 NativeSession &Session;
41 codeview::ModifierOptions Mods;