mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Emit debug information for globals (which include automatic variables as well because on PIC16 they are emitted as globals by the frontend).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72262 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
93
lib/Target/PIC16/PIC16DebugInfo.h
Normal file
93
lib/Target/PIC16/PIC16DebugInfo.h
Normal file
@@ -0,0 +1,93 @@
|
||||
//===-- PIC16DebugInfo.h - Interfaces for PIC16 Debug Information ============//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file contains the helper functions for representing debug information.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef PIC16DBG_H
|
||||
#define PIC16DBG_H
|
||||
|
||||
#include "llvm/Analysis/DebugInfo.h"
|
||||
|
||||
namespace llvm {
|
||||
namespace PIC16Dbg {
|
||||
enum VarType {
|
||||
T_NULL,
|
||||
T_VOID,
|
||||
T_CHAR,
|
||||
T_SHORT,
|
||||
T_INT,
|
||||
T_LONG,
|
||||
T_FLOAT,
|
||||
T_DOUBLE,
|
||||
T_STRUCT,
|
||||
T_UNION,
|
||||
T_ENUM,
|
||||
T_MOE,
|
||||
T_UCHAR,
|
||||
T_USHORT,
|
||||
T_UINT,
|
||||
T_ULONG
|
||||
};
|
||||
enum DerivedType {
|
||||
DT_NONE,
|
||||
DT_PTR,
|
||||
DT_FCN,
|
||||
DT_ARY
|
||||
};
|
||||
enum TypeSize {
|
||||
S_BASIC = 5,
|
||||
S_DERIVED = 3
|
||||
};
|
||||
enum DbgClass {
|
||||
C_NULL,
|
||||
C_AUTO,
|
||||
C_EXT,
|
||||
C_STAT,
|
||||
C_REG,
|
||||
C_EXTDEF,
|
||||
C_LABEL,
|
||||
C_ULABEL,
|
||||
C_MOS,
|
||||
C_ARG,
|
||||
C_STRTAG,
|
||||
C_MOU,
|
||||
C_UNTAG,
|
||||
C_TPDEF,
|
||||
C_USTATIC,
|
||||
C_ENTAG,
|
||||
C_MOE,
|
||||
C_REGPARM,
|
||||
C_FIELD,
|
||||
C_AUTOARG,
|
||||
C_LASTENT,
|
||||
C_BLOCK = 100,
|
||||
C_FCN,
|
||||
C_EOS,
|
||||
C_FILE,
|
||||
C_LINE,
|
||||
C_ALIAS,
|
||||
C_HIDDEN,
|
||||
C_EOF,
|
||||
C_LIST,
|
||||
C_SECTION,
|
||||
C_EFCN = 255
|
||||
};
|
||||
}
|
||||
|
||||
class PIC16DbgInfo {
|
||||
public:
|
||||
void PopulateDebugInfo(DIType Ty, unsigned short &TypeNo, bool &HasAux,
|
||||
int Aux[], std::string &TypeName);
|
||||
unsigned GetTypeDebugNumber(std::string &type);
|
||||
short getClass(DIGlobalVariable DIGV);
|
||||
};
|
||||
} // end namespace llvm;
|
||||
#endif
|
Reference in New Issue
Block a user