Yes, this partially fixed one warning message (which could be due to GCC3), though I still get the type mismatches. Example type mismatch (from your previous debugging code): Copyfield list mismatch (4<>1): enum CDecBorderDialogBarPage::__unnamed --invalid--* The --invalid-- is from code I added to prevent a NULL pointer being used (the in memory type info for the pointer was invalid). I also now only get this warning after the type mismatch warning. failure on _Bool:t(0,21)=@s8;-16; at ; Dave Hawkes ----- Original Message ----- From: "eric pouech" <eric.pouech(a)wanadoo.fr> To: "Dave Hawkes" <daveh-wine(a)cadlink.com> Cc: <wine-devel(a)winehq.com> Sent: Wednesday, November 21, 2001 5:03 PM Subject: Re: winedbg error
After some experimenting along the lines that you suggested (DEBUG_PrintTypeCast faulted!), hmmm may be the type isn't fully initialized... strange indeed
it may be that the problem is something to do with the 'bool' type as I now eventually get lots of errors like this: would the attached patch fix is someway ? if it does, I'll provide a more elaborate fix.
A+ -- --------------- Eric Pouech (http://perso.wanadoo.fr/eric.pouech/) "The future will be better tomorrow", Vice President Dan Quayle
---------------------------------------------------------------------------- ----
Index: stabs.c =================================================================== RCS file: /usr/share/cvs/cvsroot/wine/wine/debugger/stabs.c,v retrieving revision 1.41 diff -u -r1.41 stabs.c --- stabs.c 2001/08/10 22:29:21 1.41 +++ stabs.c 2001/11/21 22:01:31 @@ -516,8 +516,24 @@ new_dt = DEBUG_NewDataType(lo, ptd->buf + idx); ptd->idx = idx; break; + case '-': + if (DEBUG_PTS_ReadNum(ptd, &lo) == -1) { + DEBUG_Printf(DBG_CHN_MESG, "Should be a number...\n"); + return -1; + } + switch (lo) + { + case 1: new_dt = DEBUG_TypeInt; break; + case 7: new_dt = DEBUG_TypeShortUInt; break; + case 16: new_dt = DEBUG_TypeUSInt; break; + case 19: new_dt = DEBUG_TypeString; break; + default: + DEBUG_Printf(DBG_CHN_MESG, "Unsupported integral type (%d)\n", lo); + return -1; + } + break; default: - DEBUG_Printf(DBG_CHN_MESG, "Unknown type '%c'\n", *ptd->ptr); + DEBUG_Printf(DBG_CHN_MESG, "Unknown type '%c'\n", ptd->ptr[-1]); return -1; } }