summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <derodat@adacore.com>2017-04-24 12:55:42 (GMT)
committerPierre-Marie de Rodat <derodat@adacore.com>2018-03-23 18:02:47 (GMT)
commit5d21c1244db94552c3acddbcf23ad4bca4d91e73 (patch)
tree827a0fa4773f94859d932771f6ef0d3f6bde0927
parentbd4e49ef5163a9708c88ccbfc92bea0a56b67a16 (diff)
downloadcv2pdb-5d21c1244db94552c3acddbcf23ad4bca4d91e73.zip
cv2pdb-5d21c1244db94552c3acddbcf23ad4bca4d91e73.tar.gz
cv2pdb-5d21c1244db94552c3acddbcf23ad4bca4d91e73.tar.bz2
Ignore, but still allow block and string forms for DW_AT_const_value
-rw-r--r--src/readDwarf.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/readDwarf.cpp b/src/readDwarf.cpp
index f993f68..c91776c 100644
--- a/src/readDwarf.cpp
+++ b/src/readDwarf.cpp
@@ -506,9 +506,22 @@ bool DIECursor::readNext(DWARF_InfoData& id, bool stopAtNull)
case DW_AT_frame_base: id.frame_base = a; break;
case DW_AT_language: assert(a.type == Const); id.language = a.cons; break;
case DW_AT_const_value:
- assert(a.type == Const);
- id.const_value = a.cons;
- id.has_const_value = true;
+ switch (a.type)
+ {
+ case Const:
+ id.const_value = a.cons;
+ id.has_const_value = true;
+ break;
+
+ // TODO: handle these
+ case String:
+ case Block:
+ break;
+
+ default:
+ assert(false);
+ break;
+ }
break;
}
}