As this code is literally a copy of demangler sources from another project with strategic bug fixes I would recommend leaving it as is. It is possible that it will be replaced wholesale from time to time until I find the time to finish replacing it with the fast demangler.
Kate Stone k8st...@apple.com <mailto:k8st...@apple.com> Xcode Runtime Analysis Tools > On Feb 18, 2015, at 10:27 AM, Zachary Turner <ztur...@google.com> wrote: > > Yea I figured this wasn't going to be a problem because the demangling path > on Windows is like 10 lines to call into a Windows API to demangle for us. > On the other hand, it looks like an easy fix to change it to not use template > aliases. But since for all practical purposes Windows is the only platform > that this matters for, I guess someone who is more of a style guide purist > than me would have to make the change as I'm not motivated enough to do so. > Looks like just a couple of simple replacements though. > > As long as we don't use template aliases for new code going forward though, > I'm happy. They're mostly just syntactic sugar anyway, so they're never > necessary to achieve something that you couldn't do otherwise. > > On Wed Feb 18 2015 at 10:21:45 AM <jing...@apple.com > <mailto:jing...@apple.com>> wrote: > 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 > > <mailto: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 > > <mailto:ztur...@google.com>> wrote: > > +lldb-dev@cs.uiuc.edu <mailto: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 > > <mailto: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 > > <mailto:vhar...@google.com> | 858-442-0868 > > > > > > _______________________________________________ > > lldb-dev mailing list > > lldb-dev@cs.uiuc.edu <mailto:lldb-dev@cs.uiuc.edu> > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > <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
_______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev