|
From: <sv...@va...> - 2009-08-03 08:51:16
|
Author: tom
Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009)
New Revision: 10695
Log:
Handle some more DW_TAG_subrange_type cases which Fedora 11's
gcc 4.4.0 seems to generate.
Modified:
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 01:38:56 UTC (rev 10694)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 08:50:58 UTC (rev 10695)
@@ -2476,12 +2476,24 @@
boundE.Te.Bound.knownU = True;
boundE.Te.Bound.boundL = lower;
boundE.Te.Bound.boundU = upper;
- }
+ }
else if (have_lower && (!have_upper) && (!have_count)) {
boundE.Te.Bound.knownL = True;
boundE.Te.Bound.knownU = False;
boundE.Te.Bound.boundL = lower;
boundE.Te.Bound.boundU = 0;
+ }
+ else if ((!have_lower) && have_upper && (!have_count)) {
+ boundE.Te.Bound.knownL = False;
+ boundE.Te.Bound.knownU = True;
+ boundE.Te.Bound.boundL = 0;
+ boundE.Te.Bound.boundU = upper;
+ }
+ else if ((!have_lower) && (!have_upper) && (!have_count)) {
+ boundE.Te.Bound.knownL = False;
+ boundE.Te.Bound.knownU = False;
+ boundE.Te.Bound.boundL = 0;
+ boundE.Te.Bound.boundU = 0;
} else {
/* FIXME: handle more cases */
goto bad_DIE;
|