<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'>This is now done. Native visualizers should now automagically work with VS2015 with no installation or configuration steps required.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> spertus.michael@gmail.com [mailto:spertus.michael@gmail.com] <b>On Behalf Of </b>Michael Spertus<br><b>Sent:</b> Sunday, March 20, 2016 8:39 PM<br><b>To:</b> Alexander Riccio <test35965@gmail.com><br><b>Cc:</b> Michael Spertus <mike_spertus@symantec.com>; cfe-dev@lists.llvm.org<br><b>Subject:</b> Re: [cfe-dev] Visual Studio visualizer improvements for Clang<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><div><div><div><p class=MsoNormal>Hi Alexander,<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>I also thought about doing having CMake put the .natvis files in llvm.sln, but I held back because that doesn't work with MSVC2013. Should we wait until VS2013 support is dropped, or do you know how to make CMake only add them to the projects for VS2015 and up?<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>Thanks,<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'>Mike<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Sun, Mar 20, 2016 at 8:33 PM, Alexander Riccio <<a href="mailto:test35965@gmail.com" target="_blank">test35965@gmail.com</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Whoops, sorry, it was in llvm-dev.<br><br>Here's the last message in the thread: <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-January/094608.html" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2016-January/094608.html</a><br><br>sent from my (stupid) windows phone<o:p></o:p></span></p></div></div><div><div class=MsoNormal align=center style='text-align:center'><hr size=4 width="100%" align=center></div><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="mailto:mike@spertus.com" target="_blank">Michael Spertus</a></span><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Sent: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>‎3/‎20/‎2016 9:21 PM</span><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>To: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="mailto:test35965@gmail.com" target="_blank">Alexander Riccio</a></span><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Cc: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="mailto:mike_spertus@symantec.com" target="_blank">Michael Spertus</a>; <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a></span><o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Subject: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Re: [cfe-dev] Visual Studio visualizer improvements for Clang</span><o:p></o:p></p></div></div></div><div><div><div><div><p class=MsoNormal>Hi Alexander,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Can you be more specific? I'm afraid I can't find the discussion.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Thanks!<o:p></o:p></p></div><div><p class=MsoNormal>Mike<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Wed, Mar 16, 2016 at 7:35 PM, Alexander Riccio via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><div><div><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>I've been away for a week (and will be for ~one more), but I've long wanted to write a patch for CMake so that it'd link to the natvis that's part of LLVM's repo. I think you can find the discussion in the January cfe-dev archives, and if you're up to it, go right ahead!<br><br>My local install of git is all screwed up, and since CMake uses git, I haven't gotten around to it.<br><br>sent from my (stupid) windows phone<o:p></o:p></span></p></div></div><div><div class=MsoNormal align=center style='text-align:center'><hr size=4 width="100%" align=center></div><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">Michael Spertus via cfe-dev</a></span><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Sent: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>‎3/‎16/‎2016 4:17 PM</span><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>To: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a></span><o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><br><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Subject: </span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Re: [cfe-dev] Visual Studio visualizer improvements for Clang</span><o:p></o:p></p></div></div></div><div><div><p class=MsoNormal>Not unlike gdb visualizers, Visual Studio visualizers require some setup: You have to put clang.natvis and llvm.natvis in Documents\Visual Studio 20xx\Visualizers. However, VS2015 added support for visualizers in a project. Once we stop supporting VS2013, we will be able to automagically eliminate the manual setup. Is there a timeline for dropping VS2013 support?<br><br>Mike<br><br>-----Original Message-----<br>From: cfe-dev [mailto:<a href="mailto:cfe-dev-bounces@lists.llvm.org" target="_blank">cfe-dev-bounces@lists.llvm.org</a>] On Behalf Of Jonathan Roelofs via cfe-dev<br>Sent: Wednesday, March 16, 2016 12:21 PM<br>To: C Bergström <<a href="mailto:cbergstrom@pathscale.com" target="_blank">cbergstrom@pathscale.com</a>>; David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>><br>Cc: <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>Subject: Re: [cfe-dev] Visual Studio visualizer improvements for Clang<br><br><br><br>On 3/16/16 11:16 AM, C Bergström via cfe-dev wrote:<br>> Cool results, but XML - ewwie..<br>> ---------<br>> I digress - What's lldb do in this case?<br><br><a href="https://github.com/llvm-mirror/llvm/blob/master/utils/lldbDataFormatters.py" target="_blank">https://github.com/llvm-mirror/llvm/blob/master/utils/lldbDataFormatters.py</a><br><br>><br>> On Thu, Mar 17, 2016 at 1:14 AM, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a> <br>> <mailto:<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>>> wrote:<br>><br>>     FWIW, GDB has a visualizer system in python - I wrote up some<br>>     visualizers for SmallVector, etc, but I couldn't find a way to plug<br>>     them in for free into GDB (everything required some reconfiguration<br>>     of GDB to point to a script directory or the like). I might check<br>>     them in anyway with a README telling people how to set them up if<br>>     they want to.<br>><br>>     On Wed, Mar 16, 2016 at 9:59 AM, C Bergström <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>>     <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>> wrote:<br>><br>>         Looks cool! I'm not a VS guy - how did you achieve this? Was<br>>         there some source changes in clang or is this a plugin that<br>>         leverages clang for VS?<br>><br>>         Thanks<br>><br>>         On Wed, Mar 16, 2016 at 11:04 PM, Michael Spertus via cfe-dev<br>>         <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>> wrote:<br>><br>>             Chandler suggested that I socialize the improvements that I<br>>             have been making to Clang data structure visualizations in<br>>             Visual Studio. For example, these changes replace the<br>>             traditional incomprehensible Locals/Watch display of a<br>>             TemplateArgumentLoc____<br>><br>>             __ __<br>><br>>             ____<br>><br>>             __ __<br>><br>>             Now it clearly displays that it is a Type Template Parameter<br>>             where T has been replaced by struct A.____<br>><br>>             ____<br>><br>>             __ __<br>><br>>             I only have a small portion of the Clang data types done so<br>>             far, but it is already really helping me keep track of what<br>>             is going on while debugging Clang (It’s also been an<br>>             excellent way for me to learn Clang data structures J ). I<br>>             will be continuing to add further visualizations over the<br>>             next few weeks and ongoing. ____<br>><br>>             __ __<br>><br>>             I hope these prove helpful to the community,____<br>><br>>             __ __<br>><br>>             Mike____<br>><br>><br>>             _______________________________________________<br>>             cfe-dev mailing list<br>>             <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>>             <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>><br>><br>><br>>         _______________________________________________<br>>         cfe-dev mailing list<br>>         <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a> <mailto:<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>>         <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>><br>><br>><br>><br>><br>> _______________________________________________<br>> cfe-dev mailing list<br>> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>><br><br>--<br>Jon Roelofs<br><a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a><br>CodeSourcery / Mentor Embedded<br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><o:p></o:p></p></div></div></div><p class=MsoNormal style='margin-bottom:12.0pt'><br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><o:p></o:p></p></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>