GCC Middle and Back End API Reference
dwarf2codeview.h File Reference
#include "dwarf2out.h"
#include "flags.h"
Include dependency graph for dwarf2codeview.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define T_VOID   0x0003
 
#define T_HRESULT   0x0008
 
#define T_CHAR   0x0010
 
#define T_SHORT   0x0011
 
#define T_LONG   0x0012
 
#define T_QUAD   0x0013
 
#define T_UCHAR   0x0020
 
#define T_USHORT   0x0021
 
#define T_ULONG   0x0022
 
#define T_UQUAD   0x0023
 
#define T_BOOL08   0x0030
 
#define T_REAL32   0x0040
 
#define T_REAL64   0x0041
 
#define T_REAL80   0x0042
 
#define T_REAL128   0x0043
 
#define T_RCHAR   0x0070
 
#define T_WCHAR   0x0071
 
#define T_INT4   0x0074
 
#define T_UINT4   0x0075
 
#define T_CHAR16   0x007a
 
#define T_CHAR32   0x007b
 
#define T_CHAR8   0x007c
 
#define CV_POINTER_32   0x0400
 
#define CV_POINTER_64   0x0600
 
#define T_32PVOID   (T_VOID | CV_POINTER_32)
 
#define T_64PVOID   (T_VOID | CV_POINTER_64)
 
#define CV_PTR_NEAR32   0x0a
 
#define CV_PTR_64   0x0c
 
#define CV_PTR_MODE_MASK   0xe0
 
#define CV_PTR_MODE_LVREF   0x20
 
#define CV_PTR_MODE_PMEM   0x40
 
#define CV_PTR_MODE_PMFUNC   0x60
 
#define CV_PTR_MODE_RVREF   0x80
 
#define CV_PMTYPE_D_Single   0x01
 
#define CV_PMTYPE_F_Single   0x05
 
#define MOD_const   0x1
 
#define MOD_volatile   0x2
 
#define CV_ACCESS_PRIVATE   1
 
#define CV_ACCESS_PROTECTED   2
 
#define CV_ACCESS_PUBLIC   3
 
#define CV_METHOD_VANILLA   0x00
 
#define CV_METHOD_VIRTUAL   0x04
 
#define CV_METHOD_STATIC   0x08
 
#define CV_METHOD_FRIEND   0x0c
 
#define CV_METHOD_INTRO   0x10
 
#define CV_METHOD_PUREVIRT   0x14
 
#define CV_METHOD_PUREINTRO   0x18
 
#define CV_PROP_FWDREF   0x80
 

Functions

void codeview_debug_finish (void)
 
void codeview_source_line (unsigned int, const char *)
 
void codeview_start_source_file (const char *)
 
void codeview_switch_text_section ()
 
void codeview_end_epilogue (void)
 
void codeview_debug_early_finish (dw_die_ref die)
 

Macro Definition Documentation

◆ CV_ACCESS_PRIVATE

#define CV_ACCESS_PRIVATE   1

◆ CV_ACCESS_PROTECTED

#define CV_ACCESS_PROTECTED   2

◆ CV_ACCESS_PUBLIC

#define CV_ACCESS_PUBLIC   3

◆ CV_METHOD_FRIEND

#define CV_METHOD_FRIEND   0x0c

◆ CV_METHOD_INTRO

#define CV_METHOD_INTRO   0x10

◆ CV_METHOD_PUREINTRO

#define CV_METHOD_PUREINTRO   0x18

◆ CV_METHOD_PUREVIRT

#define CV_METHOD_PUREVIRT   0x14

◆ CV_METHOD_STATIC

#define CV_METHOD_STATIC   0x08

◆ CV_METHOD_VANILLA

#define CV_METHOD_VANILLA   0x00
CV_methodprop_e values in cvinfo.h, shifted by 2 for CV_fldattr_t.   

◆ CV_METHOD_VIRTUAL

