Make everything more gdb-friendly by using an enum for symbol constants
rather than #defines.
gcc/
* dwarf2codeview.cc (S_LDATA32, S_GDATA32, S_COMPILE3): Undefine.
(enum cv_sym_type): Define.
(struct codeview_symbol): Use enum cv_sym_type.
(write_codeview_symbols): Add default to switch.
#define CHKSUM_TYPE_MD5 1
-#define S_LDATA32 0x110c
-#define S_GDATA32 0x110d
-#define S_COMPILE3 0x113c
-
#define CV_CFL_80386 0x03
#define CV_CFL_X64 0xD0
#define HASH_SIZE 16
+/* This is enum SYM_ENUM_e in Microsoft's cvinfo.h. */
+
+enum cv_sym_type {
+ S_LDATA32 = 0x110c,
+ S_GDATA32 = 0x110d,
+ S_COMPILE3 = 0x113c
+};
+
/* This is enum LEAF_ENUM_e in Microsoft's cvinfo.h. */
enum cv_leaf_type {
struct codeview_symbol
{
codeview_symbol *next;
- uint16_t kind;
+ enum cv_sym_type kind;
union
{
case S_GDATA32:
write_data_symbol (sym);
break;
+ default:
+ break;
}
free (sym);