1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-01 07:14:31 +00:00

dbghelp: Support redefinition of a range statement.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56168
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
This commit is contained in:
Eric Pouech 2024-01-15 11:55:36 +01:00 committed by Alexandre Julliard
parent 0ab411a047
commit 585e9d4985

View File

@ -819,9 +819,15 @@ static int stabs_pts_read_type_def(struct ParseTypedefData* ptd, const char* typ
PTS_ABORTIF(ptd, stabs_pts_read_array(ptd, &new_dt) == -1);
break;
case 'r':
PTS_ABORTIF(ptd, stabs_pts_read_range(ptd, typename, &new_dt) == -1);
assert(!*stabs_find_ref(filenr1, subnr1));
*stabs_find_ref(filenr1, subnr1) = new_dt;
{
struct symt** prev_dt;
PTS_ABORTIF(ptd, stabs_pts_read_range(ptd, typename, &new_dt) == -1);
prev_dt = stabs_find_ref(filenr1, subnr1);
/* allow redefining with same base type */
if (*prev_dt && *prev_dt != new_dt) WARN("Multiple range def in %ls\n", ptd->module->module.ModuleName);
else *prev_dt = new_dt;
}
break;
case 'f':
PTS_ABORTIF(ptd, stabs_pts_read_type_def(ptd, NULL, &ref_dt) == -1);