summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <derodat@adacore.com>2017-03-22 15:04:32 (GMT)
committerPierre-Marie de Rodat <derodat@adacore.com>2018-03-23 18:02:45 (GMT)
commitc31c964d3bbf9a51e2e8f62eafe5038c0ba8ca30 (patch)
tree1d5691d90645dd137a8e59c0f96e5f78e87436f8 /src
parentdcf824977d9529b610b798258ceebc595de24d4e (diff)
downloadcv2pdb-c31c964d3bbf9a51e2e8f62eafe5038c0ba8ca30.zip
cv2pdb-c31c964d3bbf9a51e2e8f62eafe5038c0ba8ca30.tar.gz
cv2pdb-c31c964d3bbf9a51e2e8f62eafe5038c0ba8ca30.tar.bz2
CV2PDB::createTypes: materialize subranges as modifiers for base types
Diffstat (limited to 'src')
-rw-r--r--src/dwarf2pdb.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dwarf2pdb.cpp b/src/dwarf2pdb.cpp
index 8ccde34..2f41d97 100644
--- a/src/dwarf2pdb.cpp
+++ b/src/dwarf2pdb.cpp
@@ -1238,6 +1238,12 @@ bool CV2PDB::createTypes()
cvtype = appendPointerType(getTypeByDWARFPtr(cu, id.type), pointerAttr | 0x20);
break;
+ case DW_TAG_subrange_type:
+ // It seems we cannot materialize bounds for scalar types in
+ // CodeView, so just redirect to a mere base type.
+ cvtype = appendModifierType(getTypeByDWARFPtr(cu, id.type), 0);
+ break;
+
case DW_TAG_class_type:
case DW_TAG_structure_type:
case DW_TAG_union_type:
@@ -1247,7 +1253,6 @@ bool CV2PDB::createTypes()
cvtype = addDWARFArray(id, cu, cursor.getSubtreeCursor());
break;
case DW_TAG_subroutine_type:
- case DW_TAG_subrange_type:
case DW_TAG_enumeration_type:
case DW_TAG_string_type: