<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 15, 2014 at 2:58 AM, Frédéric 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><blockquote type="cite"><div>On 15 Sep 2014, at 11:51, Chandler Carruth <<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>> wrote:</div><br><div><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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div 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></div></blockquote><div><br></div></span><div>Sorry about that, I’m not seeing anything here… what kind of warnings? There was an ambiguous type aliasing issue that I corrected in r217751 (only diagnosed by GCC btw).</div></blockquote></div><br>../lib/DebugInfo/DWARFUnit.h:33:7: warning: 'llvm::DWARFUnitSectionBase' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Not sure if I have a busted compiler, but I'm self hosting with Clang...</div></div>