summaryrefslogtreecommitdiffstats
path: root/src/dwarf2pdb.cpp
diff options
context:
space:
mode:
authorRainer Schuetze <r.sagitario@gmx.de>2017-05-14 12:12:33 (GMT)
committerRainer Schuetze <r.sagitario@gmx.de>2017-05-14 12:12:33 (GMT)
commitc1c515d00cedc8cb7453616bf0da80141b62454f (patch)
treedba288aea3f9db168a09c081b4dce51876e03b3d /src/dwarf2pdb.cpp
parent6a674227105beb86280b2cbe4b46779be3a81d3e (diff)
downloadcv2pdb-c1c515d00cedc8cb7453616bf0da80141b62454f.zip
cv2pdb-c1c515d00cedc8cb7453616bf0da80141b62454f.tar.gz
cv2pdb-c1c515d00cedc8cb7453616bf0da80141b62454f.tar.bz2
add mago support for AA with dmd >= 2.068
prefer struct over class for internal structs handle class/struct property "uniquename" mark source language as 'D' for dmd >= 2.072
Diffstat (limited to 'src/dwarf2pdb.cpp')
-rw-r--r--src/dwarf2pdb.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/dwarf2pdb.cpp b/src/dwarf2pdb.cpp
index 09c68d3..2520279 100644
--- a/src/dwarf2pdb.cpp
+++ b/src/dwarf2pdb.cpp
@@ -867,7 +867,7 @@ int CV2PDB::addDWARFStructure(DWARF_InfoData& structid, DWARF_CompilationUnit* c
const char* name = (structid.name ? structid.name : "__noname");
int attr = fieldlistType ? 0 : kPropIncomplete;
- int len = addAggregate(cvt, false, nfields, fieldlistType, attr, 0, 0, structid.byte_size, name);
+ int len = addAggregate(cvt, false, nfields, fieldlistType, attr, 0, 0, structid.byte_size, name, nullptr);
cbUserTypes += len;
//ensureUDT()?
@@ -948,8 +948,9 @@ bool CV2PDB::addDWARFTypes()
// COMPILAND
cvs = (codeview_symbol*) (data + off);
cvs->compiland_v1.id = S_COMPILAND_V1;
- cvs->compiland_v1.unknown = 0x800100; // ?, 0x100: C++,
- cvs->compiland_v1.unknown |= img.isX64() ? 0xd0 : 6; //0x06: Pentium Pro/II, 0xd0: x64
+ cvs->compiland_v1.language = 1; // C++
+ cvs->compiland_v1.flags = 0x80; // ?, data model
+ cvs->compiland_v1.machine = img.isX64() ? 0xd0 : 6; //0x06: Pentium Pro/II, 0xd0: x64
len = sizeof(cvs->compiland_v1) - sizeof(cvs->compiland_v1.p_name);
len += c2p("cv2pdb", cvs->compiland_v1.p_name);
for (; len & (align-1); len++)