<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 14, 2016, at 4:42 PM, Duncan P. N. Exon Smith <<a href="mailto:dexonsmith@apple.com" class="">dexonsmith@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><blockquote type="cite" class="">On 2016-Aug-13, at 16:37, Mehdi Amini <<a href="mailto:mehdi.amini@apple.com" class="">mehdi.amini@apple.com</a>> wrote:<br class=""><br class=""><br class=""><blockquote type="cite" class="">On Aug 13, 2016, at 2:54 PM, Duncan P. N. Exon Smith via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a>> wrote:<br class=""><br class=""><br class=""><blockquote type="cite" class="">On 2016-Aug-12, at 17:31, Duncan P. N. Exon Smith via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a>> wrote:<br class=""><br class=""><blockquote type="cite" class=""><br class="">================<br class="">Comment at: include/llvm/ADT/ilist.h:324<br class="">@@ -424,7 +323,3 @@<br class=""><br class="">-  iplist() : Head(this->provideInitialHead()) {}<br class="">-  ~iplist() {<br class="">-    if (!Head) return;<br class="">-    clear();<br class="">-    Traits::destroySentinel(getTail());<br class="">-  }<br class="">+  iplist() = default;<br class="">+  ~iplist() { clear(); }<br class="">----------------<br class="">Could be removed?<br class=""></blockquote><br class="">Certainly the destructor needs to stay.  I'll remove the default constructor if it still compiles (but I'm always wary about what will or will not compile on MSVC...)<br class=""></blockquote><br class="">BTW, this didn't compile without `iplist() = default`.<br class=""></blockquote><br class="">Interesting, what was the reason?<br class=""></blockquote><div class=""><br class=""></div><div class="">Specifically:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(255, 255, 255); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">/Users/dexonsmith/data/llvm/working/include/llvm/ADT/ilist.h:599:3: </b></span><span style="font-variant-ligatures: no-common-ligatures; color: #ff3b1e" class=""><b class="">error: </b></span><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">constructor for 'llvm::ilist<llvm::yaml::Token>' must explicitly initialize the base class 'iplist<llvm::yaml::Token>' which does not have a default constructor</b></span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(244, 244, 244); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">  ilist() {}</span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(46, 231, 33); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">  ^</b></span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(244, 244, 244); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #ffffff" class=""><b class="">/Users/dexonsmith/data/llvm/working/lib/Support/YAMLParser.cpp:751:10: </b></span><span style="font-variant-ligatures: no-common-ligatures; color: #828282" class=""><b class="">note: </b></span><span style="font-variant-ligatures: no-common-ligatures" class="">in instantiation of member function 'llvm::ilist<llvm::yaml::Token>::ilist' requested here</span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(244, 244, 244); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">Scanner::Scanner(StringRef Input, SourceMgr &sm, bool ShowColors)</span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(46, 231, 33); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">         ^</b></span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(244, 244, 244); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #ffffff" class=""><b class="">/Users/dexonsmith/data/llvm/working/include/llvm/ADT/ilist.h:284:7: </b></span><span style="font-variant-ligatures: no-common-ligatures; color: #828282" class=""><b class="">note: </b></span><span style="font-variant-ligatures: no-common-ligatures" class="">'llvm::iplist<llvm::yaml::Token, llvm::ilist_traits<llvm::yaml::Token> >' declared here</span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(244, 244, 244); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">class iplist : public Traits, ilist_node_access {</span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(46, 231, 33); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><b class="">      ^</b></span></div><div style="margin: 0px; line-height: normal; font-family: Menlo; color: rgb(244, 244, 244); background-color: rgb(0, 0, 0);" class=""><span style="font-variant-ligatures: no-common-ligatures" class="">1 error generated.</span></div></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">I assume this is because of:</span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><div class="">iplist(const iplist &) = delete;</div></span></div></blockquote></div></div></blockquote><div><br class=""></div>Makes sense, I missed this copy ctor deletion…</div><div><br class=""></div><div>— </div><div>Mehdi</div><div><br class=""></div></body></html>