diff options
author | sagitario <sagitario@fc51e93f-b9fe-4711-8d8d-3ae870c5f7d8> | 2009-07-16 05:58:32 (GMT) |
---|---|---|
committer | sagitario <sagitario@fc51e93f-b9fe-4711-8d8d-3ae870c5f7d8> | 2009-07-16 05:58:32 (GMT) |
commit | 30d687065dd8a921c3d28c2076fc5b4be32040ee (patch) | |
tree | 1a53eefb5152e7394a90585002bc86e2fb6bc957 | |
parent | d2251150c76d9c2b139c3cc86aeaedd99ba2d03d (diff) | |
download | cv2pdb-30d687065dd8a921c3d28c2076fc5b4be32040ee.zip cv2pdb-30d687065dd8a921c3d28c2076fc5b4be32040ee.tar.gz cv2pdb-30d687065dd8a921c3d28c2076fc5b4be32040ee.tar.bz2 |
skip friend function declarations
-rw-r--r-- | TODO | 4 | ||||
-rw-r--r-- | src/cv2pdb.cpp | 8 |
2 files changed, 12 insertions, 0 deletions
@@ -23,3 +23,7 @@ in the future, but not all have a known solution. * enum values not displayed
* map dchar to something displayable
* workaround for ulong (written by DMD as int[])
+* watch incorrect if same variable name used in different parts of a function
+* rtti display: disable for structs
+* line number in templates sometimes off by 1 or 2
+* call to other function sometimes jumps to called function while still pushing args
diff --git a/src/cv2pdb.cpp b/src/cv2pdb.cpp index 4db93b1..6f241b4 100644 --- a/src/cv2pdb.cpp +++ b/src/cv2pdb.cpp @@ -565,6 +565,14 @@ int CV2PDB::addFields(codeview_reftype* dfieldlist, const codeview_reftype* fiel copylen = sizeof(dfieldtype->vfunctab_v2); break; + // throw away friend function declarations, there is no v3 replacement and the debugger won't need them + case LF_FRIENDFCN_V1: + pos += sizeof(fieldtype->friendfcn_v1) + fieldtype->friendfcn_v1.p_name.namelen - 1; + continue; + case LF_FRIENDFCN_V2: + pos += sizeof(fieldtype->friendfcn_v2) + fieldtype->friendfcn_v2.p_name.namelen - 1; + continue; + default: setError("unsupported field entry"); break; |