<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 15, 2014 at 12:50 AM, Frederic Riss <span dir="ltr"><<a href="mailto:friss@apple.com" target="_blank">friss@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":2l3" class="a3s" style="overflow:hidden">+/// Base class for all DWARFUnitSection classes. This provides the<br>
+/// functionality common to all unit types.<br>
+class DWARFUnitSectionBase {<br>
+public:<br>
+  /// Returns the Unit that contains the given section offset in the<br>
+  /// same section this Unit originated from.<br>
+  virtual DWARFUnit *getUnitForOffset(uint32_t Offset) const = 0;<br></div></blockquote><div><br></div><div>This, through every instantiation of the below template:</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":2l3" class="a3s" style="overflow:hidden">
+};<br>
+<br>
+/// Concrete instance of DWARFUnitSection, specialized for one Unit type.<br>
+template<typename UnitType><br>
+class DWARFUnitSection : public SmallVector<std::unique_ptr<UnitType>, 1>,<br>
+                         public DWARFUnitSectionBase {</div></blockquote></div><br>Is causing *massive* spews of warnings. =/</div><div class="gmail_extra"><br></div><div class="gmail_extra">And what is even going on here? Multiple inheritance between a SmallVector and something else??? This can't really be the right design? I'm very confused.</div></div>