<div dir="ltr">I removed the alias template from <span style="color:rgb(38,38,38);font-size:13px;line-height:16px">GDBRemoteCommunicationServerC</span><font color="#262626"><span style="line-height:16px">ommon.h but there are still some template aliases in the code base. Based on my first check (not necessarily complete) I find two more usage of template aliases in source/Core/Mangled.cpp lines 4867 and 4868. I have no idea about how that part of the code works and if it can cause any issue with MSVC or not but we should consider removing it also (it is in the code base since </span><span style="line-height:16px">2013-10-30).</span></font><div><font color="#262626"><span style="line-height:16px"><br></span></font></div><div><font color="#262626"><span style="line-height:16px">Tamas</span></font></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 11:33 PM, Zachary Turner <span dir="ltr"><<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><a href="mailto:lldb-dev@cs.uiuc.edu" target="_blank">+lldb-dev@cs.uiuc.edu</a>  since this is of general interest.<div><br></div><div>A little background: template aliases are a new C++11 feature.  If you aren't familiar with it, then the simple TL;DR version of it is that it's like a template typedef.  The syntax for using one looks like this:</div><div><br></div><div>template<class T></div><div>using Foo = std::list<T>   // Foo<T> is the same as std::list<T> now.</div><div><br></div><div>Up until last weekend, LLVM's minimum toolchain requirement was MSVC 2012, which did not support template aliases at all, so they were banned.  Last weekend we upgraded the minimum required version to MSVC 2013, which we thought would allow template aliases to be used.  Unfortunately, this is not the case.  A base install of MSVC 2013 with no updaets will still not compile template aliases.  I believe we're actually requiring MSVC 2013 Update 4 as the baseline, but sadly this doesn't fix the problem.  A fully updated MSVC 2013 will compile them, but generate incorrect code.  This is more sinister, since it means you can use them, but the code won't work.</div><div><br></div><div>As a result, template aliases are still banned until we upgrade the minimum required version to 2015, which will still be a while as it's not officially out yet.  Please keep this in mind and try not to use them when writing new code.  Thanks!</div><div><br></div><div><br><br><div class="gmail_quote">On Tue Feb 17 2015 at 3:21:03 PM Vince Harron <<a href="mailto:vharron@google.com" target="_blank">vharron@google.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Tamas,<div><br></div><div>zturner@ informed me that MSVC 2013 doesn't generate correct code for template alases.  Can you remove your use on </div><div><br></div><div>"<span style="color:rgb(38,38,38);font-size:13px;line-height:16px">GDBRemoteCommunicationServerCommon.h, lines 182 and 183"</span></div><div><font color="#262626"><span style="line-height:16px"><br></span></font></div><div><font color="#262626"><span style="line-height:16px">Thanks,</span></font></div><div><font color="#262626"><span style="line-height:16px"><br></span></font></div><div><font color="#262626"><span style="line-height:16px">Vince</span></font></div></div><div dir="ltr"><div><font color="#262626"><span style="line-height:16px"><br clear="all"></span></font><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><div><div dir="ltr"><br><table cellspacing="0" cellpadding="0" style="font-family:'Times New Roman'"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small"><td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Vince Harron |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Technical Lead Manager |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:vharron@google.com" target="_blank">vharron@google.com</a> |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"> <a href="tel:858-442-0868" value="+18584420868" target="_blank">858-442-0868</a></td></tr></tbody></table><br></div></div>
</font></span></div></div></blockquote></div></div></div>
</blockquote></div><br></div>