From 33e49f0ed70a8277e0b14365c823accb9c29f120 Mon Sep 17 00:00:00 2001 From: sagitario Date: Mon, 14 Jun 2010 17:56:16 +0000 Subject: when a dynamic array type is detected for a DMC compiled executable (command option -C is used), it is converted to int64 (fixing DMC bug) --- CHANGES | 5 +++++ VERSION | 2 +- src/cv2pdb.cpp | 14 ++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 528bc89..c396bf2 100644 --- a/CHANGES +++ b/CHANGES @@ -96,3 +96,8 @@ Version history * adapted to mspdb100.dll which comes with VS2010 * tweaked autoexp.dat modifications to be more stable with uninitialized data * autoexp.snippet now split into two files: autoexp.expand and autoexp.visualizer + +not released Version 0.14 + + * when a dynamic array type is detected for a DMC compiled executable (command + option -C is used), it is converted to int64 (fixing DMC bug) diff --git a/VERSION b/VERSION index dc33958..0f273a4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -VERSION = 0.13 +VERSION = 0.14 diff --git a/src/cv2pdb.cpp b/src/cv2pdb.cpp index a934d2f..937a397 100644 --- a/src/cv2pdb.cpp +++ b/src/cv2pdb.cpp @@ -1776,8 +1776,18 @@ bool CV2PDB::initGlobalTypes() if (oem->common.oemid == 0x42 && oem->common.id == 1) { - const char* name = appendDynamicArray(oem->d_dyn_array.index_type, oem->d_dyn_array.elem_type); - len = addClass(dtype, 0, 0, kIncomplete, 0, 0, 0, name); + if(Dversion == 0) // in dmc, this is used for (u)int64 + { + dtype->modifier_v2.id = LF_MODIFIER_V2; + dtype->modifier_v2.attribute = 0; + dtype->modifier_v2.type = 0x13; + len = sizeof(dtype->modifier_v2); + } + else + { + const char* name = appendDynamicArray(oem->d_dyn_array.index_type, oem->d_dyn_array.elem_type); + len = addClass(dtype, 0, 0, kIncomplete, 0, 0, 0, name); + } } else if (oem->common.oemid == 0x42 && oem->common.id == 3) { -- cgit v0.12