#define CV_METHOD_VIRTUAL   0x04

◆ CV_PMTYPE_D_Single

#define CV_PMTYPE_D_Single   0x01
enum CV_pmtype_e in in cvinfo.h  

◆ CV_PMTYPE_F_Single

#define CV_PMTYPE_F_Single   0x05

◆ CV_POINTER_32

#define CV_POINTER_32   0x0400

◆ CV_POINTER_64

#define CV_POINTER_64   0x0600

◆ CV_PROP_FWDREF

#define CV_PROP_FWDREF   0x80

◆ CV_PTR_64

#define CV_PTR_64   0x0c

◆ CV_PTR_MODE_LVREF

#define CV_PTR_MODE_LVREF   0x20

◆ CV_PTR_MODE_MASK

#define CV_PTR_MODE_MASK   0xe0
enum CV_ptrmode_e in cvinfo.h, shifted by 5 for the lfPointerAttr bitfield  

◆ CV_PTR_MODE_PMEM

#define CV_PTR_MODE_PMEM   0x40

◆ CV_PTR_MODE_PMFUNC

#define CV_PTR_MODE_PMFUNC   0x60

◆ CV_PTR_MODE_RVREF

#define CV_PTR_MODE_RVREF   0x80

◆ CV_PTR_NEAR32

#define CV_PTR_NEAR32   0x0a
LF_POINTER attributes.   

◆ MOD_const

#define MOD_const   0x1
LF_MODIFIER values.   

◆ MOD_volatile

#define MOD_volatile   0x2

◆ T_32PVOID

#define T_32PVOID   (T_VOID | CV_POINTER_32)

◆ T_64PVOID

#define T_64PVOID   (T_VOID | CV_POINTER_64)

◆ T_BOOL08

#define T_BOOL08   0x0030

◆ T_CHAR

#define T_CHAR   0x0010

◆ T_CHAR16

#define T_CHAR16   0x007a

◆ T_CHAR32

#define T_CHAR32   0x007b

◆ T_CHAR8

#define T_CHAR8   0x007c

◆ T_HRESULT

#define T_HRESULT   0x0008

◆ T_INT4

#define T_INT4   0x0074

◆ T_LONG

#define T_LONG   0x0012

◆ T_QUAD

#define T_QUAD   0x0013

◆ T_RCHAR

#define T_RCHAR   0x0070

◆ T_REAL128

#define T_REAL128   0x0043

◆ T_REAL32

#define T_REAL32   0x0040

◆ T_REAL64

#define T_REAL64   0x0041

◆ T_REAL80

#define T_REAL80   0x0042

◆ T_SHORT

#define T_SHORT   0x0011

◆ T_UCHAR

#define T_UCHAR   0x0020

◆ T_UINT4

#define T_UINT4   0x0075

◆ T_ULONG

#define T_ULONG   0x0022

◆ T_UQUAD

#define T_UQUAD   0x0023

◆ T_USHORT

#define T_USHORT   0x0021

◆ T_VOID

#define T_VOID   0x0003
dwarf2codeview.h - DWARF interface for CodeView generation.
   Copyright (C) 2023 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
Constants for in-built types.   

◆ T_WCHAR

#define T_WCHAR   0x0071

Function Documentation

◆ codeview_debug_early_finish()

void codeview_debug_early_finish ( dw_die_ref die)
extern

◆ codeview_debug_finish()

void codeview_debug_finish ( void )
extern
Debug Format Interface.  Used in dwarf2out.cc.   

◆ codeview_end_epilogue()

void codeview_end_epilogue ( void )
extern

Referenced by dwarf2out_end_epilogue().

◆ codeview_source_line()

void codeview_source_line ( unsigned int ,
const char *  )
extern

◆ codeview_start_source_file()

void codeview_start_source_file ( const char * )
extern

Referenced by dwarf2out_define().

◆ codeview_switch_text_section()

void codeview_switch_text_section ( )
extern