dbghelp: Add support for char32_t type.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b316ac1897
commit
8d6cf80026
|
@ -170,6 +170,7 @@ static void codeview_init_basic_types(struct module* module)
|
||||||
cv_basic_types[T_RCHAR] = &symt_new_basic(module, btInt, "signed char", 1)->symt;
|
cv_basic_types[T_RCHAR] = &symt_new_basic(module, btInt, "signed char", 1)->symt;
|
||||||
cv_basic_types[T_WCHAR] = &symt_new_basic(module, btWChar, "wchar_t", 2)->symt;
|
cv_basic_types[T_WCHAR] = &symt_new_basic(module, btWChar, "wchar_t", 2)->symt;
|
||||||
cv_basic_types[T_CHAR16] = &symt_new_basic(module, btChar16,"char16_t", 2)->symt;
|
cv_basic_types[T_CHAR16] = &symt_new_basic(module, btChar16,"char16_t", 2)->symt;
|
||||||
|
cv_basic_types[T_CHAR32] = &symt_new_basic(module, btChar32,"char32_t", 4)->symt;
|
||||||
cv_basic_types[T_INT2] = &symt_new_basic(module, btInt, "INT2", 2)->symt;
|
cv_basic_types[T_INT2] = &symt_new_basic(module, btInt, "INT2", 2)->symt;
|
||||||
cv_basic_types[T_UINT2] = &symt_new_basic(module, btUInt, "UINT2", 2)->symt;
|
cv_basic_types[T_UINT2] = &symt_new_basic(module, btUInt, "UINT2", 2)->symt;
|
||||||
cv_basic_types[T_INT4] = &symt_new_basic(module, btInt, "INT4", 4)->symt;
|
cv_basic_types[T_INT4] = &symt_new_basic(module, btInt, "INT4", 4)->symt;
|
||||||
|
@ -197,6 +198,7 @@ static void codeview_init_basic_types(struct module* module)
|
||||||
cv_basic_types[T_32PRCHAR] = &symt_new_pointer(module, cv_basic_types[T_RCHAR], 4)->symt;
|
cv_basic_types[T_32PRCHAR] = &symt_new_pointer(module, cv_basic_types[T_RCHAR], 4)->symt;
|
||||||
cv_basic_types[T_32PWCHAR] = &symt_new_pointer(module, cv_basic_types[T_WCHAR], 4)->symt;
|
cv_basic_types[T_32PWCHAR] = &symt_new_pointer(module, cv_basic_types[T_WCHAR], 4)->symt;
|
||||||
cv_basic_types[T_32PCHAR16] = &symt_new_pointer(module, cv_basic_types[T_CHAR16], 4)->symt;
|
cv_basic_types[T_32PCHAR16] = &symt_new_pointer(module, cv_basic_types[T_CHAR16], 4)->symt;
|
||||||
|
cv_basic_types[T_32PCHAR32] = &symt_new_pointer(module, cv_basic_types[T_CHAR32], 4)->symt;
|
||||||
cv_basic_types[T_32PINT2] = &symt_new_pointer(module, cv_basic_types[T_INT2], 4)->symt;
|
cv_basic_types[T_32PINT2] = &symt_new_pointer(module, cv_basic_types[T_INT2], 4)->symt;
|
||||||
cv_basic_types[T_32PUINT2] = &symt_new_pointer(module, cv_basic_types[T_UINT2], 4)->symt;
|
cv_basic_types[T_32PUINT2] = &symt_new_pointer(module, cv_basic_types[T_UINT2], 4)->symt;
|
||||||
cv_basic_types[T_32PINT4] = &symt_new_pointer(module, cv_basic_types[T_INT4], 4)->symt;
|
cv_basic_types[T_32PINT4] = &symt_new_pointer(module, cv_basic_types[T_INT4], 4)->symt;
|
||||||
|
@ -224,6 +226,7 @@ static void codeview_init_basic_types(struct module* module)
|
||||||
cv_basic_types[T_64PRCHAR] = &symt_new_pointer(module, cv_basic_types[T_RCHAR], 8)->symt;
|
cv_basic_types[T_64PRCHAR] = &symt_new_pointer(module, cv_basic_types[T_RCHAR], 8)->symt;
|
||||||
cv_basic_types[T_64PWCHAR] = &symt_new_pointer(module, cv_basic_types[T_WCHAR], 8)->symt;
|
cv_basic_types[T_64PWCHAR] = &symt_new_pointer(module, cv_basic_types[T_WCHAR], 8)->symt;
|
||||||
cv_basic_types[T_64PCHAR16] = &symt_new_pointer(module, cv_basic_types[T_CHAR16], 8)->symt;
|
cv_basic_types[T_64PCHAR16] = &symt_new_pointer(module, cv_basic_types[T_CHAR16], 8)->symt;
|
||||||
|
cv_basic_types[T_64PCHAR32] = &symt_new_pointer(module, cv_basic_types[T_CHAR32], 8)->symt;
|
||||||
cv_basic_types[T_64PINT2] = &symt_new_pointer(module, cv_basic_types[T_INT2], 8)->symt;
|
cv_basic_types[T_64PINT2] = &symt_new_pointer(module, cv_basic_types[T_INT2], 8)->symt;
|
||||||
cv_basic_types[T_64PUINT2] = &symt_new_pointer(module, cv_basic_types[T_UINT2], 8)->symt;
|
cv_basic_types[T_64PUINT2] = &symt_new_pointer(module, cv_basic_types[T_UINT2], 8)->symt;
|
||||||
cv_basic_types[T_64PINT4] = &symt_new_pointer(module, cv_basic_types[T_INT4], 8)->symt;
|
cv_basic_types[T_64PINT4] = &symt_new_pointer(module, cv_basic_types[T_INT4], 8)->symt;
|
||||||
|
@ -251,6 +254,7 @@ static void codeview_init_basic_types(struct module* module)
|
||||||
cv_basic_types[T_PRCHAR] = &symt_new_pointer(module, cv_basic_types[T_RCHAR], sizeof(void*))->symt;
|
cv_basic_types[T_PRCHAR] = &symt_new_pointer(module, cv_basic_types[T_RCHAR], sizeof(void*))->symt;
|
||||||
cv_basic_types[T_PWCHAR] = &symt_new_pointer(module, cv_basic_types[T_WCHAR], sizeof(void*))->symt;
|
cv_basic_types[T_PWCHAR] = &symt_new_pointer(module, cv_basic_types[T_WCHAR], sizeof(void*))->symt;
|
||||||
cv_basic_types[T_PCHAR16] = &symt_new_pointer(module, cv_basic_types[T_CHAR16], sizeof(void*))->symt;
|
cv_basic_types[T_PCHAR16] = &symt_new_pointer(module, cv_basic_types[T_CHAR16], sizeof(void*))->symt;
|
||||||
|
cv_basic_types[T_PCHAR32] = &symt_new_pointer(module, cv_basic_types[T_CHAR32], sizeof(void*))->symt;
|
||||||
cv_basic_types[T_PINT2] = &symt_new_pointer(module, cv_basic_types[T_INT2], sizeof(void*))->symt;
|
cv_basic_types[T_PINT2] = &symt_new_pointer(module, cv_basic_types[T_INT2], sizeof(void*))->symt;
|
||||||
cv_basic_types[T_PUINT2] = &symt_new_pointer(module, cv_basic_types[T_UINT2], sizeof(void*))->symt;
|
cv_basic_types[T_PUINT2] = &symt_new_pointer(module, cv_basic_types[T_UINT2], sizeof(void*))->symt;
|
||||||
cv_basic_types[T_PINT4] = &symt_new_pointer(module, cv_basic_types[T_INT4], sizeof(void*))->symt;
|
cv_basic_types[T_PINT4] = &symt_new_pointer(module, cv_basic_types[T_INT4], sizeof(void*))->symt;
|
||||||
|
|
|
@ -78,7 +78,8 @@ enum BasicType
|
||||||
btBit = 29,
|
btBit = 29,
|
||||||
btBSTR = 30,
|
btBSTR = 30,
|
||||||
btHresult = 31,
|
btHresult = 31,
|
||||||
btChar16 = 32
|
btChar16 = 32,
|
||||||
|
btChar32 = 33
|
||||||
};
|
};
|
||||||
|
|
||||||
/* kind of UDT */
|
/* kind of UDT */
|
||||||
|
|
|
@ -872,6 +872,7 @@ union codeview_fieldtype
|
||||||
#define T_INT8 0x0076 /* 64-bit signed int */
|
#define T_INT8 0x0076 /* 64-bit signed int */
|
||||||
#define T_UINT8 0x0077 /* 64-bit unsigned int */
|
#define T_UINT8 0x0077 /* 64-bit unsigned int */
|
||||||
#define T_CHAR16 0x007a /* 16-bit unicode char */
|
#define T_CHAR16 0x007a /* 16-bit unicode char */
|
||||||
|
#define T_CHAR32 0x007b /* 32-bit unicode char */
|
||||||
|
|
||||||
/* near pointers to basic types */
|
/* near pointers to basic types */
|
||||||
#define T_PVOID 0x0103 /* near pointer to void */
|
#define T_PVOID 0x0103 /* near pointer to void */
|
||||||
|
@ -905,6 +906,7 @@ union codeview_fieldtype
|
||||||
#define T_PINT8 0x0176 /* Near pointer to 64-bit signed int */
|
#define T_PINT8 0x0176 /* Near pointer to 64-bit signed int */
|
||||||
#define T_PUINT8 0x0177 /* Near pointer to 64-bit unsigned int */
|
#define T_PUINT8 0x0177 /* Near pointer to 64-bit unsigned int */
|
||||||
#define T_PCHAR16 0x017a /* Near pointer to 16-bit unicode char */
|
#define T_PCHAR16 0x017a /* Near pointer to 16-bit unicode char */
|
||||||
|
#define T_PCHAR32 0x017b /* Near pointer to 32-bit unicode char */
|
||||||
|
|
||||||
/* far pointers to basic types */
|
/* far pointers to basic types */
|
||||||
#define T_PFVOID 0x0203 /* Far pointer to void */
|
#define T_PFVOID 0x0203 /* Far pointer to void */
|
||||||
|
@ -938,6 +940,7 @@ union codeview_fieldtype
|
||||||
#define T_PFINT8 0x0276 /* Far pointer to 64-bit signed int */
|
#define T_PFINT8 0x0276 /* Far pointer to 64-bit signed int */
|
||||||
#define T_PFUINT8 0x0277 /* Far pointer to 64-bit unsigned int */
|
#define T_PFUINT8 0x0277 /* Far pointer to 64-bit unsigned int */
|
||||||
#define T_PFCHAR16 0x027a /* Far pointer to 16-bit unicode char */
|
#define T_PFCHAR16 0x027a /* Far pointer to 16-bit unicode char */
|
||||||
|
#define T_PFCHAR32 0x027b /* Far pointer to 32-bit unicode char */
|
||||||
|
|
||||||
/* huge pointers to basic types */
|
/* huge pointers to basic types */
|
||||||
#define T_PHVOID 0x0303 /* Huge pointer to void */
|
#define T_PHVOID 0x0303 /* Huge pointer to void */
|
||||||
|
@ -971,6 +974,7 @@ union codeview_fieldtype
|
||||||
#define T_PHINT8 0x0376 /* Huge pointer to 64-bit signed int */
|
#define T_PHINT8 0x0376 /* Huge pointer to 64-bit signed int */
|
||||||
#define T_PHUINT8 0x0377 /* Huge pointer to 64-bit unsigned int */
|
#define T_PHUINT8 0x0377 /* Huge pointer to 64-bit unsigned int */
|
||||||
#define T_PHCHAR16 0x037a /* Huge pointer to 16-bit unicode char */
|
#define T_PHCHAR16 0x037a /* Huge pointer to 16-bit unicode char */
|
||||||
|
#define T_PHCHAR32 0x037b /* Huge pointer to 32-bit unicode char */
|
||||||
|
|
||||||
/* 32-bit near pointers to basic types */
|
/* 32-bit near pointers to basic types */
|
||||||
#define T_32PVOID 0x0403 /* 32-bit near pointer to void */
|
#define T_32PVOID 0x0403 /* 32-bit near pointer to void */
|
||||||
|
@ -1005,6 +1009,7 @@ union codeview_fieldtype
|
||||||
#define T_32PINT8 0x0476 /* 16:32 near pointer to 64-bit signed int */
|
#define T_32PINT8 0x0476 /* 16:32 near pointer to 64-bit signed int */
|
||||||
#define T_32PUINT8 0x0477 /* 16:32 near pointer to 64-bit unsigned int */
|
#define T_32PUINT8 0x0477 /* 16:32 near pointer to 64-bit unsigned int */
|
||||||
#define T_32PCHAR16 0x047a /* 16:32 near pointer to 16-bit unicode char */
|
#define T_32PCHAR16 0x047a /* 16:32 near pointer to 16-bit unicode char */
|
||||||
|
#define T_32PCHAR32 0x047b /* 16:32 near pointer to 32-bit unicode char */
|
||||||
|
|
||||||
/* 32-bit far pointers to basic types */
|
/* 32-bit far pointers to basic types */
|
||||||
#define T_32PFVOID 0x0503 /* 32-bit far pointer to void */
|
#define T_32PFVOID 0x0503 /* 32-bit far pointer to void */
|
||||||
|
@ -1039,6 +1044,7 @@ union codeview_fieldtype
|
||||||
#define T_32PFINT8 0x0576 /* 16:32 far pointer to 64-bit signed int */
|
#define T_32PFINT8 0x0576 /* 16:32 far pointer to 64-bit signed int */
|
||||||
#define T_32PFUINT8 0x0577 /* 16:32 far pointer to 64-bit unsigned int */
|
#define T_32PFUINT8 0x0577 /* 16:32 far pointer to 64-bit unsigned int */
|
||||||
#define T_32PFCHAR16 0x057a /* 16:32 far pointer to 16-bit unicode char */
|
#define T_32PFCHAR16 0x057a /* 16:32 far pointer to 16-bit unicode char */
|
||||||
|
#define T_32PFCHAR32 0x057b /* 16:32 far pointer to 32-bit unicode char */
|
||||||
|
|
||||||
/* 64-bit near pointers to basic types */
|
/* 64-bit near pointers to basic types */
|
||||||
#define T_64PVOID 0x0603 /* 64-bit near pointer to void */
|
#define T_64PVOID 0x0603 /* 64-bit near pointer to void */
|
||||||
|
@ -1073,6 +1079,7 @@ union codeview_fieldtype
|
||||||
#define T_64PINT8 0x0676 /* 64 near pointer to 64-bit signed int */
|
#define T_64PINT8 0x0676 /* 64 near pointer to 64-bit signed int */
|
||||||
#define T_64PUINT8 0x0677 /* 64 near pointer to 64-bit unsigned int */
|
#define T_64PUINT8 0x0677 /* 64 near pointer to 64-bit unsigned int */
|
||||||
#define T_64PCHAR16 0x067a /* 64 near pointer to 16-bit unicode char */
|
#define T_64PCHAR16 0x067a /* 64 near pointer to 16-bit unicode char */
|
||||||
|
#define T_64PCHAR32 0x067b /* 64 near pointer to 32-bit unicode char */
|
||||||
|
|
||||||
/* counts, bit masks, and shift values needed to access various parts of the built-in type numbers */
|
/* counts, bit masks, and shift values needed to access various parts of the built-in type numbers */
|
||||||
#define T_MAXPREDEFINEDTYPE 0x0580 /* maximum type index for all built-in types */
|
#define T_MAXPREDEFINEDTYPE 0x0580 /* maximum type index for all built-in types */
|
||||||
|
|
Loading…
Reference in New Issue