That code is actually from a copy of the llvm cxa_demangle.cpp (look at the comment around line 33 of that file.
We had to include this because the demangler that shipped with the system for certain OS X releases crashed for some bad input. We couldn't get a fix into the OS right away, so we put a fixed version into lldb. You will only use it if you define LLDB_USE_BUILTIN_DEMANGLER, presumably you wouldn't do that on Windows. I don't think we need to muck with this code... Jim > On Feb 18, 2015, at 3:55 AM, Tamas Berghammer <tbergham...@google.com> wrote: > > I removed the alias template from GDBRemoteCommunicationServerCommon.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 2013-10-30). > > Tamas > > On Tue, Feb 17, 2015 at 11:33 PM, Zachary Turner <ztur...@google.com> wrote: > +lldb-dev@cs.uiuc.edu since this is of general interest. > > 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: > > template<class T> > using Foo = std::list<T> // Foo<T> is the same as std::list<T> now. > > 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. > > 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! > > > > On Tue Feb 17 2015 at 3:21:03 PM Vince Harron <vhar...@google.com> wrote: > Hi Tamas, > > zturner@ informed me that MSVC 2013 doesn't generate correct code for > template alases. Can you remove your use on > > "GDBRemoteCommunicationServerCommon.h, lines 182 and 183" > > Thanks, > > Vince > > > -- > > Vince Harron | Technical Lead Manager | vhar...@google.com | > 858-442-0868 > > > _______________________________________________ > lldb-dev mailing list > lldb-dev@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev