aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2codeview.h
diff options
context:
space:
mode:
authorMark Harmstone <mark@harmstone.com>2024-06-23 21:48:22 -0600
committerJeff Law <jlaw@ventanamicro.com>2024-06-23 21:48:22 -0600
commitd820db38870155d941ffcad5846389e0de059534 (patch)
treee167734f89497d9518066f27c1a65cc51c89c54f /gcc/dwarf2codeview.h
parent29fec9ee74c3219bce714f2e5b6381a48049e01e (diff)
downloadgcc-d820db38870155d941ffcad5846389e0de059534.zip
gcc-d820db38870155d941ffcad5846389e0de059534.tar.gz
gcc-d820db38870155d941ffcad5846389e0de059534.tar.bz2
[PATCH 06/11] Handle enums for CodeView
Translates DW_TAG_enumeration_type DIEs into LF_ENUM symbols. gcc/ * dwarf2codeview.cc (MAX_FIELDLIST_SIZE): Define. (struct codeview_integer): New structure. (struct codeview_subtype): Likewise (struct codeview_custom_type): Add lf_fieldlist and lf_enum to union. (write_cv_integer, cv_integer_len): New functions. (write_lf_fieldlist, write_lf_enum): Likewise. (write_custom_types): Call write_lf_fieldlist and write_lf_enum. (add_enum_forward_def): New function. (get_type_num_enumeration_type): Likewise. (get_type_num): Handle DW_TAG_enumeration_type DIEs. * dwarf2codeview.h (LF_FIELDLIST, LF_INDEX, LF_ENUMERATE): Define. (LF_ENUM, LF_CHAR, LF_SHORT, LF_USHORT, LF_LONG): Likewise. (LF_ULONG, LF_QUADWORD, LF_UQUADWORD): Likewise. (CV_ACCESS_PRIVATE, CV_ACCESS_PROTECTED): Likewise. (CV_ACCESS_PUBLIC, CV_PROP_FWDREF): Likewise.
Diffstat (limited to 'gcc/dwarf2codeview.h')
-rw-r--r--gcc/dwarf2codeview.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/dwarf2codeview.h b/gcc/dwarf2codeview.h
index d48cfbe..3f36956 100644
--- a/gcc/dwarf2codeview.h
+++ b/gcc/dwarf2codeview.h
@@ -63,6 +63,23 @@ along with GCC; see the file COPYING3. If not see
/* Constants for type definitions. */
#define LF_MODIFIER 0x1001
#define LF_POINTER 0x1002
+#define LF_FIELDLIST 0x1203
+#define LF_INDEX 0x1404
+#define LF_ENUMERATE 0x1502
+#define LF_ENUM 0x1507
+#define LF_CHAR 0x8000
+#define LF_SHORT 0x8001
+#define LF_USHORT 0x8002
+#define LF_LONG 0x8003
+#define LF_ULONG 0x8004
+#define LF_QUADWORD 0x8009
+#define LF_UQUADWORD 0x800a
+
+#define CV_ACCESS_PRIVATE 1
+#define CV_ACCESS_PROTECTED 2
+#define CV_ACCESS_PUBLIC 3
+
+#define CV_PROP_FWDREF 0x80
/* Debug Format Interface. Used in dwarf2out.cc. */