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:
parent
0ab411a047
commit
585e9d4985
1 changed files with 9 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue