> + case 'k': /* 'const' modifier */ > + case 'B': /* 'volatile' modifier */ > + /* just kinda ignore the modifier, I guess -gmt */ > + if (DEBUG_PTS_ReadTypedef(ptd, NULL, &ref_dt) == -1) return -1; > + new_dt = DEBUG_NewDataType(DEBUG_GetType(ref_dt), NULL); > + /* I don't get this.. but I figure this is kind of like "r" > + so I cut and pasted from there ... -gmt */ > + assert(!*DEBUG_FileSubNr2StabEnum(filenr1, subnr1)); > + *DEBUG_FileSubNr2StabEnum(filenr1, subnr1) = new_dt; > break; > case '(': > ptd->ptr--; this should rather be: + break; + case 'k': /* 'const' modifier */ + case 'B': /* 'volatile' modifier */ + /* just kinda ignore the modifier, I guess -gmt */ + if (DEBUG_PTS_ReadTypedef(ptd, NULL, &new_dt) == -1) return -1;
patch is untested anyway (gcc 2.95 doesn't emit those, even in -g3 mode) however, it's strange that your gdb like debuggers crash in -gstabs2 mode IMO, we should keep (as of today) wine in -gstabs2 mode and not jump to level 3 A+